想挖矿?不如先学习一下以太坊

2018 年 8 月 10 日 AI研习社

本文为AI研习社编译的技术博客,原标题 A Primer on Ethereum Blockchain Light Clients,作者为 zk Capital 。

翻译 | 高敏      校对 | 余杭      整理 | MY


许多使用点对点协议且基于区块链的项目在性能和吞吐量上夸大其辞。在研发阶段,这些项目已经出现了一些创新,但是一旦这些协议运行时,它们大多对经常遇到的挑战难以作出解释。


  网络拓扑结构

假设大多数人在延迟和计算量之间的某个置信区间上网是很容易的,但是他们忽略了必须借助于区块链上的节点进行交互。对大多数用户而言,不幸的是,运行一个全节点不仅速度慢,而且价格昂贵让人望而却步,因此大多数用户选择轻节点,因为它们不仅背负着全节点所拥有的安全性使命,对资源没有额外的需求。

以太坊轻客户端模式允许像树莓派一样的轻量型设备加入网络,当区块头显示时可以将它们下载,并且如用户所要求的那样按需验证某几种状态。在以太坊中,这些档案性的全节点拥有的客户端很容易使得网络饱和。与所谓的 Merkle Tree 相比,树莓派可以更快地锁定这些节点。

你可以在树莓派上安装一个轻型客户端! 

密码经济作为运行全节点的动机已远远不够,这是因为资源成本效益在平衡分布式网络过程中遇到了瓶颈。对于轻型节点,网络将拥有怎样的完全平衡是难以预测的。关于怎样平衡这些动机以及如何使得用户更容易证明运行全节点是正确的这些话题,早已被讨论过多次。


  对轻客户端的介绍:以太坊中的关键角色 

轻型客户端背后的核心思想是它能够获取用户所关切的状态部分。它假设有一个诚信模型,在这个模型中,矿工们都正确遵循以太坊的规则,并且系统中至少有一个完全节点是完全诚实的。

将同步模式标志设置为轻型模式 

他们的基本功能是当块标题显示在网络中时可以将它们下载,而且对于正在被客户端使用的状态部分的 Merkle 证明而言,按需变化的问题需求也可以被下载。以太坊上的轻客户端采用分布哈希表而不是本地存储来记录字典树的节点。 

考虑到 Ethereum 状态通过大些的 Merkle 树来显示,从 Merkle 的树根出发,沿着树中一个分支的一条节点路径,可以很轻易地将验证信息的完整性作为轻量级的证明。这最终依赖于对所提供的 Merkle 树根正确性的信任。

轻客户端信息包括但不局限于查询账户余额、验证确认事务、检查部署在网络上的某份合同的事件日志等其他信息。

通过 Merkle 树的证明和验证,所有的这些可以被归结为次线性复杂度。当无法获取来自区块链的数据时,或无法检查出何时验证状态交易指数时,客户端可以在点对点网络中向其他参与者发出警告。

当处于轻客户端模式下时,以太坊客户端会将基本上不同的配置和协议经理具体化。当以太坊启动一个轻客户端时究竟发生了什么,对此感兴趣的用户可以参考我下面的问题。


  潜在的共识机制

目前的轻客户端协议假定通过全节点在主链上开展工作共识证明。在工作量证明过程中,我们可以借助于一个数学函数来验证区块头部的有效性。也就是说,这个算法很难计算区块头部并输出,但是却很容易对其进行验证。

当轻客户端启动时,他们会寻找区块头部最长的链,而且对于攻击者而言,通过制造有错误的头部来伪装成这条链的费用几乎是无法想象的。

以电力为基础的物理工作到通过工作证明而致力于链的安全性的转变是一个潜在的过程,尽管对制造出的区块头部的验证尤为有效。 

在工作量证明环境中,轻客户端十分常用的,因为区块头部可以立刻得到验证,但是我们却无法保证在证明环境中也可以做到这样。


  权益证明中的轻客户端:工作证明是不可或缺的吗?

在工作量证明中,轻客户端被简化的问题相当于区块头部并未与一定量的真正的工作实现绑定,而参与者需要投入这些工作中并制造他们。这种共识机制所带来的强度实质上是对拜占庭参与者的威慑性惩罚而不是对耗电计算 NP 难题的奖赏。在权益证明中,如果参与者想尝试发展错误链,那么他们将会受到惩罚,然而,在工作量证明机制中,在错误链上挖矿的参与者将会建立分支,而且不会得到在一条规范链上挖矿的奖励。

权益证明提供协议内的机制来最终确定区块头部。一旦这些头部被信任,获得它们所包含的数据复杂度为对数级别,即从 Merkle 树上获取一个节点。尽管如此,区块头部并不包含我们可以用来验证工作证明方法的标量值,这使得验证最起码为对数级别的而不是具有时效性的常量级的直接实现。然而,我们最起码可以在轻客户端的同步率上做得更好。

正如 Vitalik 在工作岗位上的对该问题的建议所言,凭借 checkpoint 系统可以建造一个更为轻量的客户端友好型权益机制。一个 checkpoint 可以被定义为一组固定数字的区块。

在这些区块内,三分之二的参与者必须同意通过密码签名,而且 checkpoint 必须包含其以前 checkpoint 的哈希值。在这种新的轻客户端同步机制中,只能下载 checkpoint,而且客户可以验证参与者的签名。如此,在目前的工作证明轻客户端模式下,下载每个单一区块头部所需的开支就降了下来。

