置顶 视频分享:Polkadot是未来链网世界的底层通信协议
发布于 1 个月前 作者 yuelipeng 50 次浏览 来自 Polkadot 技术

密码极客社区举办了一场Polkadot线下分享活动,ChainX技术社区的岳利鹏受邀讲解了一些Polkadot的基本概念,另外ChainX技术社区正在开发Polkadot中的加密金融平行链ChainX Net,有意加入者可以联系lipeng@chainx.org。

另有Substrate和ChainX Net的介绍文章请查看本期其他文章,Polkadot完整视频如下,文末还有答疑视频:

https://v.qq.com/x/page/x0788x5gkhg.html

PPT和文字版解说如下:

Polkadot密码极客分享.jpg

ChainX技术社区是全球最早一批关注Polkadot的,大家可以访问我们的官网chainx.org,下载Polkadot的中英文白皮书,上面还有一个论坛,里面有很多相关的技术文章。 Polkadot是由以太坊前CTO Gavin Wood领导的,于去年10月份完成的融资,全球大概有3000人参与,大概是1个以太换10个DOT,一共发行了500万个DOT,将于明年Q3上线,上线前还会再有一轮融资,继续释放200万DOT,总量是1000万个,有兴趣的同学可以到时候继续关注。

Polkadot项目的背后运营主体是一个叫做Web3的基金会,Web3这个概念也是最早由Gavin Wood提出来的。笼统地来讲,Web1.0只是一些静态网站,能够首次跨越地域高效地大规模传递信息,之后Web2.0时代,大的机构能够建立起一系列的框架,然后把上亿的人装进去,从而控制了我们的身份、数据和资产,比如我们现在最主要的身份是手机号,由电信和联通等控制,我们的财产由支付宝和网银控制,我们的聊天记录和社交网络由微信或Facebook控制,现代人享受了互联网带来的各种便利,但也丧失了各种控制权,毫无隐私,每一个人都是在几个大机构的眼皮子地下裸奔,期待他们用自身的中心化技术架构和信誉保证而不会出错或不泄露自己的数据。Web3.0代表的就是一系列帮助人们夺回控制权的技术,我们虽然会使用用户名和密码登录中心化机构的服务器,但数据全部是明文存在机构内部的,机构也是可以绕过这些用户名密码而篡改、泄露、或者冻结我们的数据,Web3.0改为采用密码学存储和私钥签名的技术架构,从根本上杜绝了别人代替我们做操作的可能性,比特币为代表的加密货币让人们夺回了资产控制权,以太坊为代表的智能合约让人们夺回了身份控制权,IPFS之类的存储技术让人们可以夺回了数据控制权,将传统以人的利益为核心的机构中介,变革为以代码为核心的机器中介,用死的机器来串联起人的大规模协作。 Web3.0的技术肯定会比2.0的更慢,操作起来也会更复杂,但这就是要付出的代价。

Polkadot密码极客分享2.jpg

在通往Web3.0愿景的路上,行业已经做出了一些成果,首先就是各类公有链的平台,推进了加密货币、隐私和智能合约的发展。除了区块链这样一种形式,去中心化的世界里还有其他各种技术,就比如以太坊最初在Gavin Wood的构想里,除了链本身,还包括了解决存储问题的Swarm技术,和解决点对点聊天问题的Whisper技术等。

Polkadot密码极客分享3.jpg

然后我们可以大概看下Web3.0基金会对Web3的技术栈概括。大概分为5层,L0是最底层的p2p通信技术,polkadot的p2p技术选用的是IPFS的libp2p,包含了丰富的网络协议技术栈,还有就是平台无关的计算描述语言,包括最古老的比特币UTXO脚本,到EVM虚拟机,以及Polkadot现在使用的WASM虚拟机等,都是希望在分布式环境中得出确定性结果。 L1层是各种我们熟知的独立链和跨链技术和存储技术,Polkadot是这一层中的最底层,提供的异构链间的通信基础。 L2层是对L1层协议的扩充,比如状态通道、Plasma、加密存储、存储激励、重型运算、分布式密钥管理、预言机等。 L3层是应用开发者级别的开发接口和合约语言等。 L4层就是终端用户的使用工具,比如各类钱包、浏览器等。 所以Polkadot项目本身也只是Web3.0的一个环节,Polkadot也只是Web3基金会的一个前期项目。

Polkadot密码极客分享4.jpg

