首页 > 活动 > 沙龙

20180826(巴比特)Chainge技术沙龙第10期@杭州

来源:大圣2017 作者:大圣2017 2018-08-29 11:35:52

2018-08-27 邱祥宇 Chainge第10期 | 跨链到底有啥用 1澄清,2难点,4背景Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

2018年8月26日,巴比特【Chainge】技术沙龙第十期在杭州举办,本次活动的主题是“侧链&跨链技术在区块链领域的运用”,本次参与分享的嘉宾是Wanchain产品副总裁 杨涛、Blockstream首席战略官 缪永权、VNT Chain首席架构师 杨文龙、比原链核心开发者 王张、IRISnet&Cosmos中国研究员 Suyu。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

image.png

在本期的Chainge技术沙龙上,嘉宾分享了各自对跨链的理解和实践经验。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

  • 比原链核心开发者王张首先介绍了侧链的产生4个背景:区块链的负重、区块链数据风险、业务功能扩展、链之间的交互
  • Wanchain产品副总裁杨涛对跨链的定义做出澄清,他认为,跨链不能当做是一种“协议”(protocol)或者“协定”(agreement),准确的定义是“桥梁”(bridge)或者“机制”(mechanism),杨涛还介绍了目前跨链存在的两大难点。
  • Blockstream首席战略官 缪永权 则以Liquid为例,详细介绍了侧链的发展与应用。

Wanchain产品副总裁杨涛:跨链不是协议

跨链是什么?本质是什么?什么东西在跨链?Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

杨涛表示,区块链的核心应用是分布式账本,是用来记账的。而跨链解决的是两个分布式账本同时记账的问题。跨账本交易需要有一套清算机制,在银行这种中心化机制中是由代理行实现,比如国内银行间是通过央行来实现,央行帮不同的银行记账,不同的银行帮每个个人来记账。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

跨链是一种协议吗?Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

很多人会把跨链当做一种“协议”(protocol)或者“协定”(agreement),杨涛认为准确的定义是“桥梁”(bridge)或者“机制”(mechanism)。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

  • 协议一旦达成,就会形成规模效应,跨链是双边或者多边运用,难以大范围统一使用
  • 跨链应该理解成一个桥梁或者一个机制,分布式网络是不同的信息孤岛,通过跨链机制,其实是在上面修建了一座座桥,不同的桥承载的功能是不一样的,同样,不会有哪一种跨链机制可以一统天下

跨链的两个难点Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

杨涛认为,跨链目前存在两个难点,难点Alpha和难点Beta。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

  • 难点Alpha在于如何通过分布式的方式验证原链上的交易状态、处理跨链的节点不作恶,不会产生双重支付;
  • 难点Beta在于如何保证原链上的token总量不会因为跨链而变化、以及保证交易的原子性等。

Wanchain跨链的设计理念遵循了安全性、异构性与延展性、可用性、迭代性等设计原则, 希望基于理论创新在工程上为区块链的跨链做出贡献,并推动跨链技术的落地。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

  • 对于第一个难点,如何去信任的验证另一条链上的交易。Wanchain引入storeman角色,通过共识去验证另一条链的交易合法性和终局性。该模式目前正在理论验证和工程验证的阶段。
  • 对于第二个难点,Wanchain 采用了密码学安全多方计算 门限秘钥的方式,对原链锁定账号实现去信任管理,而且这种方式不会对跨链的吞吐量造成负担。

据杨涛透露,Wanchain 2.0版本已经在今年7月份公布,初步完成和以太坊的跨链测试,Wanchain 钱包和浏览器都已经支持和以太坊的跨链。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

VNT首席架构师杨文龙:聚合链构筑新型分布式智能价值网络

“公链上有token,联盟链上有数据,VNT要解决的就是:通过跨链,把联盟链上把数据转移给公链用户,把公链上的token转移给联盟链用户。”Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

杨文龙在现场中简明扼要地介绍了VNT为什么要做跨链。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

