星球日报
搜索
手机客户端
iPhone · Android
微信公众号
微信公众号

iPhone · Android

微信公众号

万字长文说透Polkadot架构(上)

2019-04-30

区块链的未来会百花齐放,更加参差多态。

编者按:原文来自一块链习社区(ID:yikuailianxishequ),作者 刘毅,Odaily星球日报经授权转载。

刘毅,Random Capital合伙人,清华大学硕士,区块链和大数据技术专家;20年多种资本市场投资经验,比特币早期投资者。

本文探讨了 DApp 开发的现状、公链的三种扩容思路、以太坊向 Serenity 的进程、Gavin Wood 的新征程 Polkadot、殊途同归 Cosmos、DApp 开发比较、网络拓扑比较、辨析「跨链」、下一代 DApp 开发技术选择等 9 个方面的内容。

万字长文说透Polkadot架构(上)

本次分享的主标题是 Polkadot 架构解析,副标题是下一代 DApp 开发技术评述。其实副标题更能概括本次分享,因为我们不只讨论 Polkadot,而是要相对全面地评述平台型公链,包括以太坊 2.0、Cosmos 等,当然 Polkadot 是重点。

我希望讲清楚 DApp 开发技术的走向。这是区块链行业发展的核心问题之一,它不仅对开发者重要,而且会影响到其他行业参与者。因此我尽量讲得直白浅显,争取让非技术背景的听众也能大体听懂。

一、DApp 为何重要?

万字长文说透Polkadot架构(上)

我先从 DApp 本身说起,因为来龙去脉很长。最后还是决定简要地谈谈,否则逻辑上不完整。

DApp 是 Decentralized Application 去中心化的互联网应用。例如比特币就是一个 DApp,它是去中心化的价值存储型加密货币。去中心化的概念比较复杂,V 神有篇文章说明了去中心化有架构、治理和逻辑三个维度,大家可以找来看看。

从使用者的角度看,去中心化可以简单理解成,不能被个别或者少数参与者所控制,因此值得信任的应用属性。区块链是实现 DApp 的主流技术手段,或者说区块链是 DApp 的基础设施。

本次分享所说的区块链,如果加不特殊说明,都是指公链。DApp 和普通的互联网应用的差别就在于 D 去中心化。那么去中心化为什么重要?为什么值得众多 IT 互联网从业者参与其中?它是不是个伪需求伪概念?

回答这个问题最清楚的,是 a16z 的合伙人 Chirs Dixon,他在 2018 年 2 月发表文章题为《Why Decentralization Matters》,就是去中心化为什么重要。

要理解他的观点,首先要了解什么是网络效应。网络效应是指产品或服务的效用随着用户增长而增加的机制。

例如微信,用得人越多,它的功能就越强大,越不可或缺。互联网应用的核心就是建立并维持网络效应,谷歌、亚马逊、BAT 等巨头的业务,都是建立起了强大的网络效应,使得后来者难以逾越。

Chirs 认为互联网平台要建立网络效应,都是要千方百计的吸引用户、吸引开发者和商家等等。但是在突破了关键规模之后,平台的吸引力越来越强,它的控制力也越来越强。

比如现在做电商,如果不依托于天猫、京东或者微信,几乎不可能成功。因为他们已经形成了巨大的网络效应,用户和商户都被锁定了。互联网平台的运营方都是企业,企业的使命就是利润最大化。

当用户和商户离不开平台的时候,平台跟用户商户之间的关系就就发生变化。我们看上面这张图,平台最开始是吸引用户,形成网络效应之后,就开始尽量从用户头上赚钱。

平台跟开发者、内容创造者和商户之间,也从合作逐步走向竞争。例如大家都知道百度搜索结果不是按信息的真实性和重要性排序,而是谁给的钱多就排在前面。

最早百度广泛联系各家公司,让大家把信息提交给他,方便用户搜索。现在如果不交钱,公司的官网在百度上就搜不到。百度为了赚钱,把病患导流给莆田系医院。但国内的用户明知如此,还是离不开百度,因为百度的数据最多,对用户也最了解,想想是不是很可怕。

DApp 可以改变互联网平台垄断的局面。因为 DApp 是去中心化的,靠公开透明的共识维持的经济体。网络的参与者贡献越大,相应的权利也就越大,但是没有个体能控制全局。