但现在的去中心化世界存在多种问题,改进单链性能的纵向扩容模式是有瓶颈的,否则将影响网络的去中心化基础,所以就需要多条链存在来分工协作、横向扩容。用户的差异化需求和竞争也导致了各种新链的爆发,公链和联盟链的数目会越来越多,复杂度会越来越高,呈现出不可逆的碎片化趋势。而区块链本身是个完全独立的共识系统,与外界不产生任何直接关系,所以链与链之间也没有任何相通性。每条链的矿工系统是独立的,比特币的矿机挖不了以太坊,以太币参与不了EOS链的选举。用户需要在不同链上有不同的账户,各条链的数字资产也必须通过中心化交易所才能完成兑换,链的封闭性也导致了代币功能的局限,比特币只能在自己的链内进行a+b=c+d的UTXO运算,无法为其配备智能合约增加功能。

Polkadot密码极客分享6.jpg

下面举一些简单的例子,也解释割裂的区块链世界的弊端。最简单的,大家都知道现在区块链行业整体的TPS很低,但我们无法用简单加链的方法提高区块链整体的TPS。我们无法直接在链上完成BTC和ETH的原子兑换,必须通过中心化的交易所中介或局限性很大的哈希锁定跨链方式。我们无法在链上用Zcash或BTC匿名参与以太坊上的众筹,必须经过中心化的ICO平台中介。我们无法直接获取以太坊上合约对应的Dapp的HTML界面,必须经过中心化的域名和网站服务器,如果这些被黑了,就可以误导用户签名恶意交易。以太坊上还有很多应用需要获取现实世界的数据,必须通过复杂的Oracle机制输入进去,但这个数据也无法直接给其他链调用。因为隐私需求搭建了一条联盟链,就无法读取公有链的数据,或进行相互的读写操作。

Polkadot密码极客分享8.jpg

总而言之,我们可以把目前割裂的多条区块链系统,类比为还没有出现互联网的单机计算时代,把未来的各种跨链技术类比于互联网繁荣后的因特网时代,它将提供链间通信的各种基础协议,将区块链世界的网络效应真正发挥出来。

Polkadot密码极客分享9.jpg

其实单纯讲跨链这个概念的话,至少有20个项目都提到了这个点,大家也一般把跨链方法分了几类,从广义上来讲有如下几类:中心化模式就比如中心化交易所就可以完成货币跨链,需要信任一方。公证人机制就是信任几个公证人把一条链的数据传到另外一条链上去,也需要信任几方。哈希锁定就是一方先生成一个秘密的数字钥匙,两方在两条链上各锁定资产,以这个秘密的数字为钥匙,然后双方再在有限时间内先后解锁资产,这个模式非常依赖用户个人的及时操作,非常脆弱且低效,需要用户参与多次交互。所以其实只有基于轻节点的侧链模式才基本上是完全去中心化的,链外数据完全由另一条链的协议证明,POW最难链或POS最高抵押链加上默克尔树证明等。

Polkadot密码极客分享10.jpg

但即使是单向侧链模式离真正的高效链网结构仍然有很大距离,所以Polkadot表面上是跨链的代名词,但实际上完全跨越这个单纯概念,并不简单是个连接器协议,因为现有的链框架是无法进行高效跨链的,一方面POW共识只有概率确定性,存在很大的分叉可能性,影响跨链的原子安全性,而EOS这类链根本就没有完整的轻节点结构,可能也无法进行状态跨链,所以Polkadot本身并不是为了跨比特币、以太坊、EOS这些现有链,而是要重新打造真正的链网结构。所以Polkadot打造了新型的区块链3.0底层链Substrate,试图成为区块链界真正的操作系统,非Substrate打造的链都要先进行Substrate转化才能高效地接入进来。Substrate框架是Polkadot生态的重要组成部分,Polkadot白皮书中并未提到,是今年4月才宣布的概念,而且是逐步从Polkadot的代码中剥离出来的,是Gavin Wood多年区块链底层技术经验的结晶,其中的特性后续会仔细讲到,但跨链这个层面要提的就是它对POS轻节点功能的集成,为真正的跨链做准备。

Polkadot密码极客分享11.jpg

Polkadot致力于用去中心化的方式实现链间的任意消息通信,字面意思本身是波尔卡点,是一种均匀分布的圆点图案,含义就是多条链的平行存在,下面具体介绍Polkadot的一些细节。

Polkadot认为目前区块链系统无法扩容的原因,是把共识系统中的一致性和有效性绑定的太紧了,这两个概念比较学术,我们简单来讲解一下。 有效性的概念说的是一笔交易的对错,比如我有10个比特币,我转给张三5个是有效的,但我想转给张三20个就是无效的。 一致性的概念哪些有效的交易能最终被大家共识,我的10个比特币,可以转给张三5个,也可以同时转给李四7个,他们在未打包进区块链之前都是有效的,甚至可以打包在两条分叉上,但网络最终会共识出一条最长链来达成一致,某一个交易会被丢弃变成无效的,或者一个块里有1000笔交易,他们的打包顺序是什么。 普通人都可以校验交易的有效性,但只有拥有出块权力的验证节点才能决定交易的一致性。 概括性地讲就是有效性负责运算,一致性负责投票,一个是强运算依赖的, 一个是强资本依赖的。 运算只要有CPU内存硬盘这些基本工具就行,但共识就需要花费大量资本获得出块权力,POW投票需要买大量矿机, POS投票需要购买或拉票大量权益。所以这是两类人,Polkadot是个异构的多链框架,通过新增一条处于中心地位的中继链,可以从根本上解耦这两者。