跨链要求保证原子性Atomic Swap和无第三方中心化的交易机构,杨文龙介绍了VNT聚合链如何在联盟链和公链之间完成跨链。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

如下图所示,跨链的应用场景是:左边是一个联盟链,右边是公链。用户A在联盟链上具有资产,用户B在公链上有资金,用户B想用自己的资金购买用户A的资产,从而实现价值的流通。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

流程大致是Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

首先,A用户在联盟链上的锁定自己的资产A,生成了一把锁和一把钥匙,并将锁交给B;B用户检查A用户在联盟链上的资产并在公链上锁定资金B。两把锁对应同一把钥匙。之后A用户用钥匙取到资金B,钥匙就留在了公链上。B用户在公链拿到钥匙向联盟链发送交易,取出资产A。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

上述交易存在一个问题Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

假设A用户把自己的资产锁掉了,并把锁给了B用户。B也把自己的资金锁掉了。这个时候钥匙在A用户手里,如果A不把钥匙发送给B用户,B的资金是不是就永远锁住了?Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

针对这个问题应该怎么解决呢?Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

增加时间限制。就是说,如果用户B把自己资金锁定的时候,在规定的时间内,A用户并没有把钥匙给到B,B就可以在时间到达之后自动解锁资金。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

但上述解决方案还是有问题Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

A用户和B用户资产都已经锁定,A用户也将钥匙发送给了B,当A刚好取出B用户的资金的时候,时间超时了,A的资产被自动退回,B失去了资金但并未获得资产。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

所以,时间周期要设置的足够好,比如24小时或者48小时,让用户有足够的时间完成交易。还可以加上通知机制,提醒用户注意时间。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

比原链的核心开发者王张:比原侧链技术简介

王张首先介绍了侧链的产生背景:Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

  • 第一,区块链的负重:导致产品体验差、使用成本高。主要体现在几个方面,区块大小,交易拥堵,TPS;
  • 第二,区块链数据风险:私密数据,或是不愿意公开,或是出于合规性要求不能够公开;
  • 第三,业务功能扩展:根据需求定制化,实现业务的多元化;
  • 第四,链之间的交互:公有链、联盟链、私有链之间能交互。

接着王张介绍了目前主流侧链方案:Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

  • RSK:实现智能合约,兼容EVM;
  • LOOM:针对以太坊的侧链,针对大规模数据优化,每个DApp一条链(游戏、社交);
  • Liquid:基于elements构建。

最后,王张介绍了bytom侧链实现:Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

基于双向锚定(two-peg),实现联合锚定(fed-peg)的侧链模型,引入多方中间人机制对于资产的质量和合规性进行把控。双向锚定和交易所的第三方担保不同,它是通过密码学机制来解决这样一个问题。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

王张还演示了比原链主链上的币发送到侧链上以及侧链上的币转回主链流程。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

如图,左边是主链,中间是客户端,右边是侧链。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

  • 首先在侧链上获取到主链的地址和侧链的数学脚本,
  • 客户端发送交易到地址,
  • 之后开始进行挖矿和等待确认,
  • 最后根据这笔交易在侧链上生成一个释放币的交易。

其中的参数proof是为了验证交易的正确性。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

侧链上的币转回主链的过程大致相似。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

IRISnet&Cosmos中国研究员Suyu:共筑区块链互联网

Suyu认为,跨链不仅仅是原子交换(atomic swaps),Cosmos希望通过跨链,代币能够脱离它的原生链在另外一条链上实现不同的功能。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

Suyu介绍了跨链交易的简单实现方式——侧链技术 PeaceRelay,目的是在Ethereum 和 Ethereum Classic之间完成代币跨链交易。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

这种方式存在的问题是:Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

通过以太坊的轻客户端Light clients 验证交易的有效性要消耗大量的gas。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

