编者按:对于加密货币,如果你只知道比特币的话,已经OUT了。现在涌现出了新一代的加密货币,不仅交易快速,而且无手续费,无矿工。其中的最具代表性的就是IOTA和RaiBlocks。它们背后的技术原理是什么?发展前景如何?PeterRyszkiewicz在hackernoon上发表了一篇文章详细地介绍了这两个加密货币。文章由36氪编译。
新一代的加密货币越来越受欢迎,它们具有快速、无手续费、无矿工的的特征。目前,只有少数几种这样的加密货币比较成熟,IOTA和RaiBlocks是最突出的两个。他们在如何实施FFM的方式上有很大的不同。这意味着他们在执行方式,复杂性和健壮性方面有不同的特点。我将在以下几节中讨论这些问题。
总的来说,我认为这些发明非常棒,我们需要在FFM加密技术领域进行更多的竞争和研究。一些竞争者和模仿者已经开始出现,例如Radix,这听起来很有趣,但仍在开发中。很难说是否会有“一个加密技术来统治所有”,因为这些不同的加密算法会有不同的表现,并专门针对不同的用例。
采矿的问题
最近,由于人们对采矿的能源需求和全球变暖的影响进行了计算,采矿活动受到了极大的打击。下面是AndreasM.Antonopoulos在YouTube上的一个有趣的反驳。虽然在很多方面都在理,但他并没有完全说服我。
当你有动力去花费惊人的精力去发送交易时,就会产生一个效率低下,不可持续的系统,而且难以修复。已经存在的矿工不希望昂贵的AntMiner,GPU和CPU被浪费掉。所以这些投资者将会推出像以太坊的股权证明这样的模式。我的确认为,他们所持股份的证明是朝着正确方向迈出的一步。让这些矿工发生转变,破坏他们最初的商业模式和投资,将是非常具有挑战性的。
有“第二层”的方法来对抗这种效率低下的问题,比如比特币的闪电网络和以太坊的Raiden网络。就连IOTA也有自己的第二层,叫做FlashChannels。但这其中仍然存在一些问题。最简单的反驳是,你需要有人来主持、维护和迭代第二层,这会带来费用。理论上,这一费用比第一层的正常交易费用要小。但这是一笔费用,这让我们又回到了VISA市场。另一个问题是,它侵蚀了这些加密货币的分散化操作。我认为,这需要付出很大的努力,不仅要全面实施这些系统,还要让它们变得更健壮、更安全、更易于维护。
另一个问题是,挖矿似乎正在导致“哈希权”集中化。出于某种原因,我们没有像人们希望的那样,在这一领域看到太多的竞争。基本上,中国在世界范围内产生了绝大多数比特币的矿业力量,如果这些公司串通起来,这最终可能导致对比特币进行双重攻击的问题。
这些加密技术是如何发挥作用的呢?
为了在IOTA网络上发送交易,客户端必须在网络中的两个以前的事务上执行最低限度的计算。这些计算需要几秒到几分钟的时间,这取决于你的GPU的功耗和你的运气。一旦你成功地完成了所需的工作验证,你的数据集就会被广播到IOTA网络上,在那里等待未来交易的确认。这是一种前付费类型的系统。一旦你的交易从别人的交易中获得了足够的确认,你的交易就会被视为完全确认。
从理论上讲,网络上发生的交易越多,交易得到确认的速度就越快。在IOTA的早期,这只需要几分钟。目前,由于拥堵问题,确认率和确认时间受到了延误。考虑到IOTA的“无限可扩展性”,这似乎是自相矛盾的。但在我看来,作为开发人员和节点操作员,可以查看节点代码本身,从而进行很多优化来加快这一过程。在运行节点时,我遇到过很多CPU峰值和内存泄漏的情况,但我相信这些只是技术问题,可以用几百个工程时来解决。
一个巨大的改进方法将是将节点代码从Java移植到Rust或另一个高级,高性能,可移植的编程语言。Java非常易于学习,作为一种高级的、面向对象的编程语言,有许多优秀的特性。但是它必须通过JVM来运行,这是以牺牲性能为代价的。
RaiBlocks在一种名为“块格”的加密架构上运行。他们提供了一个很好的wiki页面,描述了这是如何工作的。其要点在于,RaiBlocks不仅仅是像比特币或者以太坊这样的长链区块链,它是一个区块链数据库,每个用户都有自己的区块链,只有他们可以往区块链中添加东西。用户通过创建两个区块发送资金:个人区块链上的一个发送区块和收件人区块链上的一个接收区块。用户通过将任何未完成的接收块“嵌入”自己的个人区块链来获得资金。用户不必通过网络来获得资金。当用户决定访问他们的资金时,钱包本身就会自动“提取”任何未付资金。从本质上来说,将资金投入到你的个人密钥中,就意味着你可以用你的私钥来签署接收区块,这样就可以将它添加到你的个人区块链中。
共识算法
在IOTA中,交易被连接到“缠结”,这是一个有向无环图数据结构。随着越来越多的交易被添加到缠结中,一个“权重”被添加到附属的祖先事务中。当交易有足够的权重时,交易将显示“确认”状态。原则上,如果整个网络中有足够的交易流,这个确认可以快到几秒钟。
在RaiBlocks中有一个基于“代表”的不同的确认系统。一般来说,所有需要的是你的“发送”和“接收”块上的加密签名。当节点同步时,它通过分类账运行,以确保签名是真实的。
为了防止双重打击,RaiBlocks有一个“代表性的系统”。系统中的代表基本上是一个有很多资金的地址。代表人作为仲裁者,用双重阻滞在整个系统中进行传播。在本文后面,我将详细介绍潜在的攻击向量。
运行完整节点的激励
关于这些FFM加密货币的一个常见问题是:“谁将为运行完整的节点付费?”这是一个很好的问题。在大多数其他加密技术中,比如比特币和以太坊,都有一种激励机制,让矿工可以运行完整的节点,因为这样做可以获得利润丰厚的采矿费用。但在IOTA或RaiBlocks中没有矿工。
对于这个问题,有很多答案,如果你在运行IOTA节点、RaiBlocks节点和其他密码,答案会略有不同。
对于加密货币的新手来说,节点基本上就是一台能够促进全球网络交易的计算机。任何时候,互联网上的任何人都可以添加或删除节点,而加密货币作为一个整体将继续发挥作用。加密系统往往需要最少数量的节点来防止网络攻击,但这是另一个话题。
让我们做一些计算,看看这些网络是否能够维持下去
每个交易所都需要将自己的节点作为提取和存款的节点。让我们假设每一个交换都需要平均5个节点来进行负载平衡和升级。现在,让我们来计算一下,一旦这些加密货币变得流行起来,它们将在全球约100家交易所上市。同样,保守估计,世界上有数百个流行的交易所,新的交易所一直在涌现。一旦IOTA和RaiBlock在交换行业被广泛采用,这将给我们500个节点。
此外,还存在运行节点的商业需求。小公司和大公司都加入了加密货币领域,我们需要托管节点来提供我们的服务。让我们假设,在线商店、市场和服务的数量超过了交易所的数量。我认为这是相当保守的,因为在线商店的数量比在互联网上的在线交易数量要多。我们假设他们平均每人只需要三个节点,因为他们的流量可能比一个非常流行的交易所少。这使我们在商业领域中总共需要900个节点。
在未来,我们还将拥有许多智能设备。“福布斯”提到的一篇文章预测到2025年将有750亿个物联网设备。假设只有0.001%的设备需要运行完整的节点以实现高质量的服务。这就需要在网络上运行75万个完整的节点。
因此,随着所有这些行业的结合,在任何给定的时间节点都必然会有一个强大的节点基线。我预测IOTA和raiblock在未来几年会逐渐自然地增加节点数量,因为它们会越来越受欢迎。
对开发者的适用性
IOTA提供官方的Javascript,Python,C#,Java和Golang库来处理网络。他们还提供了“工作证明”库,他们称之为“curl”,也就是现在的“kerl”,可以作为一个C库使用,并且可以在WebGL2的浏览器中使用。他们在Java中提供了一种名为IOTA参考实现的节点实现版本,即在Java中将其移植到C++,Rust和Golang中。在我看来,我不太愿意在C++中实现它,原因有很多,其中最主要的原因是出现bug和漏洞的可能性更高。C++有一个用于高性能应用和OS内核的地方,但我不认为这是一个好的决定。我们可以辩论,但那是另一回事了。
RaiBlocks的API支持也相当不错。他们有RPC库,用于与Javascript,Python,PHP和Elixir中的节点进行交互。我不太清楚这些是否由Raiblock组织审查。不管怎样,他们都获得了支持,并在他们的devtools网站上发布了这些信息。还有一个用于在web浏览器中执行工作证明的库,它是用WebAssembly编写的。他们还有一些工具可以与协议和Fedora的软件包进行交互。
总的来说,这两个项目对于开发者来说都具有相当的支持度,开发者可以开始构建这些加密系统并将其集成到自己的项目和业务中。
物联网的适用性
这两种加密技术都为物联网中的小额交易提供了一个极好的用例。如果我们想让机器快速自动地与货币交互,我们肯定需要使用FFM加密。让我们从几个不同的角度来看待这两种技术。
数据流
IOTA中的交易允许附加大约1千字节的任意数据。1千字节听起来并不多,但它打开了一种可能性,让数据在缠结中传输。IOTA的数据市场也将大量使用这种数据附件来促进设备和市场之间的数据传输。这是第一层的一个很棒的功能。
RaiBlocks在第一层没有内置的数据传输机制。我和一位Reddit用户就这个话题进行了一次有趣的对话,他提出了隐写术的想法,即你可以在数据交易中对数据进行编码,因为RaiBlocks每笔交易使用128位元数据。原则上,你可以使用底部的64或32位来创建和提取小量信息。除此之外,RaiBlocks可以非常简单地用第二层方法来实现:如果已经可以与其他物联网设备进行通信,那么你就可以利用这个通道来获取数据层。因此,在我看来,这不是RaiBlocks的主要障碍。
脱链交易
IOTA有一项独特的功能,即可以在后续的时间内创建脱链交易,并将其附加到缠结中。物联网设备可能能够在离线时彼此交互,然后在重新连接到网络后传播其交易。但这就引出了这样一个问题:接受方是否会“相信”这笔交易,只有在得到整个网络的确认之前,并不能知道它是否是一笔双重支出。只要这些设备之间能够相互信任,这就成了一个没有意义的问题。然而,这是一种理论上的反驳,目的是为了让这些脱链交易受益。
在RaiBlocks中,脱链交易是不可能的。发送方必须在线并与网络连接以促成交易。同样,我不认为这是一个大问题,因为如果它确实有这个功能,仍然会存在信任问题。除此之外,如今大多数智能设备和智能消费电子产品都可以接入互联网。
长期采用
我们将遇到的一个问题是,当有足够多的用户和加密货币的客户时,我们必须开始问自己,是否有足够的资金可以流通?最重要的是,当我们在处理物联网时,机器将会向彼此发送少量的加密货币,我们需要确保这些小额支出不会在长期内变得过于昂贵。
IOTA和Raiblock实际上都是“预先挖掘”的,这意味着他们的账簿上的加密货币是永远不会改变的。随着时间的推移,这些代币被购买、出售,并随着ICO和水龙头而流通,从而增加了这些加密货币的普遍用户的数量。
IOTA的最大供应量是2,779,530,283,277,761IOTA。
RaiBlocks的最大供应量约为2~340e36,即340decillion。这一高上限的原因是他们使用了一个128位整数来表示余额。他们的实际最大供应量约为133,248,290MXRB,其中1MXRB代表1亿个原始RaiBlock单位。最大供应可以被表示为大约133e36,或者133个未分配的原始RaiBlocks。他们的wiki也表示一些基于SI系统的帮助使用这些高数字。这里是原始单位的最大供应,只是为了好玩:133,248,290,000,000,000,000,000,000,000,000,000,000,000,000,000,000。39位数字!作为对比,这意味着每个IOTA可能存在大约48个sextillion原始RaiBlocks。
让我们设想一下,到2025年,我们将拥有750亿个物联网设备。假设2025年将有数十亿人拥有加密货币。因此,我们还假设这些物联网设备拥有所有的密码。现在,让我们做一些计算。这些未来750亿个设备将共享的平均密码量将为37000IOTA或1.78octillion原始RaiBlocks。由此我们可以看出,交易意义上RaiBlocks比IOTA有更多的灵活性。这让我认为,RaiBlocks在未来几年可以很好地支配物联网领域,除非IOTA升级他们的协议,以增加最大供应或允许可分割的IOTA。
可扩展性
在可扩展性方面,我们从几个不同的度量标准来衡量。
交易的速度
在IOTA中,随着越来越多的交易通过网络发送,在理论上,确认时间会减少。最近几周,我们看到了一些问题,导致人们的交易被推迟,有时需要几天时间。但正如我之前解释的,我认为这些都是技术问题。一旦节点性能和垃圾邮件问题得到缓解,我们应该看到一个反弹,以获得更好的确认率和时间。
在RaiBlocks中,作为用户,你通过签署你的交易来执行确认。这个过程花费的时间非常少。一般情况下,你的交易在几秒钟内得到完全确认和处理。大部分的时间都花在了执行工作证明上,这对于减少未经检查的垃圾邮件攻击是非常必要的。
总帐大小
IOTA有一种机制,可以在一个名为快照的过程中来调整总账的大小。到目前为止,我们已经有了一些由IOTA团队手动执行的快照。在快照之后,分类帐的大小就会减少到现存的非零地址和每个地址的余额。从那时起,缠结的状态再次恢复正常。目前,这个方案有几个问题。其中的一个问题是,用户需要手动将他们的地址“附加”到缠结上,以查看他们在钱包中的平衡。,新的UCL钱包将自动化这个过程。我相信我们可以期待他们在这个月或下个月发布一个alpha版本。另一个问题是节点操作员必须手动进入他们的服务器,并清除存储交易的旧数据库。我相信这只是一个技术问题,将会得到解决。他们计划完全自动化这些快照。
在RaiBlocks中,当前的总分类账大小为3GB。这两年的交易还算不错。当然,Raiblock还没有IOTA那么受欢迎,因此我们还没有看到它在极端负载下的表现。随着时间的推移,规模肯定会成为一个问题。不过,他们也有一些精简数据库的计划,因为一致性所需的所有东西都是区块链中每一个区块的总余额。
去中心化
因为协议还没有完全去中心化,IOTA在受到指责。我倾向于认同这种观点,但我相信,他们也在尽可能快地工作,在没有协调器的情况下实现完全的去中心化。我们仍在等待分析或估计何时才能实现。我想猜测一下,协调器将在2018年的某个时候被移除。
另一个问题是互传。直到最近,节点操作员不得不手动与其他操作员合作,并将彼此的IP地址和端口添加到IRI配置中。不过,我很高兴地说,最近出现了一个名为Nelson的开发项目,有效地解决了这个问题,并允许在网络上进行完全的自动互传。现在,这是IOTA节点的包装器,但我希望它们最终在节点本身中实现一个完全成熟的解决方案。
Raiblock没有中心来管理网络上的交易,自2015年9月左右发布以来,它就一直在进行自动互传。因此,我们可以认为它是去中心化的。我看到的唯一一个问题是它们的代表系统。这是一个潜在的攻击媒介,恶意的实体可能会购买价值数百万美元的XRB并进行投票攻击。他们的攻击wiki概述了这种情况。当然,这是一种“低”风险,因为恶意的一方必须有效地放弃大笔资金,以数亿美元或50%的市值来实施这一攻击。
交易所
IOTA可以在包括Bitfinex和Binance在内的多家大型交易所进行交易,并计划在不久的将来加入更多的交易所。你可以在这里找到他们最活跃的市场。
相比之下,RaiBlocks还没有在任何大型交易所上市。该公司的总销售额为500至1000万美元,而IOTA是5亿美元。他们的主要交易所BitGrail和Mercatox由于流量增加和DOS攻击传言,最近受到性能问题的影响。鉴于这些不稳定的交易和供应不足,不幸的是,目前很难获得RaiBlocks。你可以跟踪他们在这里的交流。
发展规划
IOTA和RaiBlocks目前正在大力发展中。目前,IOTA团队比RaiBlocks团队的规模更大,与RaiBlocks的5位开发者相比,大约有30位开发者。IOTA还培育了大量的企业合作伙伴,帮助开发他们的生态系统,比如大众和博世。
至于发展的规划,这里有一篇来自IOTA的博客文章,这里有一个wiki页面和一个关于RaiBlocks的信息图表。
这两种代币都有很好的发展规划,但IOTA更有意思,他们正试图在IOTA上实现私有交易、智能合约、数据市场等等。
RaiBlocks的口号是“做一件事,把它做好”。由于他们专注于制作最好的FFM代币,他们很难将这个代币扩展为私有的、拥有智能的合同等等编辑:目前,至少有一个项目分叉Raiblock,目的是增加私有交易。就拿这一点来说,有无数的项目声称要做很多事情,其中很多都是永远不会交付的。
用户友好度
对于普通用户来说,互动的主要载体就是钱包。
IOTA的官方钱包
对于IOTA来说,他们当前的钱包在用户友好度方面相当单薄。但它能完成工作。对于一个仍处于测试阶段的产品来说,它更像是开发者的钱包。我在reddit上看到过很多帖子,询问他们是否应该重新附加或重播他们的交易。在我看来,这些深奥的选项应该完全从用户那里抽象出来。编辑:IOTA团队最近加入了另一项名为“交易推广”的功能,我要说的是,这一功能应该完全从用户那里抽象出来。
值得庆幸的是,由于UCL的团队,他们的钱包已经大大改善了。这个钱包应该清理掉当前钱包体验带来的许多麻烦。此外,他们还在开发面向大众消费的移动钱包,因为他们的iOS钱包目前正在进行测试,然后才会公开发布。
UCL即将推出的IOTA钱包截图
IOTA协议的另一个问题是所谓的“地址重用”问题。从本质上讲,每次你从一个地址花钱出去的时候,那个地址的私人签名密钥就会部分泄漏。如果你多次使用同一个地址消费,攻击者就可以收集这些信息,重新构造出原始的签名密钥,从而从该地址窃取资金。虽然这个过程也被IOTA协议考虑在内,并用“量子电阻”的方法进行应对。这种量子抗性算法被称为温特尼茨的一次性签名方案。尽管如此,却很难对新用户进行培训,因为他们已经习惯于发送和接收比特币、以太坊,以及其他所有的加密货币的方法了。
当你在IOTA钱包里花钱时,你交易的剩余资金会自动发送到你的另一个地址。,新版本的钱包会提醒你,你正试图将资金发送到已经发送资金的地址,这是朝正确方向迈出的一步。但是,你仍然需要小心地发送快照,因为我不相信钱包和节点能检测到这一点。
官方的RaiBlocks钱包
RaiBlocks目前的钱包也是一种开发者的钱包。主界面基本上由黑色、白色和灰色构成,字体很小,导航界面也非常简单。但它能完成工作。目前还没有Lite钱包支持,因此用户必须在能够与网络进行适当的交互之前同步整个账本。目前,同步时间非常糟糕,我花了几十个小时来让我的钱包同步。值得庆幸的是,还有一种方法可以让你的节点完全同步:你可以在这里下载完整的分类帐。
此外,根据他们的发展规划,新的和改进的桌面和移动钱包正在开发中。
RaiBlocks还遵循了从相同地址发送和接收的通用约定,这里没有地址重用问题。
基本上,这两种密码的钱包目前都相当缺乏用户友好度。但是,我们可以期待在不久的将来,它们俩都能带给我们很棒的新钱包!
发展潜力
IOTA仍有很大的增长空间,我在之前的文章《IOTA价格分析和预测》中详细阐述了这一点。我认为,IOTA的价格将提高到每K141美元,而目前的价格约为3.80美元。预期将会有37倍的增长。
最近几周,RaiBlocks从默默无闻的状态中崛起,从11月24日的市值2000万美元到12月14日的5.3亿美元。在3周内,就增长了26.5倍!!而且,这一增长何时会停止也不清楚。我的假设是,在过去几周,一直有大量的资金流入RaiBlocks、IOTA和其他相关的新一代加密货币。随着越来越多的人开始研究这项技术并测试它们的钱包是否真的有效,越来越多的人会沉迷于这种炫酷的新技术。我预测,从现在起,Raiblock将会在一年之内成为排名前10的加密技术,原因很简单,他们的技术是快速、简单、有效的。它们仍有很长的路要走,但我相信他们会实现的。如果RaiBlocks确实成为了10大加密技术,那么它的市值将达到50亿美元,这意味着一年的收益将达到9.4倍。从现在起一年后,达到前十名所需要的市值可能会高得多,所以这个增长可能会更高。
被攻击的可能性
如果我们想要相信这些加密货币的长期生存能力,我们必须问自己几个问题。这些加密技术在什么情况下会被攻击?这些攻击的可能性有多大?这些攻击会严重到什么程度?
IOTA有几个潜在的攻击媒介。最近被执行的其中之一被称为垃圾邮件攻击。这是攻击者利用虚拟交易对网络进行垃圾邮件攻击,搞乱了确认提示选择算法,导致确认延迟,有时甚至几天甚至几个星期将有价值的交易中断。IOTA团队非常清楚这些问题,2017年12月20日:IRI和钱包的新版本已经发布,他们声称许多这些问题已得到解决。我看到很多人在Reddit和IOTASlack上说,他们现在的交易确认速度要快得多。
人们认为,由于部署了一种叫做协调器的东西,IOTA还没有去中心化。这基本上就是IOTA网络的“训练轮”,用来减少51%的攻击。包括比特币在内的大多数区块链在早期都有过类似的机制。但我们仍在等待官方的衡量标准或时间线,以决定何时取消这一规定。该区块链早些时候表示,到今年夏天,它将变成“可选”。从理论上讲,我认为协调器是可选的,但在实际上,我非常怀疑人们正在以协调器的方式运行他们的节点,如果我在这里弄错了,请告诉我。一旦IRI自动操作和邻近网络全面实施,网络就足够强大,可以独立运作。而这些功能都在发展规划中。只是为了比较,RaiBlocks并没有协调器的概念,自发布以来,自动互传一直是完整节点和钱包的标准功能。
IOTA协议还有其他潜在的攻击媒介,你可以在白皮书中读到更多。总的来说,目前IOTA的攻击风险很低。
RaiBlocks是区块链上的新成员。因此,像其他加密货币一样,它的硬化和改善水平并没有那么高。随着最近的价格飙升,我们可以确定攻击者将开始尝试打压甚至破坏这项服务。时间会告诉我们当前的执行是否足够强大,能够承受这些。我建议安全团队,分析师和一般开发者社区进行代码审查和审计,特别是因为主节点软件是用C++*shivers*编写的。我推荐安全团队、分析师和普通开发者社区的代码评审和审核,特别是在主节点软件是用C++编写的时候。我只是简单地看了一下他们的代码,就看到很多函数文件太长和回调地狱。我并不是试图对RaiBlocks,ColinLeMahieu或者他们的开发者施加压力,但是有很多代码还有很多改进的空间。
我鼓励社区开发人员和成员为这个项目贡献他们的时间和才华,就像IOTA和其他加密工具一样。,我保证这里有bug,等待被修复或被利用。希望是前者。
此外,RaiBlocks提供了一个简洁的描述,描述了许多不同的攻击媒介以及它们的严重程度。你可以看一看。TLDR认为,这些攻击的大多数都是低到中等风险的,而基本防御机制要么已经建立了理论基础,要么已经实现了。当然,这并不是一个全面的清单;我预测,我们将会看到一些未知的攻击媒介和攻击。
资源
IOTA主页;IOTA白皮书;IOTA透明度纲要
RaiBlocks主页;RaiBlocks白皮书;RaiBlocksWiki
结论
IOTA和RaiBlocks在功能和用例方面确实存在重叠。每个加密技术都有自己的理论来解释为什么自己会成为未来的FFM加密货币。我们不知道其中哪一个会“赢”,也不知道两者是否会以自己的方式发展。它们都有许多非常令人兴奋的功能、产品和改进方案,但尚未发布。但这两种方法都不能完美地解决所有用例。可能永远不会有一枚“完美”的加密货币来统治所有人。
话虽如此,我认为在未来数年内,这两种加密货币都将是比特币领域非常强大的参与者。而且会有新玩家尝试进入这个拥挤的竞争空间。我们不仅应该相互竞争,而且要共同努力,为这两种加密技术和新的FFM加密技术创造一个更强大的未来。竞争和合作都将促进创新!
这些加密技术将会有一个非常有趣的未来,也将会有很大的发展!
原文链接:https://hackernoon.com/iota-vs-raiblocks-413679bb4c3e
编译组出品。编辑:郝鹏程
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。