任何参与方要损害其他人的利益,要么是行不通,要么就会引发分叉。DApp 可以长期保持开放、公平,所以大家不用担心过河拆桥,所有人都尽自己最大努力参与建设,并获得回报。有点类似于各尽所能、按劳分配的社会理想。

这才是真正的开放网络,是互联网不应忘记的初心。所以众多互联网大咖都对 DApp 以及实现 DApp 的区块链技术情有独钟,并寄予厚望。

二、DApp 发展困境

万字长文说透Polkadot架构(上)

去中心化应用承载着重塑互联网的伟大理想,但是其发展现状非常窘迫,这个也大家都清楚,我简单提一下。

首先是用户极少,例如预测市场 Auger,DApp 领域的明星项目,融资数千万美元,开发历时三年多,上线之后日活用户几十人,而且 Auger 不是个案。

我们看上方的图,来自 DAppReview,是以太坊 DApp 日活用户的前 5 名,最高的也只有千用户级,而互联网的顶级应用日活用户可以达到数亿,差距是 5 个数量级。

为什么 DApp 情况如此可怜?主要是因为区块链基础设施不给力,使得 DApp 使用门槛高、用户体验差。就好比以太坊是一条村级公路,收费高而且拥堵,当然就没人愿意走。

下方的图展示的是以太坊的利用率,可以看到从 2017 年底到现在,以太坊一直是接近满负荷运转。也就是说 DApp 又慢又贵,但基础设施已经全力以赴了,没有再提升的空间。

在这样的困境下,DApp 要突破关键规模、创造出网络效应、跟中心化互联网应用竞争,是不可能的,所以必须升级区块链基础设施。

三、又慢又贵的原因——区块链极度冗余结构

万字长文说透Polkadot架构(上)

DApp 又慢又贵的根源是区块链平台的架构限制。这个架构限制可以简单概括为:区块链是极度冗余的计算架构。

冗余就是重复,让多台计算机重复执行相同的计算、重复存储相同的数据。冗余是有意为之的,不是浪费。适当的冗余在企业计算和互联网都普遍存在。

最典型的是主从结构,两台差不多的计算机一主一备,执行相同的计算、存储相同的数据。主机出现故障,备机迅速顶上。虽然两台机器干了一台的工作,但是提高了系统的可用性。

但为什么说区块链是极度冗余呢?因为区块链把冗余推到了极限,网络中所有的计算机,不论是几百台还是上万台。都执行相同的计算,存储相同的数据。冗余的程度无以复加。极度冗余意味着极度高昂的成本,成本高到什么程度?

V 神给出过估算,就是在以太坊上执行计算或者存储数据,比在商业云平台上完成相同计算或者存储同样的数据,成本高 100 万倍。也就是在普通云服务上花费 100 钱能完成的计算,放到以太坊上去做,需要 1 个亿的成本。所以在考虑什么业务可以做成 DApp,一定要考虑到成本。

不要仅仅为了讲故事圈钱,就把什么阿猫阿狗都放到区块链上来,那是资源的巨大浪费。那么花 100 万倍的成本,能得到什么好处?高可用性当然不在话下。比特币或者以太坊网络,随时都有计算机加入或者退出,对业务毫无影响。

但是高可用性显然是不够的,因为它只需要适度冗余就能实现,不需要极度冗余。极度冗余带给我们的新属性就是去中心化。具体地说,去中心化对用户意味着 trustless、permissionless 和 censorship ressistancy,就是去信任、无许可和抗审查。

无许可很好理解,任何人想要使用比特币、以太坊,都不需要向别人申请。抗审查也很清楚,没人能阻止你使用区块链。比如维基解密,世界上最强大的国家恨它入骨,欲除之而后快,但是维基解密仍然能获得比特币捐款。

含义比较模糊的是去信任,英文是 trustless、trust free 或者 trust minimal。我认为最准确的说法是 trust minimal 信任最小化。使用去中心化应用,其实隐含了对区块链网络整体的信任。

