区块链还处于初级阶段,仍然是一片蓝海,基础技术都不太完善,特别是跨链底层。
要点速览
1.两个成功的应用软件微信和支付宝已经在互联网领域做到了“跨链”。
2.区块链目前尚未让人们的生活更方便、美好,而跨链技术又是一项重要的关键技术。
3.闪电网络解决了比特币网络TPS的问题,用到的技术比较简单,hash锁定也多重签名技术。
近日,NULS技术研究院与技术社区负责人张星做客「火星财经重庆群」,分享了“跨链技术的演进”。
张星表示,不管是技术层面,还是社会分工层面,把整个现实社会都搬到一个区块链上是不现实的,因此需要跨链。
关于跨链设计需要考虑的关键技术问题,张星总结为:安全性、性能、去中心化的平衡与取舍;简单通用的协议;扩展性问题。
以下为张星分享内容,由火星财经(ID:hxcj24h)整理:
为什么需要跨链?
很荣幸能跟大家一起讨论跨链技术方面的问题。
首先,为什么需要跨链?把整个现实社会都搬到一个区块链上是不现实的:技术上,吞吐量、网络孤立性、伸缩性等因素的制约;社会分工上,行业是一个很大的概念,金融、医疗、教育、农业等各个行业都非常复杂,现实社会中的公司同时从事多行业的运作是非常困难的。
家庭是社会生活的基本单位,一个家庭往往需要跟各个行业打交道,各个行业服务的最终客户毕竟是人,让人们的生活更简单、方便始终是技术发展的终极目标。
我经常提到两个成功的应用软件微信和支付宝,我认为它们在互联网领域做到了“跨链”。以我个人为例,我使用支付宝可以解决大部分家庭问题(花呗、火车票/机票/酒店、日常生活缴费、外卖、电影票、快递等等),这些不同的功能在底层是不同的应用系统实现的,被支付宝汇集在了一起,值得一提的是支付宝最开始是个做支付和理财的金融应用平台。
大家期待已久的区块链“杀手级”应用为什么迟迟没有现身,个人认为区块链目前尚未让人们的生活更方便、美好,而跨链技术又是一项重要的关键技术。
跨链需要实现什么功能呢?blockstream在侧链(sidechain)的论文中,提到了如下一些功能:
1.资产可以从主链转移到侧链,并且可以转回;
2.安全性:只有资产持有人才能转移链间资产,这个跟在区块链中一样,毕竟安全性是最重要的问题;
3.原子性(atomic): A链转出和B链转入,必须同时成功或者失败,学计算机的朋友可能不会感到陌生,因为在学习数据库原理的时候,“原子性”是数据库的必备特性之一。
4.侧链安全隔离:侧链的bug不会影响到主链或其他侧链;
5.侧链数据精简性:侧链只保存有用的必要数据,比如经典的侧链就使用SPV验证,只保存区块头。
来看看V神给R3报告中关于跨链互操作的用例技术性解释,用例有:便携资产、侧链、跨链Oracle、资产留置或抵押、跨链智能合约。
对于跨链技术没有明确的定义,以上两处引用给大家一个直观的概念。值得一提的是,上面两处提到的跨链用例也是停留在金融领域,更多行业和领域的功能还需要无数创业者和开发者一起努力。
这里的分享比较简短粗略,sidechain原文,请有兴趣的朋友参考:
http://blockstream.com/sidechains.pdf
v神给R3关于链间操作的报告,请有兴趣的朋友参考:
http://upyun-assets.ethfans.org/uploads/doc/file/f8ee4c6b670747e095ef00d8ac39eb67.pdf?_upd=Chain_Interoperability.pdf
现有跨链技术和项目
接下来我分享一些现有跨链技术和项目。比较早的项目是闪电网络和BTC relay。闪电网络解决了比特币网络TPS的问题,用到的技术比较简单,hash锁定也多重签名技术。
闪电网络的安全性还有一些其他的安全措施:
1.主动提交链上结算方会后到账;
2.一旦主动提交最后账本的一方不诚实被另外一方举证,那么主动提交链上结算的一方资金将会被罚没;
3.延迟结算。
接下来说说BTC Relay。BTC Relay采用了智能合约内嵌Bitcoin SPV的原理来允许以太用户可以用Bitcoin进行交易的目的,合约里面存储了另一个“小型的Bitcoin区块链”,因此也称为以太坊的一条侧链。
从BTC Relay的官网以及github互动来看,这个项目应该已经有比较长的时间没有更新了。总体来看,这个项目不同于其他利用类似双向锚定原理的侧链,直接利用以太坊的智能合约实现。
总体来言,btcraly属于一个侧链,大家对此应该也不陌生。
这个技术实现起来有一些意思,比如设计者为了降低手续费,允许跨链区块头收集者自由竞争,收集者可以设置查询费用,其他收集者可以设置更低的查询费用替换之前的收集者。
在
http://btcrelay.org/developers
,大家可以找到更多的信息。再次说明一下,今天的分享比较偏技术,需要深入研究的朋友可以线下和我一起讨论,一起写程序。总结一下,闪电网络和BTCRelay 属于比较早的跨链技术,解决了一些跨链的问题,但是区块链需要解决的远远不止于此,接下来分享几个更有意义和代表未来方向的项目。这些项目有interledger, 、波卡、cosmos。
interledger的目标是建立全球统一支付标准,理论上兼容任何账本系统。这个目标听起来比较大,但是实际上做到了,的确兼容性极强,我认为interledger的设计成功之处在于接口简单、协议分层明确,架构思路清晰。
interledger可以把用户的账户设计成网站域名的格式,用于跨账本易于读写;支付协议非常简单,支付层属于应用层面的功能,完全隔离了底层不同账本的异构性。想做支付的朋友可以参考interledger的设计,非常经典。
以上几个跨链项目都在解决特定的问题。cosmos和波卡链则是我认为的跨链项目的未来方向,其着眼点并不是某一个特定的问题,而且更佳注重生态跨链,是跨链技术未来的重要支撑。两者的设计比较抽象,特别是波卡链。
跨链设计的关键问题
跨链设计主要需要考虑几个关键的技术问题:
1.安全性、性能、去中心化的平衡与取舍;
2.简单通用的协议;
3.扩展性问题:扩展性问题涉及方面诸多,需要区块链的架构师(或CTO)合理平衡当前与未来的可能性,值得一提的是,在区块链行业的初期,做到合理平衡当前与未来是一项非常艰巨的挑战。
安全性方面,一条链需要验证另外一条链是否交易发生需要51%或者66%节点确认,波卡链大胆提出了让人质疑的解决方案:不需要51%或者66%节点确认,设立赏金猎人监督跨链信息收集者,如果收集者作恶,会受到严重的处罚,以重罚代替大多数人确认。由于共识机制是DPOS+拜占庭机制,委托人和受托人一样重罚。
另外一个需考虑的问题是链回滚的问题,多链交互的情况下,链的回滚会带来致命的安全风险,cosmos 使用Tendermint共识机制让跨链信息两轮投票,区块永远不会回滚。
还有一个问题是,链间安全隔离,很多区块链由不同的开发者开发,不能保证所有链都是安全的,cosmos把每个区块链当成一个账户,记录每条链每种的token总数,不允许超过总数的token跨链传输,这样实现了链间安全隔离。
从以上特性,我们可以看到波卡和cosmos的技术性取舍。
两者都具有非常强的兼容性和扩展性,都是底层设施(前面讲到interledger也具有非常强的兼容性,但是属于应用层面),值得大家深入研究。
为了完整性,这里补充一下公证人模式,公证人模式是基于多重签名,双向锚定跨链方式,这种模式适用于与BTC和BCH等很难修改协议的公链对接方式,优点是安全、性能相对高,缺点是去中心化不够强。
最后,区块链还处于初级阶段,仍然是一片蓝海,基础技术都不太完善,特别是跨链底层,请广大创业者、企业家、程序员共同努力,也欢迎大家私下里跟我一起学习区块的各种技术。未来是什么样子,我也讲不清楚,需要大家一起去创造。
本文根据「火星财经创始学习群」嘉宾分享内容整理,不代表火星财经立场。转载须在文章标题后注明:“文章来源:火星财经(ID:hxcj24h)”。
嘉宾简介
张星 / NULS技术研究院与技术社区负责人
区块链底层模块化奠基人,首次提出基于节点信用的POC信用共识机制,深谙区块链运作原理,熟悉Linux内核与数据库实现原理,致力于打造一个灵活易用的区块链基础设施,降低区块链技术商业应用进程。