Pallet主打的也是Internet of value,所以可以把它和RSK放在一块看

Pallet是一套互链协议和体系:价值交换需要互链,承诺的兑现需要约束,权益的转移需要一个标准化的协议。

Pallet本身不是一个区块链,其目标是使应用、智能合约与底层链账本解耦,形成一个细腰。部署在Pallet上的应用可以在各种链上灵活迁移,快速适配各种新的底层链。在互联网技术中,物理层可以是电缆或光纤;数据链路层同时包括ATM、SDH和以太网;但是由于IP协议的存在,使得上层互联网应用不仅可以忽略物理层、数据链路层的技术和物理设施的演进变化,并且一直保留历史积累数据,持续性的存在和发展。Pallet同样起到了这个作用,DApp(Decentralized Application,去中心化应用)可以在各种链上部署,不再受底层链的限制。

Pallet主打的也是Internet of value,所以可以把它和RSK放在一块看。

目前,打造一个成功Internet of value的主要挑战是区块链的可扩展性(Scalability)和互通性(Interoperability)。

说到可扩展性的时候又把以太猫拿出来鞭打以太坊,认为网络堵塞归因于整个网络达成共识的方式不够效率,即整个以太网络的所有节点都在运行相同的智能合约。

互通性的话就更加显然了,大部分区块链上的完整节点只通晓自己链上发生的一切,而对外部世界一无所知,于是每条链都相当于一个局域网。

为了解决以上的痛点,Palet的想法是把智能合约运行从区块链上隔离出去。它在DApp层和区块链层的中间塞入了一个中间层。这个中间层负责监督和执行DApp层中部署的智能合约。中间层有引入陪审团(Jury)的概念,每个陪审团是一组核实者(verifier)。每个陪审团对应一个智能合约,从而试图解决可扩展性的问题。

一个简单的价值转移可以如下:

A持有BTC,想收ETH;B持有ETH,想收BTC,可以通过部署一个智能合约来执行货币互换。具体的操作是第一步:Pallet选中多个核实节点组成陪审团,第二步:创建多重签名的比特币和以太坊账户作为合约账户,第三步:A把BTC打入合约账户,B把相应价值的ETH打入合约账户,第四步:执行合约,陪审团会核实和撮合订单。如果成功,陪审团会更新合约状态,然后A和B分别会被允许从合约账户中分别提取出ETH和BTC。

陪审软是个关键部分,用来执行合约并且和所服务的区块链进行交互,并且管理多重签名账户。只需陪审团内部达成一致就可以执行合约。如此使得系统更加高效。另外,只有合约状态才存到区块链层,从而节省矿工费,减少结算用时。

Pallet里还有一个PDC(Pallet分布合约),用来确保Pallet网络的安全性,智能包括管理维护系统代币和陪审团的预存代币,随机选择陪审团成员,在陪审团成员无法达成共识时进行仲裁。PDC看起来像是传统的区块链,使用POS做共识机制,为了防止PDC成为瓶颈,大部分的操作都是交给陪审团来执行,并且尽量少调用PDC。

另外,用户要发布和调用合约的话,需要通过一个叫做律师(Attorney)的系统工具。律师会和陪审团成员进行沟通交互。

在部署合约的时候,PDC会为这个合约指定一组陪审团成员。用户将合约代码和初始参数发给陪审团,陪审团核对并执行合约,如果操作成功,PCD将合约代码以及指定的陪审团成员信息保存到一个去中心化的数据库中。

一旦合约被成功部署,就可以调用合约。用户去中心化数据库通过合约ID来查询信息,然后数据库将合约可执行文件和指定的陪审软返回给用户。用户再把所有信息包括调用合约的实际参数打包,发给陪审团。

陪审团收到request后,每个成员独立执行合约,理想情况下每个成员得到的结果应该是一致的,然后更新合约状态。如果需要进行跨链交易,成员们会对链上交易进行多重签名。

为了系统的安全,陪审团需要预缴代币成为候补,有开缺才能提正。陪审团可以赚执行合约的手续费。

在安全性方面,Pllaet采用LLVM(直译底层虚拟机,实际指代编译器和工具链技术)和WASM(WebAssembly,面向Web的通用二进制和文本格式)来执行合约,程序员不被强制使用面向合约的编程语言(一定意思上限制了程序员的发挥),而是可以自由使自己熟悉的语言、各种编译工具,运行时优化等来放飞自我,优化代码和执行。支持各种平台和主流编程语言比如C/C++, C#,Python等。智能合约的执行不再和对应的区块链有强绑定。

而且在隐私保护方面,支持将部署的合约通过私钥加密,被许可的用户和陪审团可以通过公钥进行解密。甚至可以让陪审团通过密码本来执行合约,从而陪审团无从得知合约中保存的信息。

在应用场景中,最直接的就是去中心化交易所(DEX)。另外各种金融服务本质上也就是多方之间的货币合约,比如ETF,共同基金,大部分都被大机构控制,用Pallet每个人可以创建自己的ETF。另外很多金融策略和衍生品也可以很容易的实现。

Pallet的特点和技术优势

Pallet具备多语言、多链、多任务、多平台的特点,且具备高效、安全的特性:

多语言——支持多种主流编程语言编写智能合约

多链——智能合约可以和多个区块链交互,一个智能合约同时驱动多个区块链

多任务——智能合约可以由候选陪审员的一个子集来确认

多平台—— 智能合约可以在多个平台上执行

高效——智能合约被转换为LLVM位码并有效执行

安全——智能合约由健全的检查工具检查

同时,Pallet具备四大技术优势:

第一,Pallet可以将应用挂在多个链上,避免网络拥塞,用户选择性大,使得各种DAPP应用可以部署在不同的链上,可以形成良性竞争,更多用户可以参与,开发者在开发应用时可以根据业务需求更灵活的选择已有的链,或者方便的从已有经部署的链上迁移到更好更新的链上,使得已有的应用生态可以突破原来部署的链的自身架构局限、性能局限或者功能局限。

第二,一个智能合约可以同时运行于多个链之上,能够在多个链上协同执行一个智能合约。

第三,Pallet使用陪审员共识制度,陪审员随机抽取,能在较少的节点基础上实现充分随机性,相对于DPOS共识算法能保证更充分的去中心化,同时采用押金惩罚机制保证陪审员不作恶。

第四,支持C/C++,python,JS,solidity多种语言的智能合约,使更多的开发者加入区块链的应用生态。

总结一下:Pallet提供了一个抽象的智能合约协议。智能合约不再由底层的区块链中的矿工来执行,而是通过中间层Pallet的陪审团来执行。另外合约和陪审团一一对应,合约的执行只需陪审团达成共识即可,不会造成全网堵塞。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180308G0144F00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券