例如使用比特币和以太坊,就要信任比特币和以太坊不会被 51% 攻击。使用 Cosmos 和 Polkadot 就要相信恶意验证人少于 1/3。所以去信任的准确含义是,在信任整个区块链网络的前提下,可以不必信任个别矿工或者验证者,也无需信任交易对手。

对于某个应用,如果用户从去信任、无许可和抗审查这三个方面获得的好处,值得花费 100 万倍的成本,那么这个应用放在区块链上就是合理的。有这样的应用吗?就我自己来看,目前能值这个成本的,只有价值存储一项需求。

著名的比特币最大化主义者 Jimmy Song 说,比特币会成功,而法币和所有的竞争币都会失败。原因是中心化的货币干永远不过去中心化的货币,而去中心化的产品永远干不过中心化的产品。

隐含的逻辑就是,相同的互联网服务产品,成本差 100 万倍,当然干不过。他这个说法是有道理的,但是过于僵化。因为 100 万倍的成本差距不是必然的,是可以改变,可以拉近的。

能不能把 DApp 和中心化互联网应用的成本差距,从 100 万倍拉近到 10 万倍,1 万倍,甚至 1 千倍。同时仍然保持去信任、无许可和抗审查这三大好处。回答是完全可能,只要降低冗余的程度,就能降低成本。方法有三类,也就是区块链扩容的三个思路——代议制、分层和分片。

四、第一种扩容思路 —— 代议制

万字长文说透Polkadot架构(上)

第一个扩容思路——代议制,源于人类的古老政治智慧。即民主是好的,但是全民直接民主效率太低。英国脱欧采用了全民公投的方式来决定,但是显然不能所有的议题都搞全民公投。

代议制是人民选出代表,再由代表来议定法律或者重大决议。代议制提升决策效率有两个原因,第一是参与共识的人数大为减少,第二是代表通常是专职政治家,他们有更多的资源和知识来议定国家大事。

用代议制的方式来做区块链扩容,最典型的是采用 DPoS 共识的 EOS。EOS 通证的持有者选出超级节点,21 个超级节点轮流出块。跟以太坊相比,参与共识的计算机数量下降了 3 个数量级。

而且以太坊的节点计算能力高低不齐,协议参数设定要兼顾低端计算机。而 EOS 超级节点主机硬件配置和网络带宽有同一的高要求。所以毫不奇怪,EOS 能达到数千 tps,远高于以太坊。

EOS 从诞生之日起,就一直处于风口浪尖。加密社区的一部分人严厉地批评 EOS,说它中心化的,甚至认为它根本不算区块链。而支持者认为 EOS 的去中心化程度是足够的。用户仍然能够享有去信任、无需许可和抗审查等好处。

那么 EOS 的去中心化程度是否足够呢?我的看法是:有些情况下够,有些情况下不够。取决于是什么应用,谁在使用。

用户和用户差别巨大,只从国籍分,就有美国人、中国人、伊朗人、朝鲜人等等。还有性别、年龄、种族、地域、职业、宗教等等差别。

另外就是一个特定用户,他的需求也是多样化的,例如社交、娱乐、金融、协作等等。大类又分成很多小类,金融里仅仅对货币就有价值存储需求、大额转账需求、小额支付需求等等。

如果把是大部分身家都用加密货币来做长期价值存储,我首选比特币。如果是小额支付,或者打麻将、掷骰子,用 EOS 当然也没问题。在区块链世界,从去中心化程度最高的比特币和以太坊,到中心化程度最低的 EOS 和波场。

可以看成是去中心化谱 decenralization spectrum。每条公链,包括后面重点介绍的 Polkadot 和 Cosmos,都在谱中占据特定位置,都有机会适用于特定需求。不存在 one chain fit all 一链打遍天下的可能性。

做架构设计就是做折中,有所选择必然就有所放弃。本次分享的核心理念,就是未来的区块链世界是异构的、多链共存的。当然,我也不认为需要几百上千条公链,因为合理的可选位置没那么多。在定位大体相似的情况下,网络效应会消灭弱者。

五、第二种扩容思路 —— 分层

万字长文说透Polkadot架构(上)

分层也称为二层扩容或者链下扩容,就是把一部分交易放到在区块链以外执行,同时仍然保障交易安全。分层有状态通道和侧链两类技术。还有一类二层技术,是把计算密集型任务转移到链下执行,这块与分享主题无关,不再提及。

