织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

以太坊五周年:听 Vitalik Buterin 讲述以太坊协议前史 (5)

时间:2020-08-04 08:48来源:未知 作者:admin 点击:
从这里开始,这个算法伴随着以太坊的发展历程发生了几次变化。接下来的想法是自适应工作量证明。在这个方案中,工作量证明将会涉及执行被随机选出

从这里开始,这个算法伴随着以太坊的发展历程发生了几次变化。接下来的想法是自适应工作量证明。在这个方案中,工作量证明将会涉及执行被随机选出的以太坊合约,并且这里面包含了一个很巧妙的做法去抵抗 ASIC:如果 ASIC 被开发出来了,那么竞争矿工就会有动机去创建并发布该 ASIC 不擅长执行的合约。没有一种 ASIC 能够用于通用计算,因为它仅仅是一个 CPU。因此,我们可以利用这类对抗激励机制来实现本质上在执行通用计算的工作量证明。

由于一个简单的原因,这个想法后来破碎了。这个原因是长程攻击。攻击者可以从区块 1 开始构建一条链,并且只用简单的合约对这条链进行填充。需要注意的是,攻击者可以为这种简单的合约设计出专门的硬件,从而使攻击链迅速赶超主链。所以 ...... 又回到了原点。

下一个算法被称为「随机电路」,具体的描述可以查看其 Google 文件。这个算法是我和弗拉德·赞菲尔 (Vlad Zamfir) 提出的,并由马修·万普勒·多蒂 (Matthew Wampler-Doty) 和其他人进行分析。这个算法的思路是通过执行伪随机生成电路来模拟挖矿算法中的通用计算。这一次,没有任何确凿的证据表明基于这些原则的东西是行不通的。但我们在 2014 年接触的计算机硬件专家都对此表示非常悲观。马修·万普勒·多蒂提出了一种基于 SAT 解决方案的工作量证明,但最终也被拒绝了。

最后,兜兜转转,我们还是提出了 Dagger Hashimoto 算法,有时简称为 Dashimoto。这种算法借鉴了 Hashimoto 的很多想法。Hashimoto 是萨帝厄斯·追亚 (Thaddeus Dryja) 提出的工作量证明机制,它开创了「I/O 约束工作量证明」概念。在该机制中,挖矿速度的主要限制因素不是每秒钟哈希运算的速度,而是 RAM 每秒可访问的兆字节数。然而,Dagger Hashimoto 将这种工作量证明机制与匕首算法中对轻客户端友好的 DAG 所生成的数据集结合了起来。经过我、马修、蒂姆和其他人多次调整以后,这些想法终于融入了我们现在称为「Ethash」的算法中。

到 2014 年夏天,除了工作量证明大概需要到 2015 年初才能到达 Ethash 阶段,这个协议已经相当稳定,并且其半正式规范已经以加文的黄皮书形式面世了。

2014 年 8 月,我开发并引入了叔区块机制。该机制可以使以太坊的区块链具备更短的区块时间以及更高的处理能力,同时减少了中心化的风险。关于叔区块机制的介绍,可以参见 PoC6。

在与比特股团队讨论之后,我们考虑使用堆作为头等数据结构——尽管最后由于时间不够没有这样做,并且后来的安全审计和 DoS 攻击让我们明白:在当时安全地实现这一功能远比想象中更难。

9 月,我和加文计划对协议设计进行两处重大的变更。首先,除了状态树和交易树,每一个区块还将包含一颗收据树。收据树将包含由每一笔交易创建的日志的哈希以及中间的状态根。日志将会允许交易创建可以保存在区块链中的输出,并且可被轻客户端访问。然而,未来的状态计算无法访问这些日志。这种方法使得去中心化应用能够很容易地查询时间,如代币转账、购买、正在被创建和被撮合的交易所订单,以及正在进行的拍卖等。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容