然而这种方法并不能解决验证区块头部这一问题,因此权益证明还是很有可能将一小部分作用在块标题上的为了创造轻客户端的工作证明包含在内。


  工作证明和股权证明的混合有助于轻客户端吗?

为了在权益证明系统中验证轻客户端,在区块头部的形成过程中无疑会有一个使用计算能力的角色存在,只要能够按要求验证这些区块头部充分小即可。

如果你想对有关内容有更多了解,检查以太坊社区正在分片上进行的工作,包括我的团队:Prysmatic 实验室!在分片模型中,轻客户端是极为有用的,因为分片的目的之一是降低节点对计算的要求。大多数分片的最新进展都公布在以太坊搜索,你可以从这里开始。

如果你喜欢这篇文章或者你有任何疑问,请在推特上联系我们。 


原文链接:

https://hackernoon.com/a-primer-on-ethereum-blockchain-light-clients-20d715255ff0


想和这篇文章的译者互动吗?点击原文链接,即可在文章评论区找到译者信息,欢迎提问交流,点赞分享哟~


想知道关于区块链更多知识?

欢迎点击“阅读原文”

或者移步 AI 研习社社区~


登录查看更多
0

相关内容

区块链(Blockchain)是由节点参与的分布式数据库系统,它的特点是不可更改,不可伪造,也可以将其理解为账簿系统(ledger)。它是比特币的一个重要概念,完整比特币区块链的副本,记录了其代币(token)的每一笔交易。通过这些信息,我们可以找到每一个地址,在历史上任何一点所拥有的价值。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
【硬核书】不完全信息决策理论,467页pdf
专知会员服务
351+阅读 · 2020年6月24日
【干货书】现代数据平台架构,636页pdf
专知会员服务
253+阅读 · 2020年6月15日
【元图(Meta-Graph):元学习小样本连接预测】
专知会员服务
64+阅读 · 2020年5月31日
斯坦福2020硬课《分布式算法与优化》
专知会员服务
118+阅读 · 2020年5月6日
机器学习速查手册,135页pdf
专知会员服务
340+阅读 · 2020年3月15日
模型压缩究竟在做什么?我们真的需要模型压缩么?
专知会员服务
27+阅读 · 2020年1月16日
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
深度学习这些“坑”你们有没有踩过(入门误区)
计算机视觉战队
5+阅读 · 2019年4月27日
已删除
AI科技评论
4+阅读 · 2018年8月12日
从零开始深度学习:dropout与正则化
数萃大数据
7+阅读 · 2018年7月22日
机器学习不能做什么?
引力空间站
5+阅读 · 2018年3月28日
【动画连载】3分钟了解什么是区块链(中文动画)
无需一行代码就能搞定机器学习的开源神器
人工智能头条
6+阅读 · 2017年11月7日
我花了四个晚上,拿到了吴恩达Deeplearning.ai深度学习课程证书
量化投资与机器学习
6+阅读 · 2017年8月14日
Deep Graph Infomax
Arxiv
17+阅读 · 2018年12月21日
Arxiv
24+阅读 · 2018年10月24日
Arxiv
3+阅读 · 2018年6月14日
Arxiv
3+阅读 · 2018年3月29日
Arxiv
6+阅读 · 2018年2月26日
VIP会员
相关VIP内容
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
【硬核书】不完全信息决策理论,467页pdf
专知会员服务
351+阅读 · 2020年6月24日
【干货书】现代数据平台架构,636页pdf
专知会员服务
253+阅读 · 2020年6月15日
【元图(Meta-Graph):元学习小样本连接预测】
专知会员服务
64+阅读 · 2020年5月31日
斯坦福2020硬课《分布式算法与优化》
专知会员服务
118+阅读 · 2020年5月6日
机器学习速查手册,135页pdf
专知会员服务
340+阅读 · 2020年3月15日
模型压缩究竟在做什么?我们真的需要模型压缩么?
专知会员服务
27+阅读 · 2020年1月16日
相关资讯
在K8S上运行Kafka合适吗?会遇到哪些陷阱?
DBAplus社群
9+阅读 · 2019年9月4日
深度学习这些“坑”你们有没有踩过(入门误区)
计算机视觉战队
5+阅读 · 2019年4月27日
已删除
AI科技评论
4+阅读 · 2018年8月12日
从零开始深度学习:dropout与正则化
数萃大数据
7+阅读 · 2018年7月22日
机器学习不能做什么?
引力空间站
5+阅读 · 2018年3月28日
【动画连载】3分钟了解什么是区块链(中文动画)
无需一行代码就能搞定机器学习的开源神器
人工智能头条
6+阅读 · 2017年11月7日
我花了四个晚上,拿到了吴恩达Deeplearning.ai深度学习课程证书
量化投资与机器学习
6+阅读 · 2017年8月14日
相关论文
Deep Graph Infomax
Arxiv
17+阅读 · 2018年12月21日
Arxiv
24+阅读 · 2018年10月24日
Arxiv
3+阅读 · 2018年6月14日
Arxiv
3+阅读 · 2018年3月29日
Arxiv
6+阅读 · 2018年2月26日
Top
微信扫码咨询专知VIP会员