EOS的直接竞争对手是以太坊。
本文介绍的卡尔达诺的目标更加远大。他想同时锁定比特币和以太坊。但是,你去网上搜索卡达诺的相关信息,会发现基本没有抱怨,一致的信任和好评。什么样的项目受到大家如此高的认可?本文为大家揭开它的神秘面纱。
卡达诺对标比特币和以太坊,本质上是针对数字货币和智能合约,也就是目前圈内广为谈论的区块链1.0和2.0。未来的互联网是价值互联网,在上面流通的不是信息的复制,而是真实价值的转移。比特币的出现使我们能够将资产数字化,点对点转移。以太坊离比特币更近一步,可以以合约的形式进行自动资产转移等操作。可以说,我们已经在走向一个价值网络。但就像电脑只是有一个UI一样,新颖却粗糙。当比特币和以太坊面临大规模使用的时候,就开始崩溃了,规模很低。而且基于PoW共识算法的平台往往会因为升级和意见不同而产生分歧,破坏社区团结。
这些是比特币和以太坊面临的主要问题。卡达诺是解决区块链的规模和可持续发展等问题的区块链3.0解决方案。卡尔达诺的R&D流程非常严谨。它没有像其他区块链平台那样用白皮书来定义技术路线,而是由一群科学家发起,先有论文,再有同行评议,在数理逻辑层面接近完美。之后,IOHK的工程师编写了代码。为了避免程序bug导致的程序崩溃或区块链分叉,软件开发人员使用了函数式编程语言Haskell来搭建平台,可见团队对项目的执着。
卡尔达诺团队
目前支持卡尔达诺发展的主要有三个组织,分别是卡尔达诺基金会、Emurgo和IOHK。基金会的主要工作是规范、保护和促进《卡尔达诺协定》,即制定生态法律和标准,建设社区。Emurgo的主要工作是孵化基于cardano生态的初创企业,协助商业企业接入cardano的生态系统。最后,IOHK是以太坊前核心开发者Charles Hoskinson成立的区块链科技公司,主要负责cardano平台的建设。
卡尔达诺技术公司
为了准确地对比特币和以太坊进行基准测试,cardano对项目进行了拆分,主要分为结算层(数字货币)和计算层(智能合约)。卡达诺结算层(Cardano SL)是由IOHK和爱丁堡大学、雅典大学、康涅狄格大学共同设计开发的加密货币,代号ADA。而且cardano计算层(Cardano CL)还在开发中,所以这里重点介绍一下结算层的相关知识。
卡尔达诺定居水平(ADA)
Cardano的结算层是和比特币竞争的,虽然两者都属于数字加密货币,但是两者有很多不同之处。最重要的区别是,BTC是基于工作量证明(PoW)的数字货币,而ADA使用权益证明(PoS)。BTC采用的PoW共识和竞争分块机制使得能量消耗越来越大,矿工挖掘越来越困难,这也是最近人们热衷于研究BFT和PoS共识算法的原因。
ADA采用的PoS consensus算法称为Ouroboros,是迄今为止唯一基于科学证明的安全区块链公平证明算法。它不需要浪费电力资源,而是随机选择任意一个节点作为分块生产者,被选中的概率与该节点的股权成正比。在ADA中,所谓权益是指节点持有的货币的相对价值,可以简单地认为是节点持有的货币价值/整个网络的总价值。如果一个节点的权益为0,则称为权益所有者,如果被选为区块生产者,则该节点也称为槽头,相当于比特币矿工。
大毒蛇协议
《波罗塞-乌克兰协议》将时间划分为纪元。每个时期被分成多个时隙。在一个时隙周期(20秒)中,只有一个领导者,他负责生成一个块。如果领袖在他的时间段内由于某种原因未能生成块,那么他将浪费这个机会,除非他再次被选为领袖。也就是说,一个或多个槽可以是空的(不生成块),但是在一个历元期间,大多数槽(50% 1)必须有块,也就是说,大多数节点需要诚实。
那么槽点负责人是怎么选出来的呢?基本条件是股权所有人,但不是所有的股权所有人都能当选,有准入门槛。比如节点的权益占全网权益的2%。按照2%的准入门槛,整个ADA网络中能够成为候选的节点不会超过50个。随着权利和利益的分散,候选人会越来越少,权利会更加集中。而且,权益拥有者拥有的权益越多,当选槽点负责人的可能性就越大。所以也可以说PoS是有钱人的游戏,但是ADA还有一个股权委托的功能。简单来说,多个账户的利益可以集中成为候选,每个账户可以按比例获得分红。
候选人确定后,如何选举下一个纪元的槽头?选举的基本原则是随机性。在ADA中,使用多方计算来实现选举的随机性。每个候选人独立产生自己的随机结果,但经过多方协调,最终得到相同的随机种子。在相应的epoch开始后,所有候选节点根据“follow-the-satoshi Nakamoto”算法输入随机种子和槽的索引,从而可以知道相应槽的当前领导者。如果是节点本身,那么将其接收的交易打包成块,类似比特币;而如果当前槽点的领导不是自己,那就等着块播吧。如果在时隙时间之后没有接收到该块,则认为该块已经被跳过。以上是ADA的封停流程,这里的描述很简单。感兴趣的朋友可以阅读参考书目中的资料,深入了解其精髓。
账户模型
因为结算层的标的是比特币,这是一种比较简单的数字货币(所谓简单是指没有智能合约的设计),所以很多设计都沿用了比特币的做法,比如账户模型采用UTXO模型。所谓UTXO是指未使用的事务输出。每个事务应该有N个事务输入,同时产生M个事务输出(N和M可以不同)。事务输入是任何先前事务的未使用的事务输出。如果当前事务关闭,前一个事务的输出将成为关闭的事务输出,从而失去作为事务输入的资格。因此,网络中的每个槽头不仅接收事务,而且验证事务输入的合法性。为了验证事务,每个节点必须跟踪未使用事务的输出,以便它可以验证当前事务中的输入是否没有被花费。如果所有的交易输入都没有使用,那么该交易被证明是合法的,并且将被当前领导者接收并打包成块。UTXO模型可以跟踪数字货币的流向:未使用的交易输入告诉钱从哪里来,未使用的交易输出告诉钱去了哪里。
网络体系结构
典型区块链中的节点是相等的,随着数据的增加,所有节点和轻节点的区别逐渐显现。ADA在网络架构级别将节点划分为不同的层。目前,主要有以下三组节点:
核心节点是整个网络的重中之重。所有权益都集中在核心节点,只有核心节点才能是权益的拥有者。也可以说,只有核心节点是区块链节点,其他两个节点只是辅助节点。而且为了加强核心节点的安全性,完全可以将核心节点与公网隔离,仅通过中继节点与外界通信;中继节点是公共网络和核心节点之间的通信代理。因为中继节点没有被隔离,所以可能会被攻击。但是中继节点被设计成无状态的,所以它可以使用负载平衡来分散流量。即使中继节点受到攻击,对核心节点的影响几乎为零;边缘节点可以简单地认为是与区块链交互的客户端,主要负责发起事务,而核心节点和中继节点无权创建事务。从名字可以看出,边缘节点没有机会与核心节点直接通信,必须通过中继节点中转。交易确认
在ADA中,由于分块扩散的过程,leader分块并不是一个确定性的一致算法。在某个槽中,由于网络或故意行为,它的领导者不使用它的前一个块作为它的块的父块,所以它有分叉。官方给出了交易安全确认的层级。攻击者的比例越高,需要确认的区块就越多。确认级别越高,需要的块就越多。
卡尔达诺和EOS
EOS和cardano都被认为是区块链3.0的代表,经常被放在一起比较。而且不仅是媒体和信徒,就连EOS的核心开发者BM也公开发表文章批评卡尔达诺的缺点。卡尔达诺官方也对此做出了回应。以下是他们论点的要点总结:
DPoS
众所周知,cardano和EOS都使用DPoS作为他们的共识算法,只是D的含义不同。在EOS中,D指的是Delegated,即委托;卡尔达诺语中的d指动态,意思是动态。EOS通过投票的方式委托证人代表自己制作积木,而cardano则动态随机地选择股权候选人作为积木的制作者。
封锁时间
认为BM cardano的20秒挡出时间太长,无法满足高性能的需求,而对应的EOS只需要0.5秒(白皮书里是3秒,后来改了。在节点的3秒出块时间内,连续产生6个块,所以单个块为0.5秒)。卡尔达诺的团队认为,区块之间的时间间隔应该与信息交换的时间基本相同,20秒是一个相对保守的估计。考虑到节点的真实地理位置,全球化阻塞不太可能在更短的时间内在现有网络环境中扩散。他们认为EOS所谓的高性能要么是错误的,要么只是低分散的解决方案。
在我看来,EOS的高性能还是未知数。可能是噱头,也可能是杀手锏,卡尔达诺提出的网络传输问题不容忽视。EOS在这方面确实有些夸张。另一方面,卡尔达诺说EOS是低去中心化,这一点很难认同,因为按照卡尔达诺的设计,只有占全网2%以上股权的节点才能作为槽点负责人。如上所述,只有50个(但决不是50个)节点作为候选,实际上可能更少。而且,节点的股权越高,成为领导者的概率越高,节点之间的权利不平等,而EOS处于相同的选举周期。我觉得各有优劣,优劣只有实际操作后才能比较。
淹没
ADA的激励机制类似于现有的大部分公链,“矿工”收取交易费。与比特币不同,交易费是ADA矿商的唯一收入来源。而且交易费不仅是对矿工的激励,也是防止DDoS攻击的手段。当攻击者试图用大量虚假交易冲击网络时,他们必须支付足够的费用。EOS的激励机制完全不同。EOS每年发放5%的奖金作为对“矿工”的奖励。因为“矿工”的权利是一样的,奖励应该和被选中的次数成正相关。
两人都清楚一件事,就是“矿工”需要被激励,只是手段不同。阿达鹅拔毛,EOS却无中生有。如果以人民币为参照系,假设ADA和EOS都升值,那么使用ADA的成本肯定会逐渐增加,人民币会减少;但如果EOS整个生态价值每年增长超过5%,扣除增发,用户手里的钱不变,但价值还是会增加。当然,一切的前提是生态发展。
另一方面,ADA声称手续费可以防止DDoS攻击,这不可否认是一种方法,但我认为EOS按照持有的货币比例分享网络资源是更好的选择,这使得资源的竞争成为一种市场行为而不是强制性规则。如果DAPP开发者想要获得更多的资源,那么就必须从二级市场囤积更多的EO,这样势必会抬高币价,但是囤积的EO不会被大量消耗,因为交易是免费的。当DAPP开发者放弃目前的业务,可以将囤积的EOS重新流入二级市场,这是一个很好的生态循环。
乐章结尾部
BM在文章中是这样说的:“卡尔达诺是一件重400磅的防弹衣。就算能防弹,又有什么用?”言下之意,即使卡达诺的设计无可挑剔,但在实际操作中,过于臃肿的设计也不一定好用。卡尔达诺是典型的由学院派发起的技术革命。项目都是先论文,再“双盲(匿名投稿,匿名评审)”评审,最后技术实现,和EOS的实践派形成鲜明对比。我不敢对未来妄下结论,但我可以肯定,这两个项目一定会推动区块链科技的落地。