状态通道和侧链是不同的技术隐喻,但是到了实现层面,其实非常相似。由于 Cosmos 和侧链有很深的内在联系,所以我在这里花点时间,讲讲侧链的原理。

要理解侧链,首先要明白 SPV 证明,SPV 是 Simplified Payment Verification 简单支付验证的缩写。为了让计算和存储能力有限的设备能够使用比特币的问题,才有了 SPV,或者叫轻客户端或者轻节点。

手机钱包就是轻客户端,它不必同步全部区块,只需要同步区块头,传输和存储的数据量缩小了 1000 倍。左侧图是 SPV 证明的原理,利用了梅克尔树。看不懂没关系,只要记住梅克尔树是区块链最重要的数据结构。

利用它可以只需存储极少的数据,就可以证明大量的事实曾经发生过,而且属于特定集合。就区块链来说,就是只存储区块头,未来就可以验证交易是否存在于某个区块。

侧链方案就是把主链资产通证锁定,在侧链上对应地创造出通证承兑汇票,汇票交易在侧链执行,在侧链上得到汇票的人可以兑换主链通证。具体来看右图的以太坊 Plasma MVP 侧链方案。

首先要在以太坊主链上部署 Plasma 智能合约,假定有 Alice 和 Bob 两个侧链用户。Alice 发起主链交易把通证存入 Plasma 合约,通证被合约锁定。

侧链的 Operator 发现 Alice 存入了通证,就会在侧链里创建出侧链通证,也就是主链通证的承兑汇票。请注意侧链本也是区块链,它有自己的共识协议和矿工。

在 Plasma MVP 方案中侧链采用的共识是 PoA 权威证明,就是一个 Operator 说了算,由它记账出块。PoA 当然不是唯一选择,Loom 的 Plasma 侧链采用的 DPoS 共识。

存入之后,Alice 就可以在 Plasma MVP 链使用通证,进行支付或者转账。例如她可以跟 Bob 玩游戏,输赢通证,可能很快就玩了很多局,产生了大量转账交易。侧链交易只需要侧链的节点达成共识。而侧链的规模通常比主链小得多,因此交易执行更快,成本也低。

侧链区块的区块头,都会由 Operator 提交给主链的 Plasma 合约。不论侧链一个区块含有多少笔交易,是 1 千笔还是 1 万笔,主链只发生了记录区块头一笔交易。所以主链上的 Plasma 合约,相当于是侧链的 SPV 轻节点,它存储了区块头,从而可以验证侧链交易是否存在。

例如 Alice 在侧链上把通证转给了 Bob,Bob 就可以向 Plasma 合约发请求,包含侧链交易的 SPV 证明,表示 Alice 已经把这些通证给我了。

Plasma 合约可以验证转账交易在侧链确实存在,从而满足 Bob 的取款要求。这个例子说明了分层方案如何把大量交易转移到链下执行,或者说转移到二层网络执行。

六、第三种扩容思路 —— 分片

万字长文说透Polkadot架构(上)

第三个扩容思路是分片,原理很简单,就是别让所有的节点都执行所有的交易。把节点分成很多组,或者说分成很多片。多个分片可以并行处理交易,总体的处理能力就提高了。

当然还需要一条特殊的链来看管所有的分片,这条一般称之为主链,它要做很多工作,后面再详细介绍。粗略的解释是,如果没有主链,多个分片之间没有联系,那就是完全独立的多条区块链,跟扩容无关了。

分片扩容的基本思路非常简单,但实际做起来则面临很多复杂难题。为了理解后面要对比分析的几个公链架构,你首先要大概了解这些难题。另外因为这个公链都采用 PoS 共识,所以我们讨论分片难题和解决方法基于 PoS 来讨论。

七、分片的难题 —— 验证人选择

万字长文说透Polkadot架构(上)

首先就是分片之后,每个分片都需要一组验证人。大家看一下这张示意图。

如果在单链上,恶意验证人超过一半,可以攻击系统。分片之后,只要在一个分片内占据多数,就可以攻击这个分片。所以片分得越多,攻击成本越低,也就是安全性降低。

