风险提示:理性看待区块链,提高风险意识!

卡尔达诺(Cardano)的 Ouroboros协议是什么?

2个回答

姐姐我要吃奶10星评价

2020-05-04 15:23:48

卡尔达诺(Cardano)的 Ouroboros协议是什么?

Cardano是当今市场上最有趣的区块链平台之一。区块链平台由Ethereum Charles Hoskinson的联合创始人创立,其诞生源于对新加密货币的开发标准化的渴望。

Cardano协议

更简单的说,Cardano正试图通过在区块链程序的设计过程中引入科学研究和同行评审的概念,彻底改变加密货币的方式。随着时间的推移,这种科学证明和研究的理念已经被引入到其他的计算领域,例如网络,这导致了ip协议的发展。

Cardano试图在区块链和加密货币生态系统中复制这样的努力。

Cardano主要由三个组织建立,即Cardano基金会、InputOutput Hong Kong(IOHK)和Emurgo。

除了最后一个,其他两个组织都只致力于开发Cardano平台和相关协议。另一方面,Emurgo是一家第三方日本公司,该公司在Cardano开发、支持和孵化商业项目”。

Cardano与其他区块链有何不同?

根据创始人Charles Hoskinson的说法,Cardano是一个第三代”区块链平台。他认为,纯粹的加密货币,或者用于价值转移的货币,是第一代区块链。比特币和其他类似的货币在创建一个真正分散的经济体方面起了重要作用,但考虑到区块链技术的潜力,它几乎没有做什么。

在这方面,第二代区块链是一个重要的进步,引入了分散的应用程序和智能合约,使数字交易更多地涉及到资产的转移。以太坊是第一个引入这种模式的公司,目前是最成功的,它的市值高达数十亿美元。然而,它有自己的一系列限制,包括但不限于低的可伸缩性、缺乏治理和资源分配不当。

Cardano的工程哲学几乎是从头开始设计的,以避免类似的事件破坏区块链。

Cardano在加密货币领域的第二个动机是解决区块链可扩展性的问题。在一段时间内,比特币和以太坊等流行的加密货币一直在围绕这一特定话题展开辩论。尽管许多人会同意,经过试验和验证的工作共识机制已不再是达成共识的最可行的选择,但几乎没有其他替代方案获得了大众的支持。

Cardano公司采用了一种股份共识机制的证明。顺便说一下,这也是以太坊基金会和其他一些加密货币所采用的原则。尽管如此,仍然有很多东西将Cardano的Ouroboros协议与其他的利害关系机制区分开来。

虽然可伸缩性的主题应该是本文的重点,但Cardano有大量的文档说明它的创始人打算实现什么,以及其他使这个平台从不同的区块链中脱颖而出的因素。从本质上说,Cardano是一个马拉松项目,涉及到加密货币行业内外数百名最聪明的人的反馈。它涉及到不知疲倦的迭代,积极地使用同行评审,以及在发现时厚颜无耻地窃取伟大的思想。”

Cardano区块链的可伸缩性

区块链可扩展性是加密货币狂热者和批评者之间的一个关键话题,其主要原因是传统货币的交易吞吐量微不足道。例如,比特币经常被批评为每秒不超过7-8个交易。作为参考,法定货币支付处理程序Visa可以在负载增加的情况下每秒处理成千上万的事务,并且通常会看到数千个同时进行的交易。

由于这种吞吐量限制,相当多的加密货币一直在考虑放弃工作共识机制的证明。比特币和以太坊目前都依赖于使用计算资源来处理交易的矿商。然而,这是一个高能耗的过程,在不危及安全的情况下也不能加快速度。其结果是,随着时间的推移,诸如股份证明等替代算法变得流行起来。Cardano的Ouroboros实现就是这样使用的。

然而,Ouroboros不仅解决了事务吞吐量的问题。Cardano的开发人员还成功地提出了网络可伸缩性和数据存储的解决方案。

随着时间的增加,加密货币的网络可能会受到瓶颈或阻塞,特别是考虑到需要将交易数据传播到每个参与节点。为了解决这个问题,Cardano希望在2019年的某个时候实现递归的跨网络架构技术(RINA),以提高通信速度。

