编辑: 会说话的鱼 | 2019-08-02 |
0Beta
2018 年3月28 日 分布式跨链协议 ――区块链世界的 IP 协议 PALLETONE
2 目录 摘要
4 前言
5 区块链技术存在的问题.5 可扩展性.5 互操作性.5 用户友好性.5 平台锁定.6 PalletOne 的诞生.6 PalletOne 介绍.7 SDK
8 PalletOne VM
8 通证抽象层.8 调停中介.9 陪审团.9 分布式存储.9 适配器.10 PalletOne 工作机制.11 合约模板创建.11 合约部署.11 合约调用.12 合约查询.13 合约终止.13 通证经济
15 通证作为保证金.15 通证作为交易费.15 通证作为陪审员奖励.15 通证作为合约押金.16 小结.16 PalletOne 技术特性.17 多链.17 多任务.17 多语言.17 多平台.17 安全性.18 PalletOne 技术优势.19
3 高性能.19 高通用.19 安全便捷的通证模型.20 稳健的生态系统.20 应用场景
21 跨链支付.21 金融工具.22 共同基金.22 交易所交易基金.22 金融衍生工具.22 支持多支付类型的 DApp.23 团队
24 顾问
27 投资机构
29 发展蓝图
30 总结
32 特别声明
33 风险告知
34 预警信息
38 附录
40 使用 PalletOne 进行通证发行的伪代码.40 词汇表.42
4 摘要 当前区块链技术在扩展性、跨链互操作性等方面面临着严峻的挑战,为应对这些挑 战,分布式跨链协议 PalletOne(Protocol for Abstract-Level Ledger Ecosystem)应运而生. PalletOne 在共识机制方面采用了独有的、全网共识和局部共识相结合的陪审团共识机制, 保证跨链合约执行的高效性和安全性.在合约设计方面,采用了合约模板和通证抽象的机 制,降低了合约开发难度和复杂度,将支持多种开发语言的合约编写,对主流的底层链进 行对接,实现跨链. 在PalletOne 中,智能合约只需要一组验证人进行验证和执行,这些验证人被称为陪审 员,并由他们组成陪审团.与IP 协议将物理层、数据链路层与传输层、应用层解耦类似, 通过陪审团共识协议,PalletOne 将智能合约同底层区块链完全解耦. PalletOne 智能合约支持多链,通过陪审团共识以及适配层,PalletOne 智能合约可同时 在不同的区块链上运行,用户在不同的区块链上通过调用一个 PalletOne 智能合约即可进行 通证交易,保证了跨链通证交易的分布式、原子操作和不可篡改的特性.PalletOne 中的智 能合约可以通过选择不同陪审团以多任务的方式执行,相较于全网共识的方式,将有效减 少网络拥堵,提高了 PalletOne 的可扩展性.PalletOne VM 作为智能合约编译和执行的核心 工具, 使得 PalletOne 可支持多种主流编程语言(Java、C++、JS 等)和多种类型的平台, 也为智能合约的编译和执行提供了安全的沙盒环境.通证抽象层和合约模板的设计进一步 的为 DApp(Decentralized Application,去中心化应用)的开发提供了便捷性和安全性.通过DAG 分布式存储与陪审团共识算法相结合,在存储和计算上均突破了传统区块链的技 术限制,PalletOne 在实现跨链的同时,自身也建立了一个高性能的分布式账本.
5 前言 区块链技术被认为是继蒸汽机、电力、信息和互联网科技之后,目前最有潜力触发第 五轮颠覆性革命浪潮的核心技术.虽然区块链极有可能在未来的 5-10 年内颠覆很多行业, 但仍存在一些技术挑战,制约其大规模的部署和应用. 区块链技术存在的问题 可扩展性 为构建通证(价值)流动的去信任的分布式网络,比特币和以太坊均采用了全网共识 的方式来保障每笔交易信息的准确性:即为对某个状态形成共识,所有的节点都必须运行 同样的程序.比特币网络每秒只能处理
7 笔交易,2017 年12 月,热门应用加密猫(Crypto Kitties)一经出现便造成以太坊网络的极度拥堵,也同时使得交易费大大增加.这些现象 都将矛头指向了现有区块链网络中的全网共识问题. 互操作性 如今的区块链,如比特币、以太坊等,都是由完整节点组成的强信任机器.这些节点 验证各自链上的交易,但是对链外一无所知. 由于每个链都是独立的、垂直的封闭体系,这些区块链逐渐变成孤岛,使得他们越来 越像当今的 内联网 . 用户友好性 在当前主流的区块链平台中,目前尚未有一个区块链平台(网络)出现,在易用性、 安全性、高性能等方面均可以满足开发者和用户的不同需求.
6 平台锁定 和其他的计算机技术的早期发展类似,区块链技术同样存在严重的平台锁定(Platform Lock-in)问题:开发者必须决定要支持和使用的区块链平台,并针对该平台实现特定的代 码.造成的结果是,开发者一旦在某个区块链中部署了一款应用,便无法迁移到其他的区 块链中.因此,对区块开发者而言,理想的区块链平台要满足让应用可以在各个区块链之 间 无缝切换 ,甚至对有些应用来说,只有运行在多个平台上才能实现最佳的用户体 验. PalletOne 的诞生 基于上述问题,如何完成链链互通成为区块链技术发展的重要议题,跨链的需求就由 此而来,由此我们提出了分布式跨链协议――PalletOne(Protocol for Abstract-Level Ledger Ecosystem).
7 PalletOne 介绍 PalletOne(Protocol for Abstract-Level Ledger Ecosystem)提出了一种有效的方式来同时 解决可扩展性、互操作性、用户友好性以及平台锁定的问题. 在PalletOne 中,共识机制采用了陪审团共识机制,智能合约只需要一组验证人进行验 证和执行,这些验证人被称为陪审员,并由他们组成陪审团.通过陪审团共识协议, PalletOne 将智能合约同底层区块链完全解耦,实现跨链价值交换.Mediator(调停中介) 负责 PalletOne 网络的安全性,是PalletOne 的核心构成部分.PalletOne VM 是智能合约编 译和执行的核心工具,是PalletOne 支持多平台和多语言的关键部分.为了提升智能合约对 通证定义的安全性,PalletOne 通证抽象层定义了关于通证的定义集和操作集.PalletOne 的 架构和各个组成部分如图
1 所示. 图1. PalletOne 架构
8 SDK PalletOne 为每个所支持的编程语言都提供了 SDK(Software Development Kit,软件开发 工具包),智能合约开发人员基于 SDK 可以快速的完成跨链智能合约的开发. PalletOne VM 作为智能合约编译和执行的核心工具,PalletOne VM 可以将主流编程语言(例如 C++、Python)编写的智能合约编译成为可以在不同平台上高效执行的字节码,使得智能 合约不仅和底层区块链解耦,同时和智能合约语言、执行平台解耦. 智能合约部署到 PalletOne 上后,将在 PalletOne VM 环境中运行,PalletOne VM 提供 了一个对主机安全的沙盒环境,杜绝了恶意合约对主机或网络攻击的可能. 通证抽象层 PalletOne 通证抽象层定义了用户在本平台内常用类型的通证的定义集和操作集,简化 智能合约的编写难度和复杂度,增加智能合约的安全性,同时扩大了平台用户开发或发行 数字资产和通证的范围. PalletOne 在初期将内置以下的通证抽象模型:(注:以下通证将不会作为 PalletOne 原 生通证) (1)全预挖通证 类似于以太坊中的 ERC20 发行的通证,用户只需要在发行通证时指定通证的总额、精度、通证名称、缩写等信息即可.PalletOne 一次性将通证创建并发行出来. (2)挖矿通证 类似于比特币的经济模型,用户在发行该通证时并不完全预挖或者不预挖,通证会随 着时间和出块的高度而慢慢发行. (3)固定面额通证 类似于现实生活中的纸币,用户可以定义 1,2,5,10,20,50,100 等面额的通证,并且一次 发行出来,使用该通证时不可分割. (4)非同质化通证
9 以上介绍的通证都是同质化的,也就是说你拥有的
1 个Token 和我拥有的
1 个Token 没有任何区别.而现实世界中也存在着大量非同质化的 Token,比如将艺术品(比如字 画)Token 化后,每一个 Token 都代表着独一无二的艺术品.在以太坊中 ERC721 定义了 这种非同质化通证.PalletOne 原生支持非同质化通证 调停中介 Mediator(调停中介)负责 PalletOne 网络的整体安全性.Mediator 的角色和传统区块 链有些相似,都是信任机器,因此,Mediator 需要保证所有的决定都是正确的.Mediator 使用代理权益证明(Delegated Proof of Stake,DPoS)来达成共识,为了防止 Mediator 成为 PalletOne 的瓶颈,大部分工作只需要陪审团完成而不需要调用 Mediator.以下是 Mediator 的主要工作: 1)持有 PalletOne 通证.PalletOne 通证是 PalletOne 原生通证,用于支付交易费 2)持有陪审员的保证金 3) 随机选择陪审员组建陪审团 4) 在陪审员无法达成共识时进行仲裁 陪审团 陪审团(Jury)是维护 PalletOne 安全性和完整性的基本单位.更具体的说,陪审团被 委任运行智能合约和管理多重签名账户.为了实现安全和去中心化的设计,陪审团被设计 为由许多参与者组成,这些参与者被称为陪审员.每位陪审员支付保证金以保证安全.陪 审团内采用 BFT 的算法来实现共识. 分布式存储 在PalletOne 中将使用有向无环图(Directed Acyclic Graph,简称 DAG)作为分布式存 储. DAG 相比于传统的链式存储方式有许多优点.首先,在DAG 中没有区块的概念,所 有交易都独立封装在一个存储单元(Unit)中,单元之间通过引用建立连接关系.其次,
10 使用 DAG 作为分布式存储,交易可以并行写入.在传统区块链的区块中,区块生成是由 矿工完成,而矿工需要在交易池中根据优先级和区块大小挑选交易,然后使用 Merkle 树的 形式将交易进行关联.因此,在链式存储结构下,未打包进区块的交易都处于阻塞状态, 而打包进区块的交易在区块未广播至全网之前都是属于未确定状态.相比于链式存储结 构,DAG 的交易可以实时并行写入到全账本中,从而保证了交易的确认速度.再次,在DAG 中,通过确定主链,使各个交易达到有序的状态,从而有效地解决了双花的问题.最后,传统的链式存储结构,当交易量不断增加的时候,会出现网络拥堵、交易长久无法确 认的情况.而在 DAG 中,参加的节点越多,交易量越多,交易的确认速度更快,因为交 易之间是通过彼此引用的关系来进行确认. 在PalletOne 分布式存储中,需要存储的具体信息主要包括交易信息、合约 ID、合约 代码、合约状态、合约对应的陪审员列表和陪审团在执行合约过程中处理的状态信息等. 适配器 PalletOne 在适配器层中提供了良好的接口和库函数,一方面对接主流的区块链平台, 另外一方面便于新的区块链底层平台对接 PalletOne,更好的实现 PalletOne 与底层链的信 息交互.
11 PalletOne 工作机制 合约模板创建 在PalletOne 中,所有类型的服务都是通过合约来创建.合约的创建是基于合约模板 的,我们为常见的场景提供了合约模板供用户使用.用户也可以自己创建新的合约模板并 部署到 PalletOne 上.合约模板的部署需要调停中........