解决的方法是,分片的验证人分组不是固定的,而是随机选取,而且每隔一段时间就重新分组。这样恶意的验证人不能事先知道自己被分到哪个组,而贸然发送攻击会受到惩罚,因此系统的安全性就不会随着分片数量上升线性的下降。

验证者随机动态分组的关键,是要有可靠的随机数,随机数一直是计算机科学中复杂而有趣的问题。去中心化地拜占庭容错地产生可靠随机数难度非常大,也是区块链研究的热点问题。

八、分片的难题 —— 跨片交易完整性

万字长文说透Polkadot架构(上)

在分片的方案中,每个分片上可以运行一到多个 DApp,不论 DApp 在不在同一分片,都要能互操作。首先要明确什么是跨片互操作?因为分片也都是区块链,所以跨片等同于跨链。

大家知道区块链可以看成是分布式共识维护的状态机,状态机通过交易执行完成状态转移。跨链的互操作应该引发双方的状态转移,也就是两个互操作的链都执行了交易,而且执行交易之后的状态具有一致性。

或者说一个跨链交易要引起两条链乃至多条链的状态改变,而且这些改变要么都成功,要么都不成功,不存在中间状态。这跟企业计算里分布式交易的概念上非常类似。

只不过传统分布式交易的参与者通常是多个数据库,而跨链交易的参与者是多条区块链。非技术背景的同学可能不熟悉状态机和分布式交易的概念。因为跨链交易的概念对理解本次分享的结论很重要,我再用非技术语言解释一下。

假设你要从工行账户转 1 万块钱到建行账户,这笔转账交易其实就是从工行账户上减掉 1 万,在建行账户增加一万。工行和建行各自都有数据库存储账户余额,那么就要有一个机制,保证两个数据库的操作,一加一减,在任何情况下要么都成功,要么都失败。

如果没有这样的保证,工行账户减掉了,建行账户没加上,你少了 1 万块钱,你肯定不干。如果工行账户没减掉,建行账户加上了,你多了 1 万块,银行肯定不干。

这就叫分布式交易的完整性或者原子性。简单吧?其实做起挺难的,因为不论是工行建行哪家的服务器停电、断网、软件崩溃等等,各种极端条件,都要保证交易完整。在区块链上,转账变成了转通证。

某通证发行在 A 链上,通过跨链转 10 个通证到 B 链,跨链交易完成后,A 链上的 10 个通证被冻结了,B 链上多了 10 个通证。这两个状态改变在任何条件下,要么都成功,要么都失败。

由于区块链可能分叉,跨片交易要比传统的分布式交易更复杂。我们看图,如果跨片交易在分片 1 上的部分是在 A 块里被打包,在分片 2 上被 X’ 块打包。两个分片都可能出现分叉,A 块和 X’ 块也就可能成为被废弃的孤块。也就是跨片交易可能部分成功部分失败,完整性被破坏

怎么解决这个问题呢?我们来分析一下,造成跨链交易完整性被破坏的根本原因是,交易的多个部分被打包进区块,但是链可以重组,块可以变成孤块。

说白了就是交易进了区块,但是靠不住,有可能反悔,正式说法是没有明确最终性。最终性 finality 就是区块必然被包含进区块链。

在比特币区块链上,某个区块后面连的区块越多,它被逆转或者说放弃掉的可能性就越低,但是永远不能 100% 确定,所以称为概率最终性或者渐进一致性。解决这个问题的办法就是,要有机制让区块具有明确的最终性,不能含糊。

九、分片的难题 —— 最终性 VS 活性

万字长文说透Polkadot架构(上)

finalize 就是使区块具有最终性,我翻译成敲定。要使区块具有最终性。简洁的方法就是出块即敲定。Cosmos 的 Tentermint 共识就是这样。但是这个做法在特殊情况会出问题。

我们看图,某条 Tendermint 共识的区块链原本正常出口。突然海底光缆断了,互联网被分成了两部分。两部分各自包含一般验证人节点。Tentermint 共识要求收集到 2/3 以上的验证人签名才能出块。

被断开后,两部分网络都最多收集到一半验证人签名,所以出块停止了,或者说区块链丧失了活性 liveness。有人认为这可以容忍,本来就是特殊情况嘛,那就先停下来,等网络恢复正常再继续工作。