此外,对于一个提供创建智能合约和分散应用程序的区块链平台来说,存储数据的大小可能会很快开始膨胀。例如,比特币区块链已经超过了100亿字节,而且随着新区块的挖掘,它将继续增长。Cardano的这种限制方法是通过实现侧链和数据压缩的。

Ouroboros VS Ethereum PoS

如前所述,以太坊基金会和加密货币的联合创始人维塔利克布特林也在积极努力,为以太坊提供一份股权协议的证明。命名为Casper Friendly Finality Gadget(FFG),以太坊区块链很快就会被期望采用它向PoS和第二层扩展解决方案,比如分片。Casper+Sharding FFG-RPJ规范是这种双重实现的一个例子。

Ouroboros对Casper的关键优势之一是它的学术背景和可靠的数学证明,这些都是公开的。

正如IOHK首席科学家Aggelos Kiayias所言:Ouroboros协议是在一个完全被描述的模型中进行分析的:它明确地定义了所有参与者的程序、他们的执行和交互、他们的通信——包括网络属性——以及任何控制少数股权的党派敌对实体的潜在腐败性行为。”

尽管Vitalik Buterin合著了Casper FFG论文和FFG的规范,但Cardano认为,这些文件并没有充分地描述Casper协议的程度,而不是Ouroboros的同类产品。此外,尽管Cardano的Ouroboros机制是为基于staka的区块链证明而设计的,但Casper的原始规范却不是。

这意味着,在迁移到Casper之后,以太坊区块链仍然很容易受到51%的攻击。然而,重要的是,Casper FFG-RPJ可能没有一个新的建议,但仍然被认为是不完整的。

无论如何,这两个下注协议之间还有许多其他的区别,包括安全性、可用性以及它们各自实现事务终结的方式。

Kiayias教授援引Ouroboros的论文指出,在绝大多数的利益相关者都没有参与协议的情况下,Ouroboros被证明能够在绝大多数的情况下实现持久性和活力,即使是在一些重要的利益相关者没有参与协议的情况下。”

相比之下,以太坊的Casper实现了终结,当三分之二的验证器做出最大赔率的Du注,一个给定的块或状态将被最终确定。Buterin表示,该系统强烈地激励验证器从不试图串通来恢复区块链”。如果他们这样做了,而且不成功,就像很可能发生的那样,他们将失去所有的Du注。”

不过,Ouroboros和Casper FFG RPJ也有一些相似之处。例如,两者都提供了最终的共识,使得旧的区块变得更加难以逆转。因此,事务终结不是一个二元的答案,而是依赖于将事务恢复为对手的强度的函数,以及包含该交易的块被添加时间长度的可能性”。

值得注意的是,最初的Casper FFG规范提供了近乎即时的终结。虽然对快速确认是有益的,但即时的终结需要更多的标记,并要求增加可用性。

结论

在这一点上,很明显的是,Cardano、Ouroboros,甚至是其他关于股份共识算法的证明,仍然没有完全充实的项目。Vitalik Buterin和Aggelos Kiayias教授对这两种技术的不同实现进行了广泛的讨论。不过,到最后,他们都在努力实现一个类似的目标,即永远不必再担心区块链的可伸缩性问题。


神滴哄起4星评价

2020-05-04 15:36:57

区块链3.0 ada Cardano卡尔达诺如何获得一致好评?

EOS 的直接竞争对手是以太坊。

文章介绍的卡尔达诺(Cardano)的目标就更加远大了,他要同时锁定比特币和以太坊。但大家去网上搜索卡尔达诺相关资料时就会发现基本没有吐槽点,一致的信任与好评。到底是什么样的项目得到大家这么高的认可度呢? 这篇文章为大家揭开其神秘的面纱。

