写在前面:本文4016字,请耐心看完,笔者尝试用最直白的文字解读PalletOne项目。一得之见,恐有不足,烦请诸位大佬不吝赐教!另耕耘不易,谢绝转载!
一、跨链的必要性
2018年被我们称之为公链元年,原因在于2016、2017年整个区块链项目迎来了井喷式发展,有大量的项目涌现,大量公链项目上线,2018年成为公链竞争的关键一年,被誉为公链元年。
各种公链如ETH、EOS、NEO等等纷纷涌现,同时伴随着基于该公链的DAPP数量也大增,为了解决不同的问题,每条公链所采取的技术和理念也不同,虽然每条公链都自己的优势,但因为底层技术和理念的不同,公链们也把自己封闭了起来。之前我谈到过公链如同一个个城堡,每个公链都在自己的城堡内进行自治,基于本公链的用户只能在该公链上进行数据的切换,如同一个个海上孤岛,被隔离开来,不能进行更大范围的数据交换和信息交互,无论对DAPP开发者,还是对用户都是很大的伤害。
举个例子:以本体《加密猫》来讲,这一款基于以太坊的区块链游戏。
①.我是用户,要玩这个游戏,我需要ETH钱包进入,然后我需要ETH代币,可是我只有BTC代币,我需要做什么?我要先下载钱包,然后拿BTC交易所换成ETH进行游戏激活。
在这个过程中,我做为用户,我会遇到两个问题,钱包入口,从BTC到ETH的代币变更,如果哪个环节做不好,或者我觉得麻烦,可能就放弃了。而这种不好的体验,就很容易造成客户的流失,游戏商得不到用户,用户玩不到游戏,无疑是对用户和游戏商两者的伤害。
②.我是《加密猫》游戏商,现在忽然出现一个新的公链,我觉得这个公链前景可以,那我要重新开发一个基于该公链新的《加密猫》DAPP,我需要重新学习该公链的操作语言,设计构思,调试,同时要维护两个不同底层技术的游戏运营,对后期运营也是很大的成本。
在这个过程中,我做为DAPP开发者,如果选择在这条公链上开发DAPP,我会首先考虑这个公链持技术开发语言,我的学习成本,维护成本,如果成本过高,我可能会放弃了。而这种成本,会造成DAPP数量过少,生态不够完善,对公链、用户都不是好的选择。
那么有没有一种好的方法能兼顾用户体验,同时减少开发成本呢?
往进一步深度思考,有没有一种方法能够让公链之间进行直接数据交换、信息交互呢?
二、格尔迪奥斯绳结
上面提到过,随着越来越多的区块链项目上线,大部分的区块链项目,是一个独立的生态体系,没有其他的区块链进行对接,必然导致越来越多的价值孤岛形成。在区块链所面临的诸多问题中,区块链之间互通性极大程度的限制了区块链的应用空间。
同时,由于区块链互不连通,资产价值大幅波动,必然制约整个区块链技术的应用和发展。
那么如何解决公链连接的问题?
三、跨链时代
跨链技术就是实现价值互联网的关键,它是把区块链从分散的孤岛中拯救出来的良药,是区块链向外拓展和连接的桥梁,跨链技术是解决信息孤岛,连接公链的有效手段,同时也是区块链的主要发展方向。
目前跨链技术的主要模式,包括中继模式(Relay)和侧链模式(Sidechain),做以下对比:
①.Relay中继模式,以BTC-Relay简单来说,在以太坊上部署Relay合约,第三方提交btc区块头,区块头包含btc交易数据,Relay合约则校验区块头合法性。该模式的一个主要问题之一就是第三方提交区块头会涉及到大量手续费,加入调用Relay交易无法覆盖该手续费,从成本角度,很难持续。
②.侧链模式(Sidechain)模式,提出了双向锚定方案:为将母链代币转移为子链代币,母链代币会被发送到母链上的一个地址,且代币被锁定,该地址代币只能由侧链上的一个SPV(最小交易证明)证明来解锁。侧链面临的问题在于SPV验证的复杂性高,且涉及到链协议的更改,甚至联合挖矿,这在落地上会面临较大困难。
其他还有如ArcBlock,FUSION,Lightning network等技术,这里不再一一列举,这些技术在现实应用还有不少的难处。
公链数据之间如何交互、跨链技术新方向在哪里?
斩断“格尔迪奥斯绳结”的大剑又在哪里?
四、PalletOne为跨链而生
2018年,Pallet诞生。
PalletOne(全称Protocol for Abstract-Level Ledger Ecosystem)与底层区块链、智能合约语言、执行平台解耦,无需“链与链”之间的锚定,是一个分布式的、包容的交易执行环境。
1.解耦概念
PalletOne 是一个和底层区块链解耦的分布式跨链协议。
——引自《PalletOne白皮书》
这个是PalletOne白皮书上最后的总结句,我认为这也是PalletOne整个核心技术所在,下面我讲通过最直白的语言来给大家讲解PalletOne的跨链技术。
要明白PalletOne的跨链技术,我们先明白一个词,什么叫“解耦”。解耦这是一种追求既开放又互联的生态,就像我们小时候玩积木一样,每个积木都是相互独立的,但是又可以灵活地组合在一起,还可以自由拆分、替换。
为了更深入的了解耦概念,我将从三个层面来给大家讲解解耦:解耦共识,解耦通证,解耦组织。
①.共识解耦,将公链底层和公有子链的共识机制进行分离,两者不必绑在同一种共识机制上;
举个例子来讲,比如前文提到的以太坊撸猫游戏《加密猫》,这个游戏在高峰期时间,一度导致网络堵塞,为什么?是因为撸猫操作和以太坊的转账交易起了冲突,因为撸猫和转帐都需要调用到以太坊上面的智能合约。撸猫操作的流量过大,降低以太坊底层进行转账交易确认的效率;太坊上进行转账交易流量过大,反过来又降低智能合约调用效率导致撸猫困难,所以才会堵塞。这个可以因为整个以太坊公链的共识是绑定的,公链操作和DAPP应需要同一种共识调用,一个人干两人的活能不堵吗?
②.通证解耦,dapp的开发者所消耗的公链gas和dapp的终端用户所消耗的子链gas,两者是相互独立的;
再举例以太坊来讲,如果撸猫只是通过花费一定的gas,调用以太坊上面一些底层技术和共识,而不直接调用以太坊的智能合约,就像获得了公共基础服务要交水电费一样,那么是不是就不那么堵塞呢?
③.组织解耦,dapp的内部分工以及外部合作不必通过传统的合同契约进行确认,而是可以通过支付通证来调用公共服务子链集的智能合约,从而实现大规模协作过程中的价值交换。
举个例子来讲,比如现在采取双通证模式的本体公链,就是采取了ONT做为公链通证,公链通证ONT只负责底层公链代币用来投票、转让价值或者各种应用场景交互;用ONG做为燃料通证,用来链上交易和用来支付第三方公链的调动服务费用,从而提高公链利用率和第三方调用服务率。
如果上关于解耦的概念还不是很理解的话,我用最简单的一句话来给大家解释:解耦就是把公链为为技术层底和DAPP应用层分级。公链技术和共识作为公链开发的底层,提供技术和共识基础,DAPP开发于公链架构基础之上,这两个层面相互依托,彼此关联,却又可脱离。
2.PalletOne技术原理实现
看慬了以上关于三个解耦的相关层面,我们现在来了解下PalletOne的“底层区块链解耦的分布式跨链协议”这个技术原理的实现:
PalletOne把智能合约跟底层区块链完全解耦,它通过陪审团共识协议、调停中介,达成共识和安全,通过适配器提供接口和库函数,最终实现跨链的价值流通。同时,PalletOne VM是智能合约编译和执行的核心工具,可以支持多平台和多语言。
从上面图片上可以看出,这一整块就是PalletOne跨链的核心部分,其中:适配器(Adapter)直接触公链的如BTC、以太坊或者其他公链,是PalletOne跟不同链交互用的沟通媒介;而PalletOne Core内核是验证过程,是跨链实现的必经部分;而PalletOne VM虚拟机是跨链的核心部分。
PalletOne公链跟智能合约VM、分布式存储、区块链适配器共同交互完成整个数据信息的跨链。
具体的实现过程其他方面的资料有很多,白皮书中也有过程,我这里只简单来描述一下过程实现:
①.PalletOne定义了虚拟机操作的接口,对虚拟机层来说只需实现该接口,方便支持更多的虚拟机实现。内核为虚拟机运行提供跨链访问接口,接口调用传给适配器,由适配器执行。
②.PalletOne针对不同区块链特性,设计了三种操作接口,包括数字货币适配接口、基于UTXO模型的适配器接口、智能合约适配器接口,最终智能合约通过SDK提供接口,实现跨链操作。
如果上面的跨链实现原理,你还是觉得比较晦涩,我用最简单的一句话来给大家做总结:公链因为底层技术和共识不同,造成了无法相互交互的困境,而PalletOne通过智能合约调用不同的适配器,来给各个公链接洽,最终实现公链信息之前的交互、转换。
举例来讲,各个公链现在就像咱们现在用的各种品牌的手机有华为、苹果、三星等等。因为技术的不同,硬件也不同,充电接口也不同,华为的充电器,不能用在苹果上,三星又和华为不能通用,每个手机必须用自己品牌的充电器才可以充电,这就像是公链的信息孤岛一样不能互通。那么如何解决这种情况呢?PalletOne想到一个办法,我可以设计一个多功能的充电器,比如我们有用到过的,一个充电器上有华为、苹果、三星等多种数据接口的充电器,当给华为充电时用华为,给苹果充电时用苹果,给三星充电时用三星,从而实现信息共享,这就是PalletOne的跨链技术原理。
PalletOne致力于实现不同链的网络之间信息、价值、功能互通,形成一个真正“链网”。PalletOne可以支持不同链之间的跨链支付,比如比特币网络的用户要购买以太坊游戏应用上的道具,不用通过交易所进行代币的兑换,而是可以直接使用PalletOne跨链功能用比特币实现快速支付,可以极大简化操作流程。
五、项目最新进度
来看PalletOne发展历程,PalletOne从2015年10月就已经开始开发项目—— vChain(内部项目),并为vChain开发了浏览器和VM等,尝试促进区块链技术的实际应用。
2016年,PalletOne尝试解耦以太坊的智能合约,使之适用比特币,甚至其他现有的区块链,这使PalletOne注意到了解耦的真正潜力,随后,PalletOne的概念便应运而生。
PalletOne 已于2018年9月底完成了 BTC 与 ETH 适配器的研发,实现了 BTC 与 ETH 的基于 PalletOne 的跨链交换。
自2018年6月在Github上开源代码,截至主网启动,共进行了5次代码版本升级,代码提交量6500余次,代码量19万行。
北京时间2019年6月30日18:00,PalletOne主网已正式启动,至此PalletOne调色板进入主网小规模网络运行阶段,至今主网运行良好。
六、未来展望
2018年是公链的爆发年,2019年亦是跨链的爆发年,而跨链技术亦会在技术需求的驱动下不断完善,搭建出一个基础设施来支撑通证经济、产业公链及公链应用。
相信PalletOne在2019年也会以每一位PalletOne用户和投资者的支持与坚守为动力,坚持PalletOne以跨链与公链共载定位,完善技术细节,多方合作生态,服务实体经济。
正如白皮书所言,我们(PalletOne)是一群技术狂热者并且相信区块链的未来前景:价值互链网。
PalletOne是实现价值流通的高性能的公链跨链共载体,致力于将链链互联,让区块链“孤岛”间的价值流动畅通无阻,相信只要PalletOne坚持信念,坚定互链网价值,PalletOne必将实现区块链网络价值的最大化,也能真正成为区块链世界的IP协议!