海底光缆断了,上网、打电话、视频会议都受影响,凭什么区块链就不能暂停呢?还有人认为停止出块不可接受,要始终保持区块链的活性。那怎么办呢?办法就是把出块和敲定分开,也称为混合共识。

在刚才说的网络中断情况,在两个分开的网络,节点可以继续出块,但是没有足够的验证人参与进来,所以不能敲定。等网络恢复了,再决定哪些块被敲定,从而活性和最终性兼得。

而且混合共识可以让个别节点轮番快速出块,于此同时,敲定过程可以慢一些,让大量节点参与进来,确保去中心化,提高攻击和共谋的难度,也就是保障了安全。所以混合共识也兼顾了性能和安全。以太坊 2.0 和 Polkadot 都采用混合共识。

十、分片的难题 —— 交易有效性

万字长文说透Polkadot架构(上)

还有个分片难题是交易有效性。交易有效性问题就是防止无效交易进入区块,成为区块链维护的历史真相的一部分。

举比特币的例子,假如我是超级大矿工,掌握了大部分算力。我想伪造一笔交易,把别人地址上的比特币转给我,能不能做到呢?答案是做不到。

因为这笔交易没有地址对应的私钥签名,是无效的,包含这笔交易的区块也是无效的,不会被其他节点所接受。即便我掌握了大部分算力,可以挖出最长的链,但也只是构建了一个很长的分叉。

众多的比特币钱包、交易所都不会认可我这个分叉。所以 51% 攻击,并不能把谁的 btc 偷走,或者凭空创造出比特币。最多是双花攻击,双化不展开谈了。总而言之,比特币网络不存在交易有效性问题。

那么这样一个十年前就被完美解决的问题,怎么又会出现呢?原因是 btc 等公链的节点都拥有全部数据,因此能完全独立地验证交易有效性。现在变成了多个分片,节点只存储部分数据,也就无法独立验证交易有效性。

我们看左侧的图,有两个分片,分片 1 已经被恶意的验证人所控制,在 B 区块里打包了无效交易,例如给自己的地址上凭空创造了很多通证。在下一个区块 C,攻击者发起跨片交易,要把通证转到分片 2 上的 DApp,可能是去中心化交易所。分片 2 看到的 C 区块里面的交易都没有问题,而且分片 2 也没有 C 区块之前的数据,所以无法验证交易有效性。

下面我们介绍一个在分片环境下解决交易有效性的方案,叫举报奖励。其实还有别的方案,但跟主题无关,就略去不提。

看右侧图,分片 1 虽然被恶意验证人控制了,但是还有至少一个诚实的验证人。分片 2 不能验证跨链交易的有效性,就选择相信分片 1,打包了跨链交易。这时候分片 1 里的诚实节点可以要跳出来举报,说区块 B 是非法的,我有证据。

系统接受了举报,就会惩罚分片 1 里的恶意验证人,没收他们质押的通证,并向举报者提供奖励。所以为什么有的区块链,验证人要收回质押的通证,都需要等几个月。主要的原因就是给举报和证实举报留出足够的时间。

以上我们介绍了四个分片的难题,和相应的解决方案。其实分片扩容的难题不止这些,限于时间,就不再列举了。

十一、以太坊正朔 —— Serenity

万字长文说透Polkadot架构(上)

下一代以太坊的 lay1 扩容思路就是分片。关于下一代以太坊,信息很混乱,连名称都不统一,有以太坊 2.0、Serenity、Shasper、Casper 以太坊等,我们统一称为 Serenity。

大家看 Serenity 架构图,是台湾资深以太坊研究员王韶为女士制作的。从上往下看,最上面是 PoW 主链,也就是目前运行的以太坊。Serenity 不会取代掉 PoW 链,而是以侧链的方式上线部署。

但是长期而言,Serenity 并不依赖 Pow 链,PoW 下面的三层都属于 Serenity,而且恰好对应 Serenity 演进的三个阶段。

首先是 Beacon Chain 信标链,主要功能是管理验证人。信标链上线后,如果希望成为 Serenity 的验证人,就把 eth 从 Pow 链转入信标链。还是用侧链的方式,信标链在 PoW 主链上部署智能合约。

