资讯专栏INFORMATION COLUMN

以太坊分片详解

msup / 2800人阅读

摘要:本次以太坊分片技术的分享,主要是基于神在台北做的一场关于分片的分享会。如有指正,请联系微信为了提高可扩展性,以太坊提出了两个解决方案。是由为随机函数选出的合法,其身份的合法性只在指定时间段和指定分片内有效。

本次以太坊分片技术的分享,主要是基于V神在台北做的一场关于分片的分享会。

如有指正,请联系微信:wuqiong_blockchain

为了提高可扩展性,以太坊提出了两个解决方案。一个是建立分层结构(Layer 2),把不必要的交易从最底层的主链分离到附属结构上,比特币的闪电网也是这个思路。另一个便是分片技术(Sharding),着眼于改进主链本身的协议来提高它的性能。

分片技术概览

在现在的以太坊中,每一个节点都要处理全网的交易。这就使全网的性能极大地受制于单点的能力。而分片之所以能够处理更多的交易,是因为每一笔交易只由不同分片中这一小部分的节点看到和处理。这样,全网中不同交易便可以由不同的分片中的节点在同一时间点上平行处理。这样就大大提高了交易的处理效率。在这个模型当中,主链(Main chain)依旧不断形成。同时,不同的分片(Shard chain)中也会形成属于本分片的链,甚至,分片中还可以二次分裂出新的分片链。每隔不固定的时间,分片会将当前的分片链上最新区块的的Markel Root/collation header 同步到主链上。在最新公布的算法中,每次只能同时分裂出最多100个分片。

V神所构想的分片技术有六个阶段。当前所实现还只是第一阶段。第一个也是最简单的分片技术,就是把系统切分成独立的数据片。只是做了网络的分片和交易的分片,并没有真正实现状态的分片。

分片技术详解

要了解一下有关分片技术的细节,首先我们先来了解分片中几个关键的角色。

Proposer

Proposer是交易池的维护者。负责为proposal(collationheader)做准备而收集交易,并负责广播collation body。任何人都可以成为proposer。

Collator

Collator是由为随机函数选出的合法collator,其身份的合法性只在指定时间段和指定分片内有效。它的主要作用就是collates the
proposal以建立collation。Collator从所有分片的collator pool中选出。

Executor

Executor执行状态交易函数。其实proposer也应该是executor,都是拥有获取交易所花费gas和选择高手续费的交易等能力的身份。

Blobs & Chunks

collator区块结构

下面给出一张图,从宏观上来解释交易的执行流程:

下图,再从细节上解释交易的流程,同时引入一个非常重要的额概念:

SMC(Sharding Manager Contract)

SMC中包含随机个collator pool,这些collator pool又分别来自于不同的分片中的当前时间段中最新的collator。

分片技术的安全性

以太坊主链每个时间段新生成的区块,都会将在此时间点之前的五个区块打包在内。这也被成为“LookAhead”。每个validator都会借由LookAhead来确认在未来他们将负责验证的是哪个分片。也就是验证者是先得知会被划分到哪个分片的。在指定时间段内,每个区块的验证者都会面临新一轮的随机选择(共5个区块,共五个validator)。当到达主链出块时间,所有validator都会将已校验的交易发送到交易池中。检验发起者需要向交验者支付激励。交验者下载潜在的分片提案。验证者验证数据的有效性,并挑选当前分片中最新区块,然后将collation header提交给主链。由矿工负责挖矿生成新的主链的区块。

那分片技术是否能够预防攻击呢?假如遭遇攻击,恶意节点验证错误的信息并提交主链挖矿。那么错误的区块就会在分片链中记录下来。是否这样的攻击就已成定局了呢?

答案是不是的。

因为个区块的交验者都会面临一次随机重选。恶意节点不会每次都拿到打包权。那么,当正直节点在恶意节点之后被选中,在验证数据有效性时,就会察觉到有不可信信息,那么他就会追溯到腐坏解区块分片头的上几个区块,将正确信息提交到主链并在此分片链上分叉。此次作恶也就失败。

