Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

区块链分片技术其实并不高深莫测

伤心骑士口
57 0 0
##1.分片对区块链行业有什么意义?分片区块链的基本设计会是怎样的?
9 T; K2 D: p  ^8 F, e/ `. Q4 [) K8 U# K3 n# H
    Preston:
7 P* u- Q. k/ w1 F. ?
7 e( d$ k' `* l/ j6 V    为了让以太坊大规模应用,我们非常需要协议层的扩容方案,也就是分片。分片在传统数据库中就有应用,而区块链本身就是一个大数据库,那么分片的想法应该是可行的,但具体实施时非常复杂。如果我们能成功分片,将可以极大地加快交易处理速度。
+ ^7 i) C5 _. E* J# @( i  y: C8 ]( m1 n9 ?1 A, c
    贾瑶琪:' c# S! w& q4 P: Z- a' w! w" V

8 \6 m; A4 E/ E0 w6 Y& s( C% b( A    目前有状态通道、侧链等扩容技术,但这类方案对区块链去中心化的属性有影响。对于分片的设计来说,我们在扩容的同时,要确保去中心化和安全性。以以太坊为例,分片的基本设计就是,把1万4千个节点分成不同的小组,比如14个组,对交易进行并行处理。不同的分片处理不同的交易,这就是分片扩容。& M( @* ?, q9 o2 C8 c( k$ a
9 f* j/ t9 Y8 v2 S$ W8 v
    ##2.如何编写将状态数据和执行分离到不同分片中的智能合约?
1 d+ h- O8 c" T" }
0 w  ~: B! ~" d0 I    Preston:
, r, f2 h6 N5 H% M! ~! ~6 l, W! f+ q1 {& d0 S
    当前智能合约的编写还是尽量在一个分片中进行,跨分片通信还是相当麻烦的。目前我们在重写以太坊虚拟机EVM,重写后,EVM将被新的虚拟机eWASM取代。有一种想法是,我们让不同分片有各自不同的执行实施,可以让分片不在链上执行,只提供可以在虚拟机上执行的数据,这样效率会更高。5 s* P6 @, j1 r" U4 @! A1 q! i
+ q" T8 x0 F  Z: E- ?2 Q1 ~
    贾瑶琪:
/ e) h* u% |# H( N
  S; ^+ a1 s! o9 b# Y    我们已经能将智能合约分片。在当前阶段,如果发送者的地址和智能合约地址在同一个分片上,交易就会在这个分片上执行。其他的相关交易将会被分配到专门的分片中,在1个epoch内执行。未来情况会有所不同。我们正在开发新的智能合约编程语言Scilla。语言本身安全性很高,用该语言编写的智能合约也能够轻松被其他工具验证。
0 i7 `' S3 J) y; e" f2 _. O5 d0 ^6 J2 C
    ##3.分片在哪种安全模型下运行?
5 z& C; w& R  K) g/ y
' k" z5 b# T3 {# n# S) ?" ^    贾瑶琪:
: c9 j' n8 o$ A; o2 f5 p5 ^0 e, w! W7 k" E2 {  J0 s
    对于Zilliqa来说,Zilliqa中任何分片都必须有至少600个节点才能确保其中拜占庭节点(即恶意节点)的比例至少为三分之一的概率降到非常低(百万分之一),从而采用BFT协议达成共识。' i; B9 Z& f, G! V& X5 q1 f

. y* i; q0 o- W& f    在跨分片通信方面,本月初我们就完成了智能合约分片,但现阶段我们也试图避免跨分片通信。我们用算法将不同的智能合约分配到不同的分片中,连同交易一起。对于比较复杂的智能合约,我们直接将它们分配到专门的分片中。未来我们想在编程语言层面上提供智能合约的分片,也就是说开发人员可以直接编写可分片的数据结构。同样的智能合约可以在不同的分片中有不同的存在,同时也不影响安全性。这个模型类似于MapReduce。
( }( l" |9 I# s. _3 o) r
1 D! a0 O4 ]/ R7 [# _    ##4.对于分片来说,合适的经济模型可能是哪些?% ^4 ]+ G; K0 \
; {" b5 k. O' o) o8 R- g; P" s
    贾瑶琪:Zilliqa的构架与其他区块链不同,主网是默认分片的。Zilliqa的激励模型和比特币、以太坊不一样。比特币是,谁验证了谁拿走全部奖励;Zilliqa是所有有贡献的节点(分片)都可以获得奖励。这样的模型更公平。对于以太坊未来PoS的共识机制,在分片中押注ERC-20代币以获得奖励,这种方法难度很大,因为必须要考虑代币的供应和代币本身的经济模型。8 \6 K0 g* J: ^/ i/ o$ o- c

/ b/ t7 H! y, N8 N; E& _" w; b( _8 W4 \    ##5.什么是透明分片?优点和缺点分别是什么?
) G3 p6 ~8 l# z& h3 n# A5 A
, x3 h: i- z1 L4 T3 a4 w    贾瑶琪:透明分片的概念其实就是分片系统对所有开发者和用户都是透明的。开发者编写或者部署智能合约时,不用考虑基础协议。比如在以太坊上,用Solidity语言编写智能合约,系统会处理智能合约的执行和部署,对于开发者来说会方便很多。但是,有时候,开发者也不能利用分片构架的优势。比如,开发者以像MapReduce那样的方式编写智能合约,他们会把一些智能合约发送到Map,一些发送到Reduce;相比之下,让不同分片并行处理智能合约效率会更高。
& o  N2 Z5 a! L5 o/ f' A( d
; [  K0 \7 }4 n1 n    ##6.以太坊,Zilliqa在分片上的特点是什么?- ?* u* ]- J8 o5 I2 X( Q5 B

& I6 f9 ^8 I8 _' b/ D    Preston:* k0 m7 z9 R$ y' _0 Y/ z! a6 g* M
, _1 M  A2 b) [
    以太坊有不同的分片团队进行自己的开发工作。开发者会形成一个规范,不同的团队会根据规范构建自己的实施,最后我们可能有4-5个可靠的客户端,这样也增加了安全性。即使有1,2个无法工作,网络也能正常运行。# L6 |! v, |6 K% c9 K

  p9 I; W9 P' |" ^) [: C  O    我们的团队没有使用CasperCBC共识协议,而是使用FFT,试着提高资源效率。同时,以太坊中还是用了信标(Beacon)链,用于产生将验证者随机打乱的随机数。它的实施是随机数显示方案(revealscheme)和可验证延迟函数的结合,以获得很难或者无法受到影响的“真”随机数。此外,我们需要很多验证者签名,BLS签名可以在链上汇总签名并执行,不用一个一个签名验证过去,从而会提高效率。! M2 R: a* u, X$ q) W
3 [$ C* M/ ^1 j6 A7 X/ a  H
    贾瑶琪:
/ M; K2 O7 R/ m
# q) ~; K* t8 F# Q8 `    Zilliqa的构架与其他区块链不同,我们在最开始就考虑到了分片。在当前的构架中,我们有正常的分片,也有专门的分片,称为DirectoryServiceCommittee。正常分片会发起macroblock(分片处理的交易信息、智能合约信息),同时也会包含epoch的网络状态,最后向其他正常分片广播,最后所有正常分片获得最新的状态信息。对于Zilliqa来说,我们的节点不存储交易的历史记录,我们只储存交易的最新状态,从而减少数据的储存。我们与欧洲的一些项目有合作,希望用分布式存储服务或者项目来将数据放到它们的系统中。虽然我们在做状态分片,但我们只能部分减少的存储开销(overhead,并不与数据直接相关,但仍是系统必需的额外存储),必须找到一个办法把大部分的状态和交易的overhead转移出去储存,比如转移到分布式存储服务中或者创建另外一个layer来储存数据。但状态分片并非最终的解决方案,我们还需要找到更好方法。
9 \: c  V" W5 P/ s5 u7 J! F0 @9 k' ^9 l( C# q! y8 w' W9 i. x, ?
    ##7.建立一个分片的状态通道是可能的吗?分片的未来方向会是什么?
( S! s' h( C) |, l' ?! L3 ]3 ^
/ [, c0 c, Z' m) o* D2 _    贾瑶琪:状态通道倾向于“弱中心化”,如果有中心化的服务器,那么分片的状态通道是非常高效的。侧链的分片是可能的。比如通过在Zilliqa主链上部署分片智能合约加上信标侧链,将以太坊的分片方法应用在Zilliqa主链上,这样Zilliqa的主链以及侧链都能分片。
6 C/ F7 ~) N+ H0 H6 g2 D1 T* W3 t( a; ]& N  _" [
    对于去中心化交易所,它们更喜欢链上的解决方案,因为更去中心化、更安全,分片和状态通道的结合不太会在这里应用。未来,我们可能有多个公共区块链共存,也有Polkadot和Cosmos这样的跨链解决方案,在游戏、数字广告等需要实时反应的行业肯定需要状态通道。但我不确定是否需要分片的状态通道。  Z0 P/ }8 D5 K0 @6 _% i- w  p
8 i2 n. q, G5 l. d6 R! H: Z6 G
    ##8.对区块链的未来有怎样的愿景?
/ B, v3 u$ ~: B- i7 d; z. U3 A
, g1 ?9 O4 a2 C+ Z3 _- [, M2 o    Preston:希望未来的区块链能够依托于具体的用例,区块链各种技术的结合能够让每个人都能受益。贾瑶琪:区块链已经有10年了,ICO热让很多人认识了区块链,但是距离大规模应用还有很长的距离,区块链也没有深入到普通大众中,这让我感到很担忧。未来还要继续努力解决扩容和智能合约安全这两个方面的问题,希望在未来能看到每个人都在用一些区块链应用。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

伤心骑士口 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    37