在本文中,我们将以以太坊区块链上的分片技术为例,分析分片技术将如何实现区块链扩容。
在本文中,我们将以以太坊区块链上的分片技术为例,分析分片技术将如何实现区块链扩容。
众所周知,目前最常用的区块链是以太网,所以理解为什么以太坊开发者社区希望在以太坊上采用分片技术,将有助于理解分片技术是什么,以及分片技术为什么是一个受欢迎的扩容解决方案。
ETHGasStation表示,在以太坊网络中,将交易添加到以太坊区块链大约需要1.78分钟,生成一个新区块需要32秒,平均每秒处理15-20笔交易。可以看出,以太坊生态系统是一个对矿工有利,而非对用户有利的环境,如果用户想要优先处理他们的交易,就必须提高该笔交易的gas费用。
BitDNS入选火种源计划,将为BitCherry生态应用提供域名解析服务:据官方消息,2021年4月14日,BitDNS成为首批加入BitCherry分布式商业生态的合作伙伴。BitDNS将为BitCherry链上应用提供分布式域名解析服务,实现一键去中心化,帮助企业和个人用户更加便捷、安全的参与数字资产交易,管理链上价值数据信息。BitCherry将携手BitDNS打造去中心化的网络生态系统,建立安全便捷的链上分布式商业生态体系。[2021/4/14 20:18:34]
低吞吐量、高延迟和高交易费用是当前以太坊面临的主要问题,一些对扩展性有要求的服务和应用不太适合采用以太坊网络。以太坊吞吐量低的主要原因是每个节点都要处理系统中的所有交易。
分片技术是什么?
动态 | 以太坊域名服务ENS将加入多代币支持,未来可解析至比特币地址:go-ethereum和以太坊域名服务(ENS)核心开发者Nick Johnson今天在Twitter 宣布,已经提交了ENS以太坊域名的多代币支持,该提议通过后ENS以太坊域名将支持解析域名到多个区块链地址,其中甚至可以包括比特币地址。这也意味着,ENS以太坊域名将可能成为跨链的域名系统,用户可以通过一个域名在多个区块链间互通,未来只需要向其他人展示自己的ENS以太坊域名即可。目前已经有多个数字加密货币钱包支持ENS以太坊域名,在使用以太坊钱包进行转账时,不需要再输入冗长的以太坊0x 地址,而只需要输入短地址即可。[2019/9/9]
简单地说,分片是一种分区方法,将计算工作量和存储工作量分布到P2P网络上,这样每个节点就不负责处理整个网络的所有交易,而是只处理自己本分区的信息。
动态 | 日本Catabira推出基于区块链的数据解析平台:据Prtimes消息,日本信息服务商Catabira宣布推出基于区块链的商业服务级数据解析平台Catabira Insights For Blockchain,将利用区块链技术不可篡改的特性保证调查数据的真实性。[2018/11/8]
为了进一步了解分片,我们从实现分片最简单的方式开始讲,V神在他的文章中将这种方式称为“scalingbyathousandaltcoins”。
在这个分片方式中,我们不会只运行单条区块链,而是运行多条区块链,并且不是将每条链称为区块链,而是称为shard。每个分片都会拥有独立的验证者或节点网络,即通过PoW机制挖矿或者质押投票机制来验证交易和生成区块的网络参与者。
分片技术面临的一些主要挑战
前美联储理事Kevin Warsh:从美国经济政策角度解析比特币价格波动: 前美联储理事、斯坦福大学胡佛研究所杰出访问学者Kevin Warsh今日撰文,从政府经济政策角度解读了比特币价格波动的原因。对于2017年BTC价格的狂飙,Warsh认为:1.特朗普上台后推出的减税等宽松政策持续刺激美国经济增长,继而带来的通货膨胀预期促使美国加息进度超预期,比特币成为规避法币贬值的避风港;2.特朗普政府贸易保护政策致使美元在2017年贬值12%,投资者寻求比特币规避贬值;3.据去年10月、11月调查,美国民众对政府的信任度下降14个百分点达到33%,而美元正是建立在公众对政府信任的基础上。而对于今年以来比特币价格的大幅波动,是因为投资者正在调整对政府政策的预期,新任美联储主席也在重新考虑如何更好地实施货币政策,同时也在考虑推出自己的加密货币。[2018/3/8]
在尝试使用分片技术中,我们发现的第一个问题是,由于每个分片都有自己的验证者,单个片区的安全性就会比整条链更差。例如,一条有X个验证者且没有分片的区块链,决定硬分叉成一条有分片的链,并将X个验证者分摊到10个片区中,那单个片区中的验证者数量就是X/10个,因此只需要控制总验证者数量的5.1%就可能破坏一个分片。
我们遇到的第二个问题是:“由谁来为每个分片选择验证者?”对于一个坏的参与者来说,如果所有5.1%的验证者都在同一个分片中,则控制5.1%的验证者会造成不好的情况。如果验证者无法选择验证哪个分片,则控制5.1%验证者的参与者极不可能在同一分片中获得所有验证者,从而大大降低了它们破坏系统的能力。
实际上,几乎所有的分片设计都依赖于某种随机性来为分片分配节点,且随机性和验证者分配都需要不针对任何特定分片的计算。为了实现这种计算,几乎所有现有的设计都包含一条单独的区块链,负责执行维护整个网络所需的操作。
这个链在以太坊中称为信标链,负责生成随机数、为分片分配节点、接收分片的信息更新、处理权益证明和其他各种功能。
信标链也有一些不足之处。因为信标链需要做一些记账计算工作,且这些计算量是与系统中分片的数量成正比的,所以分片数量越多,信标链的计算工作量就越大。这就出现了与没有使用分片网络时的同样问题:低吞吐量和高延迟,所以分片网络存在一个与生俱来的可扩展性限制的问题。
但是,分片网络的结构确实对节点的任何改进都具有乘法效应。因为任何提高节点效率的提升都会使节点能更快地处理交易,如果运行网络的所有节点处理交易的速度都变成4倍,那每个分片能够处理的交易量将是之前的4倍,且信标链能够维持的分片数量也将是之前的4倍。由此来看,整个系统的吞吐量将变成之前的4x4=16倍。
如何将数据分割为碎片?
让我们先看看节点在区块链上主要执行那些事务:
1.处理/验证交易
2.将经过验证的交易和已完成的区块传播给其他节点
3.存储所有交易的历史
随着网络的发展,节点需要能够跟上网络的需求,从而随着网络的发展而增长;
1.随着需要处理的交易的数量不断增长,要求每个节点增加更多的计算能力
2.随着需要中继的交易的数量不断增长,节点在中继交易和区块时需要更多的网络带宽;
3.随着状态的增多,节点在存储数据时需要更多的存储空间。
从这三点可看出,无论每秒的交易量和中继的交易量是否增加,数据存储都会增加。
虽然很多人提议过对存储进行分片,而不是对交易处理进行分片,但是有一些项目已经实现了对交易处理的分片,最常见的分片类型被称为“状态分片”,在状态分片中,每个分片中的节点都在搭建自己的分片链,这条链包含的交易只会影响该分片全局状态中本地的状态。这意味着分片中的验证着只需要存储本地的状态,并且只需执行和中继那些影响本地状态的交易。
来源|hackernoon
作者|TiaanWolmarans
翻译|头等仓Annie
编译|头等仓AlonsoChen
文章版权属原作者,翻译由头等仓提供,任何转载请保留前言信息。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。