首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >剪枝区块链与未修剪区块链的区别

剪枝区块链与未修剪区块链的区别
EN

Ethereum用户
提问于 2016-02-10 09:27:08
回答 2查看 3.7K关注 0票数 22

在柏林星条链会议上,古斯塔夫·西蒙松( Gustav Simonsson )戏弄了即将发布的“宅地”(tm),我们还在讨论区块链的膨胀和Ethereum区块链的当前大小。

我们讨论了修剪和未修剪的块链以及geth快速同步选项。现在我想知道:

  1. 剪枝和未修剪的区块链有什么区别?修剪后的区块链是否仍由区块组成?它甚至是“块链”吗?
  2. 空间要求有什么不同?完整的、未修剪的链当前大小为7GB。剪枝链需要多少空间?
  3. 修剪快同步客户端到灯光客户端怎么样?如果空间要求较低,那么使用快速同步客户端不是比使用不安全的灯光客户端更好吗?

剪枝的连锁客户能被视为轻型客户吗?

EN

回答 2

Ethereum用户

回答已采纳

发布于 2016-02-10 14:00:45

让我们一步一步地走。

区块链的工作通常是有一个起源(起源)状态,有几个帐户有资金,然后你放置在链的每一个块移动这些来源的资金,也给予矿工一些额外的。因此,每当您将一个新块导入到您现有的链中,以查看您对世界的看法(状态),并根据块中包含的事务将该状态转换为一个新的视图,您认为这个世界是什么样的。您不会抛弃过去对世界的看法,因为如果区块链中有一个分叉(例如,一个矿工出现了一个更好的块,或者可能出现了两个更好的块),那么您需要将您的观点从过去的状态转换为更好的版本。这导致了所有过去的状态,你通过被永远的积累而过渡。这是一种未修剪的状态/块链,目前Ethereum的状态/块链为7GB。

重要的是要注意的是,大多数情况下,你不在乎一个账户3年前有多少资金,你只关心当前的状况(也许几天前也是如此)。那么,为什么要把那些非常古老的过去的过渡状态留在身边呢?州修剪基本上是把所有的中间状态,然后冲到厕所。重要的是要认识到,您只丢弃中间世界视图,而不是阻塞本身或任何其他可能对网络有害的数据(即,连接节点需要同步该数据)。因此,通过修剪状态trie,您将失去查询过去帐户余额的能力,但将存储的数据量减少到原来大小的1/5-1/6。

好吧,那么快速同步呢?那么,按照以前的思维模式,如果你不关心3年前随机账户的余额,你为什么要重播区块链的整个交易历史,只是为了达到当前的状态。所以,快速同步所做的就是下载所有的区块链,但它不执行生成world视图的事务,每次只执行一个块。相反,它只验证工作证明,当下载整个链时,它会查看状态根(定义当前世界视图的散列),并直接从网络中下载状态数据库,从一开始就重新构造最终状态,而不需要对其进行瞬态。这意味着,除了下载块之外,它还需要下载额外的数据,状态会自行测试,因此它将带宽交换为处理能力(也就是说,我下载状态,而不是生成它)。快速同步的最终结果是通过一种不同的方法从所有意图和目的中删除数据库。这样一个数据库的当前大小是1.2-1.3GB。

票数 30
EN

Ethereum用户

发布于 2021-11-13 18:11:43

我不能对此发表评论,但这是在EIP-4444中提出的。

票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/1229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档