为了解决上述跨链问题,Cosmos推出Tendermint通用共识引擎,具有高吞吐、拜占庭容错、高分叉成本、开源的特点,Tendermint实现了网络层和共识层的功能,而让开发人员通过ABCI接口实现应用层的逻辑。这样的设计让Tendermint成为了一个通用的共识引擎,可以在上面实现各种定制化的功能。此外,Cosmos-SDK使用Tendermint和模块化的Cosmos-SDK更加容易地开发区块链。在保留他们自主治理的情前提下,Cosmos使区块链之间可以通过IBC和Peg-Zone互相转换价值Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

以IBC协议为例,IBC协议定义了最主要的两个交易类型的数据包。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

  • 一个就是 IBCBlockCommitTx,把发起的这条链的当前最新的区块的头部信息传到目标区块链。这样的目标区块链就获得了当前最新的这个链里面Merkle Root。
  • 另外一个包的类型就是 IBCPacketTx,传递跨链转代币的交易信息。这个交易信息实际上是在消息体里面实际包含的payload信息。这个消息在原链上的一个Merkle Proof。

通过Cosmos实现区块链的4维扩展:垂直扩展、水平扩展、跨链扩展(IBC)、协同扩展(IRISnet链接分布式商业系统)Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

未来跨链有哪些场景?Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

Suyu举了两个例子,比如和朋友打赌赢得BTC,你想把这笔收入作为隐私保护起来,可以通过跨链转移到Zcash分区上面。再比如和朋友打赌,你的加密猫在三个月之后会生一只巨猫,你们可以在Ethermint链上部署一个智能合约,考虑到BTC的价格会有所波动,你们可以将BTC通过0x分布式交易所转化成稳定币,如果三个月后你赢了的话,可以再把它再转回BTC。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

Blockstream首席战略官缪永权:侧链的发展与应用

缪永权首先介绍了Blockstream的背景,Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

Blockstream成立于2014年,员工有50多人。在美国旧金山、加拿大维多利亚、意大利设有办公室。Blockstream做的是扩展与加强比特币生态系统的工作,主要有四个项目:blockstream green(多签钱包)、elements(区块链平台)、lightning network(比特币微支付)、blockstream satellite(太空比特币)Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

  • elements是blockstream一个开源的项目,是扩展比特币协议的区块链平台,用户可以创建自己的与比特币挂钩的侧链,也可以创建不相关的区块链。
  • 基于elements开发的Liquid是侧链技术在商业性的应用。Liquid是一个跨交易所的结算网络,可以实现更快的交易和结算时间,也可以增强隐私性,使用保密交易增强隐私性,由Liquid联盟运营和控制,发行并交易多个资产。另外还有一个好处是通过用户钱包可以减少托管风险。Liquid面向用户主要是交易所和一些金融机构。

Liquid的基本原理是它有功能服务器操作的并行区块链,比特币可以在链之间相互移动,侧链上可以存在不同的规则。Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

Liquid的工作流程如下:Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

  • 首先,比特币发送到Liquid上流程:Liquid用户通过比特币网络发送比特币peg-in地址——Liquid用户等待102次确认,然后从Liquid网络请求L-BTC——Liquid用户认领L-BTC并出现在他们的Liquid钱包中。
  • 其次,Liquid上的比特币发送到比特币网络流程:Liquid用户创建一个peg-out交易以请求发布比特币——Liquid网络在2次Liquid确认后释放比特币——Liquid用户的比特币钱包接收到比特币。

缪永权还介绍,Dj6BCfans | 区块链爱好者_区块链技术_区块链开发_区块链是什么

  • Liquid由于挖矿会增加延迟并降低吞吐量,Liquid的区块由成员签名而不是被挖出,这样大大加快了出块时间,能够实现一分钟出块
  • 其次,保密交易,可以看到资产的发行,但交易金额和资产类型是保密的
  • 最后,Liquid成员可以创建任意资产,比如代币化法币、代币化山寨币、数字收藏品等。

公众号关注 bcfanscom 或搜索“区块链粉丝”,参与大咖直播和糖果空投活动

BCfans公众号