此处留一个问题,供大家思考:

如果该分片内的所有节点合谋作恶呢?
那么是否还有可能发现并纠正错误信息?

(虽然我们知道每个申请作为validator的人都会提交对应的质押,
恶意者自身利益与全网利益有互相关系的特点,
但仍假设作恶收益大于作恶惩罚呢?。。。)
简介系统角色和模型

系统中主要有两种角色。

一种是常规Executor,包括Executors和proposors。他们负责:

旁观指定的分片

状态变更

都可能获得相应的交易手续费收益

一种是轻客户,负责:

验证最新头部

旁观指定分片

系统中主要有两种状态模式:

一种是有状态

一种是无状态

分片中的客户端组件

分片开发规划

basic Sharding without EVM

EVM状态转换函数

轻客户端状态协议

跨分片交易

与主链安全的紧耦合

超二次分片

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/24265.html

相关文章

  • 区块链学习之以太(七)

    摘要:基于以太坊项目,以太坊团队目前运营了一个公开的区块链平台以太坊网络。主要特点以太坊区块链底层也是一个类似比特币网络的网络平台,智能合约运行在网络中的以太坊虚拟机里。以太坊采用交易作为执行操作的最小单位。 以太坊将比特币针对数字交易的功能进一步进行了拓展,面向更为复杂和灵活的应用场景,支持了智能合约这一重要特性。 以太坊项目简介 以太坊:项目最初的目标是打造以个智能合约的平台,该平台支持...

    xiongzenghui 评论0 收藏0
  • 以太分片方案

    摘要:将由超级节点组成以太坊网络的计算存储宽带等资源记作,。以太坊分片去中心化扩展性安全性都要。但是安全性会有所降低,原来双花攻击需要控制以太坊网络的节点,但是分片之后只需要控制的节点。 三难困境 区块链的三难困境:去中心化、扩展性、安全性 牺牲扩展性方案 现在的比特币、以太坊都是通过牺牲扩展性来换取安全性的。 因为以太坊网络上的每笔交易,需要每个节点都计算、存储和广播一次。这意味着以太坊网...

    Eminjannn 评论0 收藏0
  • 2018年3月,以太的扩展现状|EthCC精选:Plasma Cash、Minimum Viabl

    摘要:自年初以来,一直在推广和分享以太坊及其生态系统方面的知识。你可以把想作是以太坊的。在任何外部数据源例如网络和区块链应用程序如以太坊方面的智能合约之间提供安全的认证通道。 从2018年3月8日到10日,来自世界各地的以太坊专业人士、研究人员、投资者和爱好者涌入了巴黎来参加以太坊社区会议(EthCC)。 EthCC是由一家法国的非盈利组织Asseth筹备组织的。Asseth自2016年初以...

    quietin 评论0 收藏0
  • 介绍几个分片技术的采纳者

    摘要:以太坊的分片方案解析阿希链测链多链与跨链技术在阿希链系统上,每个都是运行在一条测链上的。也是截至目前,在其测试网络上实现分片技术的仅有的两个中的一个区块链项目。和分片的实现将很大程度上改善以太坊的短板。 撰稿人: 卡酷少 kakushao 在区块链所面临的诸多问题中,区块交易的处理速度,和区块链之间的互通性都极大程度的限制了区块链的应用空间。要实现更快的交易确认速度,拓宽区块链向外连接...

    zhigoo 评论0 收藏0
  • 以太nonce详解

    摘要:实际验证发现交易中有一个要求导致两个错误要求以太坊要求一个账户的每笔交易有一个连续的计数。 在我们发布eth智能合约后希望可以同时转账多笔代币,又不希望将群发币写入智能合约,所以只能手动写web3脚本交易,当我们测试geth接口在一个交易失败问题后,之后的交易都将阻塞,也无法看到pendding状态,最终他们将被取消。最后发现交易设置了相同nonce。 什么是nonce? nonce有...

    luxixing 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<