背景
虽然比特币有不少缺点和限制,但比特币却又是最去中心化、最多分布节点、最公平区块链,从数字货币地位、节点数量、去中心的权威等方面比特币还是很有优势。类似以太坊、比特股的区块链在技术和应用上后来居上,对比特币区块链产生相当大的威胁,而基于比特币的应用开发难度大限制多,因此应用项目不多。为了在创新的同时,又保留比特币网络的去中心化保障,侧链技术由此推出。侧链是以锚定比特币为基础的新型区块链,它以融合的方式实现新的金融生态目标和进一步扩展了比特币网络的应用场景。
另一方面,相比起公链来看,现在联盟链的发展势头要耀眼得多,但我们需要警惕的是,不要让联盟链变成纯粹的中心化或多中心化。联盟链和私链的方式从一定程度违背了区块链的去中心价值和信任体系,也让区块链里面的数字资产不能在不同的区块链间直接转移,主动或被动地导致了价值的孤岛,由此各种连接不同区块链的跨链技术也被人们开始关注和探索。
分类
下面通过技术实现不同,介绍几种侧链
公证人机制(Notary)
Interledger
Interledger Protocol,简称ILP,是由Ripple公司主导发起了互联账目协议,它将实现不同账本之间的连接从而创造账本之间的协作。Interledger协议适用于所有记账系统、能够包容所有记账系统的差异性,ILP推出的目标就是打造全球统一支付标准,创建统一的网络金融传输的协议。
金融机构基本上都是在自己的网络之中运行着各自的记账系统,即使运用了区块链技术后,也是在运行自己的私链或内部圈子的联盟链,这个除了是应对监管合规性的原因外,更重要是保护他们的内部数据避免泄密。ILP的由来是由于Ripple原来推广业务的困难导致的,银行宁愿用Ripple的源代码来搭建他们自己的私链,也不愿意连接到Ripple上。既然建立一个每个人都支持的全球金融传输协议很困难,Ripple就开发一个协议,能将所有我们目前正在使用记账系统连接在一起。
Interledger协议创建了一个这样的系统,在这个系统中,两个不同的记账系统可以通过第三方“连接器”或“验证器”机器来互相自由地传输货币。记账系统无需去信任“连接器”,因为该协议采用密码算法为这两个记账系统和连接器创建资金托管,当所有参与方对资金量达成共识时,便可相互交易。ILP移除了交易参与者所需的信任,连接器不会丢失或窃取资金,这意味着,这种交易无需得到法律合同的保护和过多的审核,大大降低了门槛。同时,只有参与其中的记账系统才可以跟踪交易,交易的详情可隐藏起来,“验证器”是通过加密算法来运行,因此不会直接看到交易的详情。理论上,interledger可以兼容任何在线记账系统,而银行现有的记账系统只需小小的改变就能使用该协议。
Ripple让世界各地的银行可以无需中央对手方或代理银行就可直接交易,从而使得让世界上的不同货币(包括法定货币和虚拟货币)自由、近乎免费、零延时地进行汇兑;Circle则让用户可以在无需手续费的情况下,以发送消息的形式发起即时的国内或跨境转账、收付款。目前Ripple和Circle正受到资本市场的热捧,Elwin觉得其中的原因,与其说他们的崛起是由于跨境汇兑和P2P支付革新,还不如说他们是对价值交换的革新,它们将各种账本连接起来,实现在互联网上交换资金能像交换信息一样轻松。
侧链/中继(sidechain/relay)
侧链
侧链和比特币网络挂勾,作为二级(secondary)区块链能够提供不同功能和特点的新型资产。有关侧链最典型的例子就是根链(RSK)平台。用户在这一平台部署并使用智能合约时,并不需要投资另一种新型加密货币。
侧链技术成功部署的标志是现实完全的去中心化。用户可以把比特币发送到一个特殊的地址进行锁定,然后在侧链上提取这种二级资产(secondary asset),反之亦然。这种方式被称为双向楔入(2-way peg)。
尽管在比特币区块链上锁币,然后在侧链上进行提现是可行的(可以通过销毁Proof-of-Burn的方式进行部署),但是,由于比特币协议的局限性,提现的过程无法达到完全的去中心化。
为了充分发挥其功能,侧链的运作是双向的,但二级资产的提现目前仍然无法转换到比特币网络中。因此,双向楔入的另一个部分去中心化(semi-decentralized)选择就产生了:联合楔入(Federated pegs)。
双向楔入
我们可以利用这些想法将一个侧链SPV楔入至另一个侧链。这包含以下工作:为了将父链币转移为侧链币,父链币被发送到父链上的一个特殊输出中,该输出只能由侧链上拥有的一个SPV证明来解锁。为了在两条链上进行同步,我们需要定义两个等待周期:
1.侧链间转移的确认期,是指币在转移至侧链之前,在父链上必须被锁定的期间。此确认期目的是生成足够多的工作量,让下一个等待期内的拒绝服务攻击变得更困难。典型的确认期的量级可以是一或两天。
当父链上生成了特殊输出后,用户等待确认期结束,然后在侧链上生成一个引用该输出的交易,提供出一个它已被创建并在父链上被足够工作量覆盖的SPV证明,
确认期是一个依侧链而定的安全参数,要在跨链交易速度和安全性间做权衡。
2.接下来,用户必须等待一个竞赛期。这个期间,新转移过来的币不能在侧链上花费。竞赛期的目的是防止重组时出现双花,在重组期间转走先前锁定的币。在这个延迟期内的任何时刻,如果有一个新的工作证明发布出来,对应的有着更多累计工作量的链中没有包含那个生成锁定输出的区块,那么该转换将被追溯为失效。我们称此为重组证明。
只要有可能,所有侧链上的用户都会有动力来制发重组证明,因为对不良证明的承认会稀释所有币的价值。
典型的竞赛期也是一或两天的量级。为了避免这些延迟,用户很可能用元互换(原子交换)(在附录C中有描述)进行大多数交易,只要有流动性的市场可用。
当币在父链上被锁定时,该币可以在侧链内自由转移,不需要与父链进一步交互。不过,它仍保留着父链币的身份,仅能转回到它所来的那一条链上。
当用户想把币从侧链上转回父链时,与原先转移所用的方法相同:在侧链上将币发送至一个SPV锁定的输出,产生一个充分的SPV证明来表明该输出已完成,使用这个证明来解锁父链上先前被锁定的那个等面值的输出。整个转移过程如图1所示。
联合楔入
联合楔入将提现功能委托给一部分信誉较好的比较可靠的公司,也就是交易所。
整个过程十分简单。在二级区块链交易中,比特币网络不负责资金的冻结或者解冻。要进行侧链内外的资产转移,用户可以将这些资金转移到一个由federation控制的多重签名(multisig)地址中。
一旦这个地址收到了一定数量的比特币,这个二级区块链将以完全去中心化的模式发放这部分资金,整个过程无需federation的审核。
如果用户想要把币从侧链转移到比特币区块链,他只要把这部分比特币转移到侧链中一个特定的地址中,并且在侧链中附上比特币区块链中的输出值信息。
接着,联合楔入会为输出创建交易。这笔交易必须由大多数密钥持有者进行签名,这样就算联合楔入的某位成员心怀不轨也不至于危及整个系统的安全。
应用:BTC Relay
BTC Relay是在以太坊基金会支持之下诞生并成长起来的,它被认为是区块链上的第一个侧链。BTC Relay把以太坊网络与比特币网络通过使用以太坊的智能合约连接起来,可以使用户在以太坊上验证比特币交易。它通过以太坊智能合约创建一种小型版本的比特币区块链,但智能合约需要获取比特币网络数据,这还比较难实现去中心化。BTC Relay进行了跨区块链通信的有意义的尝试,打开了不同区块链交流的通道。
哈希锁定(hash-locking)
Lightning Network
Lightning network闪电网络提供了一个可扩展的bitcoin微支付通道网络,它极大提升了比特币网络链外的交易处理能力。交易双方若在区块链上预先设有支付通道,就可以多次、高频、双向地实现快速确认的微支付;双方若无直接的点对点支付通道,只要网络中存在一条连通双方的、由多个支付通道构成的支付路径,闪电网络也可以利用这条支付路径实现资金在双方之间的可靠转移。
闪电网络的关键技术是HTLC哈希锁定技术,基本原理如下:Alice和Bob可以达成这样一个协议:协议将锁定Alice的0.1 BTC,在时刻T到来之前(T以未来的某个区块链高度表述),如果Bob能够向Alice出示一个适当的R(称为秘密),使得R的哈希值等于事先约定的值H(R),Bob就能获得这0.1 BTC;如果直到时刻T过去Bob仍然未能提供一个正确的R,这0.1 BTC将自动解冻并归还Alice。
跨链技术分析
跨链技术总结
· Notary scheme 公证人模式
· Sidechains/relays 侧链/中继模式
· Hash-locking 哈希锁定
1. Notary scheme 公证人模式
本质中间有一个可信任的组织或者实体帮忙做账本间的转换。
认为总体上分为两类:
· 基于分布式账本的 公证人模式。典型的例子是 Interledger Protocal (简称 ILP)。
· 基于链 (UTXO) 模型( 一般被称为 federated pegged sidechain )。典型代表是 R3 的 Corda
基本模型
Interledger Protocal
由 Ripple 提出的一套协议 ,目的是提高不同账本之间转账的结算效率。
· Ledger 层: 负责账本数据的结算。一般是插件方式实现不同 Ledger 层的数据交换。
· Interledger 层: 负责把 sender 的数据转发给 receiver。
· Transport 层: 负责判断交易条件和其他细节的。(例如 交易数字签名合法性)
· Application 层: 目的账户的发现,目的金额的协商,选择 Transport 协议等。
Connector 实际上就是一个 Notary。 底层有 不同账本的 Plugin 进行结算。
缺点:
· 主要是基于转账操作的跨链。
2. Relays 中继模式
去除了中间人的依赖,A链 直接从 B链上获取信息从而进行交易。
基本模型
BTC Relay
目的是用来验证 BTC的交易。
实现是通过 Relayers (矿工) 搬运Block的信息到 ETH网络,并通过 SPV 的方式进行交易的验证。
缺点:
· 单向访问 BTC
· 已经废弃。有 2W 个块未同步。
3. Hash-locking 哈希锁定
使用 BTC 的交易脚本实现的。通过 Hash Puzzle 的方式 锁定交易脚本。
OP_HASH256 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000 OP_EQUAL
需要解锁交易,必须要知道该 Hash 的原始数据(被称为 pre_image)。
因为 Hash算法 有抗碰撞性 和 不可逆的特点,所以 pre_image 是很难猜出的,也很难找到一个 不同的 pre_image 但是 Hash 相同的。
最常见的应用是 Lighting Network 的 HTLC (Hash TimeLocked Contract) 。
HTLC
假设 Alice 想从 Bob 那里买东西 ,Alice 和 Charlie 之间有 Payment Channel , Charlie 和 Bob 有 Payment Channel 。
· Bob 给 Alice 一个 Hash
· Alice 打钱给 Charlie 带上 Charlie的签名 和 Hash
· Charlie 收到钱后,从 自己的账户上,打钱给 Bob 并带上Bob的签名和 该Hash
· Bob 通过 pre_image 提取钱到自己的账户上,Charlie 收到 pre_image 之后提取钱到自己的账户上。
评论
查看更多