卡尔达诺对标比特币与以太坊,从本质上来说,针对的是数字货币和智能合约,也就是现在圈子里说的很多的区块链 1.0 及 2.0。未来的互联网是价值互联网,在其上流通的不是信息的拷贝,而是真实价值的转移。比特币的出现使我们能够将资产数字化以及点对点转让,以太坊在比特币的基础上更近一步,能够以合同的形式进行自动化资产转移等操作,可以说我们已经在向价值网络迈进了。但正如同计算机刚有了 UI,新奇但是简陋。比特币和以太坊在面临大规模使用的时候,就开始歇菜摆烂了,规模化程度很低。而且基于 PoW 共识算法的平台也会经常因为升级、意见不同而产生分叉,破坏社区团结。

这些都是比特币和以太坊面临的主要问题,卡尔达诺(Cardano)就是为解决诸如区块链规模化、可持续发展等问题而出现的区块链 3.0 解决方案。卡尔达诺(Cardano)的研发流程非常严谨,它没有如其他区块链平台使用白皮书定义技术路线,而是由一群科学家们带头发起,先有论文之后再同行审阅,在数理逻辑层次上趋近完美,之后由 IOHK 的工程师们编写代码,而且为了避免程序 Bug 引起的程序崩溃或者区块链分叉,软件开发人员使用函数式编程语言 Haskell 构建平台,可见团队对项目的用心程度。

卡尔达诺团队

现阶段,主要有三个组织支持卡尔达诺的发展,卡尔达诺基金会、Emurgo 以及 IOHK。基金会的主要工作是规范,保护和推广卡尔达诺协议,也就是制定生态法规和标准以及社区建设等。Emurgo 公司的主要工作是孵化基于卡尔达诺生态的初创企业以及协助商业企业接入卡尔达诺生态圈。最后的 IOHK 是由前以太坊核心开发人员 Charles Hoskinson 成立的区块链技术公司,主要负责卡尔达诺平台的搭建。

卡尔达诺技术

为了更精准的对标比特币和以太坊,卡尔达诺将项目进行拆分,主要分成了结算层(数字货币)和计算层(智能合约)。卡尔达诺结算层(Cardano SL)是由 IOHK 联合爱丁堡大学,雅典大学和康涅狄格大学共同设计开发的一种加密货币,代号 ADA。而卡尔达诺计算层(Cardano CL)还在研发中,因此这里我们着重介绍结算层的相关知识。

卡尔达诺结算层(ADA)

卡尔达诺结算层对飚的是比特币,虽同属于数字加密货币,但是二者之间有很多不同之处。最重要的区别就是 BTC 是基于工作量证明(PoW)的数字货币,而 ADA 使用权益证明(PoS)。BTC 采用的 PoW 共识以及竞争出块机制使得能源消耗越来越多,矿工挖矿难度越来越大,这也是为什么最近大家热衷于研究 BFT 类以及 PoS 类共识算法的原因。

ADA 采用的 PoS 共识算法被称为乌洛波洛斯(Ouroboros),是目前为止唯一一个基于科学证明的安全的区块链权益证明算法,它不需要浪费电力资源,而是随机选取任意节点作为区块生产者,被选中的概率跟该节点权益成正比。在 ADA 中,所谓权益是指节点持币的相对价值,可简单的认为是节点持币价值 / 全网总价值。如果某个节点的权益>0,则被称为是权益所有人,而如果被选作为区块生产者,该节点也被称为 SLOT 领导者,也就相当于比特币的矿工。

乌洛波洛斯(Ouroboros)协议

乌洛波洛斯协议将时间分片,称为 epochs。每个 epoch 又划分为多个 slot,在一个 slot 时间段(20 秒)内,有且只有一个领导者,由他负责产生一个区块。如果领导者在他的 slot 期间因为一些原因未能产生区块,那么他就浪费了这次机会,除非再次被选做领导者。也就是说可以有一个或多个 slot 是空的(不产生区块),但是在一个 epoch 期间,必须由大部分的 slot(50%+1)都有区块产生,也就是需要大部分的节点都是诚实的。