Polkadot密码极客分享12.jpg

下面来大概看一下,Polkadot的整体架构,独立链指的是比特币、以太坊这类有独立共识系统的链,他们需要通过开发转接桥系统才才能接入到Polkadot系统中来,平行链是符合Polkadot跨链和共识协议的新型区块链系统,目前还不存在,中继链是用于全系统共识和跨链消息路由的核心区块链。 其中中继链采用POS机制,提名人是普通持有DOT代币的人,将手中的代币投票给候选人,其中得票最高的几百个候选人将成为验证人,行使全系统出块权。 收集人负责平行链的交易和证明数据整理,钓鱼人负责系统内非法行为的举报。

Polkadot密码极客分享13.jpg

然后我们具体来看这张图,中间的这个大圈是中继链,完成选举后上面会有几百个验证人,然后它周围的小圈是各个平行链,中继链包含了所有平行链的协议,能够识别平行链的交易格式,比如比特币的UTXO转账格式,以太坊的EVM格式,Zcash的零知识证明,或者Substrate的WASM格式,还会有平行链交易的相关性数据证明。对于每一个块,这几百个验证人都将进行随机分组,然后去负责不同的平行链,所以中继链的验证人游走于各个平行链之间,他们只运行中继链的全节点,但不会运行任何平行链的全节点。 每条平行链有多个固定的收集人,他们各自运行着自己平行链和中继链的全节点,收集用户的交易后,首先进行计算,然后附加上执行这些交易要依赖的证明数据,然后打包为多个候选块,交给负责该平行链的验证人小组,验证人小组在没有平行链全节点的情况下,就可以直接验证这些候选块,之后共识出该高度的平行链区块。 等所有平行链的区块都确定了,全体验证人再把跨链消息进行路由,发送到相应的目的区块链,之后再共识中继链区块。 等到下一个块,验证人再重新打散,分配到各个平行链去,如此循环往复。

Polkadot密码极客分享14.jpg

从上面的描述,我们可以看出Polkadot试图达到的特性,Polkadot只计算通用的各类标准虚拟机代码,之后进行链间底层消息通信协议,根本意识不到自己在计算的是什么应用,所以会保持最小的功能性。尽量将复杂性推给平行链,基础协议尽量保持简单。只有核心保证安全和健壮性,才能让更多的外围链系统进行更多的创新性试验。

Polkadot密码极客分享15.jpg

Polkadot总结起来只为了达成两个目标,一个是共享安全性,一个是去信任的跨链交易性。合并安全性是Polkadot的独创,是跨链领域的重大创新,完全超越了侧链模式。一般我们起一条新链,都是新起一套共识系统,POW链的安全性由矿机算力大小保证或者背后耗费的电能保证,POS链的安全性由节点抵押的币的市值保证,所以他们的安全性有的很高也有的很低。所以现有的POW或POS链都会有分叉的可能性,只是可能性高低的问题,有可能是局部几个块的常规分叉,也可能是大规模的恶意攻击分叉。但为了保证跨链时效性,我们需要把链A需要进行跨链的数据,尽快路由到链B上参与计算,或者就是单纯的链A到链B的资产映射转账 ,但等链B计算完毕或链B资产入账成功后,链A发生了分叉,那么跨链交易的原子性无法保证。

Polkadot密码极客分享16.jpg

矿机或者数字资产的市值总规模比较固定,新起的链都是从原有的大安全性池子中抽离了一部分,所以即使你有一个很好的技术方案,你也要花大力气打造安全性,否则无法被大规模接纳。所以需要做整体的共享共识,这样再想攻击平行链,难度基础就变成了攻击中继链整体,整个系统不会再是局部分叉,而是紧密绑定在一起,要叉一起叉。平行链将出块权让渡给中继链,自身只需要负责交易计算,这也是Polkadot宣称自己解耦一致性和有效性的方法。

Polkadot密码极客分享17.jpg

有了全系统的安全性保障,那交易路由也就变得简单了,中继链有所有平行链的轻节点,平行链有中继链的轻节点,跨链数据的证明会写进各方块头的Merkle树根,平行链间可以相互发送交易,中继链负责将跨链消息发送到对应的目的链、并返回结果。

Polkadot密码极客分享18.jpg

另有答疑环节的视频如下:

https://v.qq.com/x/page/i0788wj8c52.html

回到顶部