深度分析Dfinity与以太坊网络10种不同——《Dfinity内幕系列》

Now and in time to be,

Wherever green is worn,

Are changed, changed utterly:

A terrible beauty is born.

现在和即将到来的,

无论哪里将染绿,

都已经改变,彻底改变,

一种可怕的美诞生。

——威廉·巴特勒·叶芝《复活节》1916

Dfinity作为区块链3.0,拥有如此多与之前区块链网络不同的技术,那么它与目前的区块链2.0以太坊智能合约平台有哪些不同呢?在本期分享的视频中Dfinity团队开发人员Robert 将为我们深度分析Dfinity与以太坊的技术差别,而且不是讲Dfinity与以太坊现有的网络相比较,而是与当前和以太坊下一代将要应用的版本Casper相比较,对于其中共识方面和非共识方面的异同如数家珍,值得大家花费时间观看和阅读,开卷有益!

01

互联网计算机与智能合同平台

Ethereum是最早引入智能合同的概念的技术或产品之一,这意味着您不仅可以交换令牌或代币,并就谁拥有多少代币的共享状态达成一致,还可以以去中心化的方式执行简单的应用程序。而DFINITY超越了这一点,提供了我们所说的世界计算机,当它涉及到在分散的上下文中执行应用程序和指令时,会变得更有能力和更强大。

02

链上治理与链下治理

DFINITY推出区块链神经系统,一个内置的链上治理系统,这意味着网络可以决定升级参数,甚至在其内部进行单独的事务。它也意味着整个网络的升级更新,比目前在以太网上要容易得多。目前在 Ethereum, 相关的讨论需要在链下,决策也在链下。然后,那个决定和那个决定的实际执行之间没有逻辑联系。

03

参与者模型与序列化合约执行

在DFINITY中,系统允许用户执行在所谓的参与者模型上的应用程序。这意味着,你可以同时并行执行合同和异步消息传递,而另一边在Ethereum 上面这会缓慢很多,因为所有都是连续触发的,你需要保存大量数据在存储中,这将大量消耗你的内存。

04

WASM与领域特定语言

DFINITY采用了新的语言标准,WebAssembly。这是一个由所有大型浏览器开发者开发的标准——微软、Mozilla、苹果和谷歌。他们构建了一个新的虚拟机,允许在浏览器中执行字节码,这样速度更快,因为所有的大型浏览器制造商都支持这个标准,将会有上百个开发工具和许多开发人员已经了解WebAssembly。在DFINITY上部署应用程序,你不需要任何新的工具集,工具链,你已经有了,因为Dfinity使用了相同的标准。而在Ethereum中,他们采用的是特有的技术语言,例如 Solidity, Serpent,这些专为以太坊设计的语言,它们可能很棒,但也意味着你必须学习另一种语言用于开发和部署应用程序在Ethereum上面。

05

POS vs.POW.

Ethereum上目前应用的POW意味着矿工或者出块者需要进行加密计算以获得创造新的区块的权利。这个系统是很昂贵的,例如需要相互非常大量的算力和电费。因此,这就是为什么人们开始寻找一种新的称之为POS的系统,这也是在DFINITY 中采用的。POS是指这个系统中,成为下一个出块者的几率取决于你在系统中拥有或者存入的权益在网络中所占的份额。Etheorum也将升级系统到Casper,他们也会同时使用两种机制:POW和POS的混合管理他们将保留工作量证明的区块链作为底层同时建立一个POS系统在底层链之上,被称为Casper,这是一个友好的终端,它允许Ethereum通过基于POS的系统来最终确定区块。

06

固定大小存入与可变大小存入

在 DFINITY 中,如果要成为一个矿工你需要存入一定量的代币。你需要存入的量是由系统确定的,这意味着如果你想存更多的权益,那么你就必须创造一个以上的ID。所以,id的数量会转化成你在系统中的能力。在以太的Casper中,会有不同大小的存入。所以,这意味着,你可以创建一个系统可以对共识产生不同的影响。

07

重安全胜于存活于重存活胜于安全

在 DFINITY中, 一个阈值组中400组id将被系统随机抽取来确认区块,需要51%的成员来创造他们的阈值签名用来公证出块以保证系统的轻量。一旦该阈值被忽略,当超过50%的成员退出或变得不可用时,系统将停止;它不能继续进行下去,但同样它也不能被滥用,比如创造或创造一个新的历史,或实施双花攻击。Ethereum采取了另一种仍以工作量证明为基础的方法;而工作量证明意味着,由矿工们挖出的区块链,无论有多少矿工,总能会不断的添加。所以,即使突然之间,矿商的数量或总哈希能量下降到原来的一小部分,区块链仍然在不断进行,因为仍然不断有新的区块在向链上添加。但是,一旦网络总的离散禀赋下降,那么区块链就更容易受到攻击。因此,这就是为什么说类似Ethereum这样的工作量证明网络更注重存活性而非安全。

08

Random Beacon vs.POW,Randao

在DFINITY中, 有一个系统称之为Random Beacon,Random Beacon只是一组随机数链,里面的每一个数都是前一个数字的阈值签名。这些数字只能由一组400个节点中的大多数构建,这一事实意味着结果无法预测也不能被任何或少数成员操纵。这创造了一个不可篡改不可预测的随机链。在工作量证明得系统中,有一个随机性的生成器,它是自动可用的,因为工作量证明计算出来的每一个可用解,都可以看成是这样一个随机值。Ethereum最终也会升级系统到Casper,Casper也是基于POS的,它需要另一种随机性或者随机源,他们使用的这个系统称之为 Randao,每个节点都贡献一个哈希或者哈希链,这就像一个洋葱,你知道如果你多次哈希相同的值然后你就可以一个一个地显示出洋葱的每一层,这将要求系统通过解锁这个哈希洋葱的每一层,来结合由多人创建的随机性。这种方法的问题是,总会有最后一个人,他会在才最后展示他的份额,所以这个人或ID至少可以通过一点来影响结果。而在DFINITY的Random Beacon中,它不会被任何人或任何少数群体影响。

09

加密确认vs.经济学或者概率确认

在DFINITY的系统中,人们可以自主的选择出块或者打包在块中的转账是否确认,他们只需要观察区块链,一旦他们看见他们的转账被打包到至少一个别的块中,他们只需要等一点时间,一点延迟以保证转账不会被重置。这使得每一个系统中的观察者都可以采用他们自己的确认等级。如果转账是很敏感的,你可以允许长时间的延迟以保证你的转账不会因任何原因被重置。

以太在其当前版本是基于每一次出块确认的工作量证明,一个块越在下层会变得更确定,并将继续成为规范历史的一部分。但是您永远不能确定某个块在任何时候都不会被重置。最终, Ethereum 将转向 Casper, Casper提供了一种经济的确认方式,这意味着有人在你的区块上投票,验证者——用他们的权益在特定的历史上投票。如果一个被投票的块被重置,那么至少三分之一的验证者将失去他们的权益。这样就有了一定的确定性,被投票表决过的块,不会再被推翻,因为,一旦推翻很多人会损失很多钱。

10

确认时间:2个块对比125个块

在 DFINITY中的出块时间是数秒,而Ethereum在Casper中可能提供数分钟的出块时间。DFINITY在第9点中已经提到,提供2个块和一个延迟,即网络穿越时间或网络往返时间,就可以确认。这只需要数秒的时间。Ethereum将会采用Casper来确认出块,每隔一段时间,他们会在每100个块之后进行一次确认,在那里创建一个检查点。一般来说,这允许以太会在125个块之后得到确认,按照2~10秒的出块时间,只需要10分钟才能确认。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180728G0G5TK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券