关于以太坊分片(Sharding)的部分内容

Abstract

分片技术作为以太坊2.0更新的主要目标之一,是为了解决以太坊中的可拓展性问题。分片技术的核心思路是让以太坊从网络上的每个节点都要验证一笔交易的模式,转型到只需要少部分节点来验证每笔交易的模式,只要验证每笔交易的节点足够多,那么整个系统就会仍是安全的。

Background Knowledge

  • 状态:系统当前状态的信息集合。在以太坊中包括账户余额、随机数、合约代码、存储数据
  • 历史:自创世区块发布以来,按顺序记录在区块链中的所有交易记录
  • 状态转移方程:获取状态和交易然后输出一个新的状态的方程。涉及的操作包括减少和增加相关转账用户的账户余额、验证发起人的数字签名以及运行智能合约代码
  • 收据:是交易的产物,不存储在状态中,而是存储在Merkle树中,最终被提交到区块中,在分片模型中,收据用来实现分片之间的异步通信
  • 轻型客户端:一中队算力资源要求低、与区块链互动的方法。
  • 状态根:代表状态的Merkle树的散列根

分片技术的实现

“分片”的大致设计思路是:将区块链网络中的每个区块变为一个子区块链,子区块链中可以容纳若干(目前为 100 个)打包了交易数据的 Collation(大概可以称为“校验块”,为了在分片的情景中将其与区块的概念区分开),这些 Collation 最终组成一个在主链上区块;因为这些 Collation 是整体作为区块存在的,所以其数据必定是全部由某个特定的矿工所打包生成,本质上和现有协议中的区块没有区别,所以不再需要增加额外的网络确认。这样,每个区块的交易容量就大概扩大了 100 倍;而且这种设计还有利于未来的继续扩展。(下面针对拓展性的问题进行展开)
在这里插入图片描述
上面这个图可以十分详细的展示整个过程

拓展性

拓展性可分为四个阶段 reference1
下面介绍几个需要了解的几个概念:

校验器管理合约(Validator Manager Contract, VMC):置于主链(最长权益证明链)用于管理分片系统,同时授权验证器
验证器:在任何时间被授权在任意分片上创建区块。

Main Chain Sharding
Block Collection
BlockHeader CollectionHeader
Proposer Collator

结论

分片(Sharding)作为以太坊扩容的方案,它的提出伴随着PoS(Proof of Stake)共识机制,让以太坊这个分布式系统在不可能三角(可拓展性、去中心化、安全性)上更加合理。

Reference

[1] https://www.jianshu.com/p/fc6ce8b38129
[2] https://github.com/ethereum/sharding/blob/develop/docs/doc.md

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章