那么 slot 领导者是怎么被选出来的呢?基本条件是权益所有人,但并不是所有的权益所有人都能被选举,有准入门槛,比如节点权益占比全网权益的 2%。如果按 2% 的准入门槛,那么整个 ADA 网络中,能够成为候选人的节点不会超过 50 个。随着权益分散,候选人会越来越少,权利会更加集中,而且权益所有人拥有的权益越多,它被选举为 slot 领导者的可能性也就越大,所以也可以说 PoS 是富人的游戏,但是 ADA 中又有一个权益委派的功能,简单的说可以将多个账户的权益集中起来使之成为候选人,每个账户可以按照比例获得分红。

在确立了候选人之后,如何选举出在下一个 epoch 阶段的 slot 领导者呢?选举的根本是随机性,在 ADA 中,采用多方计算(multiparty computation)方法来实现选举的随机性,每个候选人都独立的产生自己的随机结果,但经过多方协调后,他们最终得到相同的随机种子。在对应的 epoch 开始后,所有的候选人节点根据“追随中本聪(follow-the-satoshi)”算法,输入随机种子和 slot 的索引,就可以知道当前对应 slot 的领导者了。如果是节点自己,那么就将自己收到的交易打包成块,跟比特币类似;而如果当前 slot 的领导者不是自己,那就等待着区块广播,如果超过 slot 时间后还未收到区块,则认为该区块跳过。以上就是 ADA 的出块流程,这里描述的很浅显,感兴趣的朋友可以阅读参考列表中的资料,深入理解其精髓。

账户模型

因为结算层对标的是比特币,相对来说是比较单纯的数字货币(所谓单纯是指未附加智能合约之类的设计),所以很多设计沿用了比特币的做法,比如账户模型就采用了 UTXO 模型。所谓 UTXO,就是指未花费的交易输出,每一笔交易都应该有 N 个交易输入,同时产生 M 个交易输出(N 与 M 可以不等)。其中交易输入是前序任意交易的未花费的交易输出,如果当前交易成交,该前序交易的输出也就变成了成交的交易输出,也就失去了成为交易输入的资格。因此在网络中的每个 slot 领导者不仅仅接收交易,还会验证交易输入的合法性。为了验证交易,每个节点都必须保持对未花费交易输出的跟踪,这样就可以验证当前交易中的输入是否还未被花费,如果所有的交易输入都是未花费的,那么该交易就被证明是合法的,会被当前领导者接收,打包成块。UTXO 模型能够追踪数字货币的流向: 未花费的交易输入告知货币是从哪里来的,未花费的交易输出告知货币往哪里去。

网络架构

典型的区块链中的节点间是对等的,随着数据量的增多,才渐渐出现了全节点轻节点的区别。而 ADA 在网络架构层次上就对节点分了层,现阶段,主要有以下三组节点:

核心节点,是整个网络的重中之重,所有的权益都集中在核心节点,只有核心节点才可以是权益所有人。也可以说这么说,只有核心节点是区块链节点,其余两种节点只是辅助节点。而且为了加强核心节点的安全性,完全可以将核心节点与公网隔离,只通过中继节点与外界通信;

中继节点,是公网与核心节点的通信代理,由于中继节点是不隔离的,所以他可能被攻击。但是中继节点被设计成无状态的,因此可以使用负载均衡分散流量。中继节点即便被攻击,对核心节点的影响几乎为零;

边缘节点,可简单的认为是与区块链交互的客户端,主要负责发起交易,而核心节点和中继节点没有权利创建交易。从名字就可以看出来,边缘节点是没有机会直接与核心节点交流的,必须通过中继节点转接。

交易确认

在 ADA 中,领导者出块因为有区块扩散的过程,因此不是一个确定性的共识算法,在某个 slot 段内,其领导者因为网络或故意为之,并不一其前置区块作为其区块的 parent,因此产生了分叉。官方给出了一个交易安全确认的等级表,攻击者的比例越高,需要确认的区块数越多;确认水平越高,相对应的需要的区块数也越多。

卡尔达诺与 EOS

卡尔达诺与 EOS 都被认为是区块链 3.0 的代表,经常被放在一起比较。而且不仅是媒体、信仰者,EOS 的核心开发者 BM 也公开发表文章数落卡尔达诺的不足,卡尔达诺官方就此也做了一个回应,这里就他们争论的关键点做个总结:

DPoS

我们都知道,卡尔达诺和 EOS 都使用了 DPoS 作为其共识算法,但是 D 的含义却是不同。在 EOS 中,D 指的是 Delegated,也就是委托;而卡尔达诺中的 D 指的是 Dynamic,意思是动态。EOS 通过投票委托见证人代表自己生产区块,而卡尔达诺是通过动态随机的选取权益候选人作为区块的生产者。

出块时间

BM 认为卡尔达诺 20 秒的出块时间太长,根本不能满足高性能的需要,而与之对应的 EOS 只需要 0.5 秒即可(白皮书中是 3 秒,之后有所变更,在节点出块的 3 秒钟时间内,连续出 6 块,因此单个区块是 0.5 秒)。而卡尔达诺团队认为,出块时间间隔应该与完成信息交换的时间基本一致,而且 20 秒是一个相对保守的估值。考虑到节点的真实地理位置,比这个时间更短的全球化区块扩散在现有的网络环境下是不太可能的。他们认为 EOS 所谓的高性能,要么是错误的,要么只是低去中心化的解决方案。

在我看来,EOS 的高性能现在还是未知数,可能是噱头也可能是杀手锏,而且卡尔达诺提出的网络传输问题也是不能忽视的,EOS 确实在这方面有所夸大。另一方面,卡尔达诺说 EOS 是低去中心化,这点难以认同,因为按照卡尔达诺的设计,只有占全网 2% 权益以上的节点才可以作为 slot 领导者,正如上文所提到的,最多只有 50 个(但永远不可能有 50 个)节点作为候选者,实际可能更少,而且节点权益越高,成为领导者的概率越高,节点间的权利是不对等的,而 EOS 在同一选举周期里,只有 21 个区块生产者,且权利对等。我认为是互有利弊,孰优孰劣只有等实际运行后才能比较。

激励机制

ADA 的激励机制跟现有的大多数公有链类似,“矿工”收取交易手续费。与比特币不同,交易手续费是 ADA 矿工的唯一收入来源。而且交易手续费不仅是给矿工的激励,也是一种防止 DDoS 攻击的手段,当攻击者试图用大量伪造交易冲击网络时,必须付出足够多的手续费。而 EOS 的激励机制则完全不同,EOS 每年增发 5% 作为“矿工”的奖励,因为“矿工”的权利是一致的,所以奖励应该是与其被选中的次数正相关。

二者都明确一件事,那就是“矿工”是需要被激励的,只是手段不一样,ADA 雁过拔毛,EOS 无中生有。如果以人民币作为参考系,假设 ADA 和 EOS 的都是升值的,那么使用 ADA 的成本肯定会逐渐增加,且币减少;而 EOS 如果整个生态价值的增长每年超过 5%,扣除增发,用户手中的币不变,价值却依然增长了,当然一切的前提是生态发展。

另一方面,ADA 声称手续费可以防止 DDoS 攻击,不可否认这是一种方法,但我认为 EOS 的按持币比例分享网络资源是一种更好的选择,它让资源的竞争变成了一种市场行为而不是强制的规则。如果 DAPP 开发者想要获得更多的资源,那么他必须从二级市场囤积更多的 EOS,因此势必会抬高币价,但是囤积的 EOS 并不会被大量消耗,因为交易都是免费的。当 DAPP 开发者放弃当前业务时,可以将囤积的 EOS 再次流入二级市场,这是一个良好的生态循环。

尾声

BM 在他的文章中这么说:“卡尔达诺是一个重达 400 磅的防弹背心,即便能防弹,又有什么用呢?”,言外之意就是说即便卡尔达诺的设计是无懈可击的,但是在实践面前,太臃肿的设计不见得是好用的。卡尔达诺是一次典型的由学术派发起的技术革命,项目都是先有论文,再“双盲(匿名提交、匿名评审)”评审,最后才有技术实现,与 EOS 的实践派形成鲜明对比。未来到底如何,我也不敢妄自定论,但可以确信的是,这两个项目一定会推进区块链技术的落地。