eth 转入信标链是单向的,不能再从信标链转回 PoW 链。在信标链上拥有 eth,进行质押并运行节点,就可以成为验证人。为了达到充分的去中心化,做 Serenity 验证人的门槛很低,只需要质押 32 个 ETH,验证人集合会很大,可以达到几万到几十万这个数量级。

信标链还负责产生随机数,用于验证人分组和出块人选择。信标链执行 PoS 共识协议,包括它自己的共识和所有分片链的共识,对验证人进行奖励和惩罚。还有就是作为跨片交易的中转站。信标链预计在今年年底或明年年初上线。

目前有多个团队在进行信标链节点软件开发,有几个团队已经部署了测试网。下一阶段会部署公共的、长期运行的测试网,把各团队开发的节点放在一起进行测试。

信标链往下是多条分片链,图上画的是 100 个 分片。分片链被看成 Serenity 的数据层,负责存储交易数据,维护数据的一致性、可用性还有活性,也就是确保总是能出块,不会被锁住。分片链的上线时间还不确定。

分片链的下方是虚拟机,虚拟机负责执行智能合约和转账交易,改变状态,也就是对分片链数据进行读写。Serenity 很重要的设计决策是把数据层分片链和逻辑执行引擎虚拟机解耦。

解耦带来了很多好处,例如可以分头开发,单独上线或升级等等。Serenty 虚拟机将用 wasm,可以提高性能,并支持多种编程语言。

Serenity 如何前面所说的四个分片难题呢?首先是在信标链上管理验证人池,为每个分片链随机指定一组验证人。采用混合共识,验证人轮流出块,采 Casper FFG 敲定最终性。用举报奖励方法保障交易有效性。

十二、Gavin Wood 的新征程 —— Polkadot

万字长文说透Polkadot架构(上)

分享已到中途,终于轮到主角 Polkadot 出场。Gavin Wood 是 Polkadot 的灵魂人物,大部分同学对他已经很了解,不了解的上网搜一搜,我就不介绍了。

Gavin Wood 是 web3 基金会的创始人,也是现任总裁,Polkadot 是 Web3 基金会的核心项目。类似于以太坊和以太坊基金会的关系。

关于 web3,有必要介绍一下。在 web3 基金会和 Polkadot 等项目文档中,对 web3 愿景的文字表述不太一样。但是都包含两层意思。

第一层:web3 是无服务器的、去中心化的互联网。serverless 无服务器也是去中心化的意思,因为在 web3 憧憬的网络计算架构里,参与者或者说节点是平等的,没有服务器和客户端的区别,所有节点都或多或少参与网络共识的形成和记录。去中心化的互联网有什么用呢?

就是 web3 的第二层含义:每个人都能掌握自己的身份、资产和数据。

掌握自己的身份,意味着不需要其他人或者组织赋予身份,其他人或者组织也无法冒用或者冻结身份。掌握自己的资产,意味着不会被剥夺资产,可以自由处置资产。掌握自己的数据,意味着每个人可以按自身的意愿生成、保存、隐匿、销毁个人数据,未经他的允许,任何人任何组织都不能使用其个人数据。

web3 愿景并非 web3 基金会或者 Polkadot 项目所独有。很多区块链项目,包括比特币、以太坊,都有类似的愿景。名称五花八门,包括开放网络,下一代互联网等等。叫什么名字不重要,你应该思考 web3 愿景的内涵,那是不是你想要的互联网?

甘地说过:Be the change you want to see in the world. 我翻译成:迈向你想要的世界。如果 web3 也是你认同的愿景,那么就参与进来,为之努力。

Polkadot 是 web3 的骨干网,是 web3 的基础设施,是 Gavin Wood 和 web3 基金会指出的,通向 web3 愿景的道路。

Substrate 是 Polkadot 项目开发过程中形成的开源区块链开发框架,可以用来搭建 Polkadot 生态,也可以用于构建其他目的的区块链。

未完待续,点击阅读《万字长文说透Polkadot架构(下)》

本文来自投稿,不代表Odaily立场。如若转载请注明出处。

参与讨论

登录后参与讨论

星球君的朋友们

特邀作者

星球君的朋友们

优质区块链文章转载

总文章数: 812


分享至

微信扫一扫分享

0