下载
关闭菜单 -

侧链的前沿技术:Liquid和RSK

Published on: 30 五月, 2019

在这篇文章中,我们与RSK的首席科学家Sergio Lerner分析了Liquid和RSK侧链的最前沿技术。

作者:Sergio Lerner 

2016年,Blockstream提出将挂钩的侧链作为扩展比特币的可能途径。第一个最初的侧链概念是使用交叉链SPV证明(和p2ptradex中一样)和alt链的无法分割交换组合。 “侧链”不是一个正式的术语,但它经常是指信任最小化的区块链,允许以外来加密资产(另一区块链的原生资产)进行支付。比特币侧链可以在比特币的激励系统干扰最小的情况下改善比特币。通过侧链可以实现的最有意义的益处是用户资产发行、支持DeFi解决方案的有状态的智能合约、承诺链扩展、更快的结算终结和更高的隐私性。其中有两个侧链项目脱颖而出:Liquid和RSK。 两者都是自推出以来一直非常活跃的比特币侧链。

联盟挂钩侧链

联盟挂钩侧链发行原生代币,这些代币由锁定在多重签名地址中的主链代币进行抵押。此多重签名的私钥由一组职能机构创建和管理。用于锁定和解锁主链和侧链代币的机制通常称为双向挂钩。联盟侧链有很多种,理解它们之间的细微差别很重要。

首先,我将简要介绍Liquid和RSK侧链,正如分别由Blockstream和RSK Labs所解释的。

Liquid

Liquid是一个交易所间的结算网络,将世界各地的加密货币交易所和机构联系在一起,从而实现更快的比特币交易和数字资产的发行。Liquid网络是为交易所、经纪人和做市商提供的一个区块链,可以与网络的其他成员进行快速、私密的比特币交易。通过Liquid的发行资产功能,会员可以对法定货币、证券甚至其他加密货币进行代币化。Liquid挂钩和共识由职能机构的联盟进行管理。Liquid侧链中的原生代币是LBTC。

区块资源管理器: https://blockstream.info/liquid/

网络统计: https://liquid.horse/

文档: https://blockstream.com/whitepapers/

 

RSK

RSK是由比特币挖掘者担保的有状态智能合约平台,目前是最安全的基于工作量的智能合约网络。它使去中心化的应用程序能够赋予人们权力,提高他们的自由度和生活质量。作为一个侧链,它通过扩大比特币货币的使用来提升比特币生态系统的价值。去中心化应用程序可以使用Solidity编译器和Web3标准库编写,从而实现以太坊兼容性。此外,它还可以通过RIF Lumino支付渠道网络提供的更多链上空间和链外交易来扩展比特币支付。RSK双向挂钩由RSK联盟保护,块共识通过合并挖掘进行保证。RSK侧链中的原生代币是RBTC。

 

区块资源管理器:https://explorer.rsk.co/

网络统计:https://stats.rsk.co/

测试网龙头:https://faucet.testnet.rsk.co/

文档:https://github.com/rsksmart/rskj/wiki

 

 

比较图表

这两个项目都是侧链领域的领导者。但是,他们存在重要差异。在下图中,我们对RSK和Liquid进行比较。自2015年以来我一直在合作的侧链RSK于2018年1月推出。Liquid是由Blockstream创建的侧链,于2018年9月开始运营。由于关于Liquid HSM内部工作原理的许多细节尚未公布,我将尝试根据目前已知的情况提供最准确的比较。

 

 

特色

Liquid

RSK

创建者

区块流

RSK Labs

源代码许可

麻省理工学院,防御性专利许可

LGPL

块生成

共识协议

BFT变体

比特币合并挖掘

Settlement finality

2 blocks, irreversible settlement

Probabilistic settlement

Consensus group

closed

open

Block producers

15 multisig members  + 14 additional producers, round-robin

Bitcoin merge-miners (currently 41.3%)

Federated Two-Way Peg

Type

Federated 11 of 15 multisig, with a time-locked 2 of 3 multisig for an emergency recovery process.

Federated 8 of 15 multisig.

Hardware Security

Custom HSM (software and hardware)

Custom firmware for off-the-shelf HSM

Federation Openness

Federation

Addition/Removal of members by supermajority voting on-chain

Federation Members Change Transparency

Undisclosed

Published in the sidechain

Transparent Peg/Confidential

Confidential (between Crypto Exchange and user)

Transparent

All-or-Nothing censorship resistance

No. Could be achieved by a future planned atomic swap system.

Yes

Cold Storage

Yes, but requires periodic refresh of cold coins

No. Split hot/cold wallet possible in future releases.

Functionary-to-functionary communication

Over Tor

None. Communication flows from a smart-contract to each functionary, over the public sidechain

Main Platform Features

Issued Assets

Native

User-level contracts such as ERC-20

Light-client-friendly Issued Assets

Yes, but requires special server nodes

Yes

Confidentiality

Native by Confidential Transactions

User-level contracts such as Zether, Mobius and AZTEC.

RSKIP in the roadmap describing account abstraction to reduce source account leakage.

Smart-Contracts

Stateless

Stateful

Average Fee per Simple Tx (1 input / 1 output)

10 cents (*)

0.66 cents (**)

Average Block interval

1 minute

30 seconds(*3)

Simple Transactions/Second based on current block limits

40

10

我们将更详细地描述主要差异。

联盟挂钩

Liquid和RSK都依赖于联盟多重签名以锁定在侧链中以侧链原生货币形式发行的比特币,但它们的挂钩设计差别很大。每种侧链设计都有自己的权衡。

两种侧链目前有15个正在运作的职能机构;Liquid需要11个签名才能发行比特币,而RSK需要8个。Liquid似乎优先考虑安全性而非可用性,而RSK优先考虑可用性而非安全性。但是,Liquid使用时间锁定3个多重签名的其中2个实施紧急发放程序,这提高了可用性而非安全性,其为相反的权衡。Liquid的紧急系统推出了一种新的攻击向量,其中大多数比特币挖掘者可以审查比特币发放交易,以强制激活紧急多重签名。每种方案都有其优点和缺点,RSK采用紧急系统和Liquid去除紧急系统一样容易。我认为,在这样一个重要的安全系统中,简单易用性会更重要。

两个侧链都使用硬件安全模块(HSM)以存储私钥。Blockstream和RSK Labs都没有披露关于如何设计这些设备或运行哪些代码的充分信息。允许RSK联盟的职能机构审核HSM的固件和硬件,对于Liquid也是如此。

Liquid已经建立了自己的硬件平台和固件,这可以提高安全性。但是,我不知道Blockstream的设备是否依赖于安全组件以保护私钥。安全组件专门设计用于保护来自标准微控制器通常发生故障的侧通道和故障注入攻击的机密。RSK Labs部署了具有安全组件的现成设备,该设备使用由RSK Labs开发的定制固件。

转入挂钩

Liquid和RSK用于锁定比特币和解锁侧链代币的协议有很大差异。在Liquid中,用户首先通过使用随机选择值从已知联盟地址派生构建新的临时联盟地址,然后将比特币发送到这个新的临时地址。在进行大量确认后,用户或联盟职能机构发送一项Liquid交易,就此数值通知联盟的其他成员。之后,LBTC以先前锁定在临时地址中的相同数额的比特币发行。

 

将比特币转移到LBTC(Liquid)

将比特币转移到RSK的过程如下。首先,发送方必须确保要转移的比特币保存在P2PKH地址中。如果未保存,则必须将其转移到交易Tx1中的P2PKH地址。然后,它们在交易Tx2中从P2PKH地址转移到联盟多重签名地址。在大量确认之后,联盟在RSK中发出一项通知交易,其中包含用于Tx2的SPV证明,然后区块链立即将同等数额的RBTC解锁到由与Tx2的首次输入相同的私钥控制的地址。此操作通过将比特币公钥转换为RSK地址完成。如果联盟未发出通知交易,则任何用户可以通过包含SPV证明进行发行(流程相同),因此转入挂钩流程完全不受信任。

 

将比特币转移到RBTC(RSK)

用户可以将比特币转换为RBTC,无需使用加密交易所进行注册。在Liquid中,任何用户也可以进行转入挂钩,但推荐的流程是向其中一个联盟参与交易所注册并通过KYC验证程序。这是因为Liquid联盟可能会忽略用户的转入挂钩交易。

在撰写本文时,RSK Labs仍然持有一个私钥,可用于限制锁定在挂钩中的比特币数额。RSK Labs表示,这是一项临时安全措施,一旦合并挖掘业务超过比特币哈希值的51%,他们将放弃此权力。源代码表明RSK Labs可以通过向控制挂钩的智能合约发送特殊消息来解除此限制。

从转入挂钩到转出挂钩

如果任何用户可以检测并检查转入挂钩和转出挂钩交易,则双向挂钩是透明的,因此任何用户都可以审核联盟的多重签名持有情况。如果挂钩是透明的,任何用户都可以检查侧链的循环供应是否与多重签名中锁定的资金相匹配。此外,这意味着用户可以检测联盟是否有不当行为并阻止转入或转出挂钩。

RSK具有透明挂钩,用户可以识别和验证所有转入挂钩和转出挂钩:可以从平台上运行的智能合约中读取属于挂钩的UTXO的完整列表。此外,可以从此合同中访问当前和过去联盟的地址。可以识别转出挂钩交易的原因是其消耗了挂钩UTXO。

 

RSK转入挂钩和转出挂钩交易完全可审核

Liquid使用热钱包和冷钱包组合,这提高了安全性,同时试图减少转出挂钩交易的等待时间,但这需要支付费用。在比特币方面,转入挂钩交易支付给由HSM控制的多重签名热钱包。会定期回收生成的UTXOS,以防止启用紧急恢复脚本。

Liquid设计人员意识到最高的系统安全风险是转出挂钩过程,因此决定将由转出交易发布的比特币发送到交易所冷钱包,而不是直接转到用户钱包。在Liquid中,一些职能机构是加密货币交易所,比特币被转移到其中一个交易所冷钱包,即用户必须注册的同一交易所。这为交易所提供了审查交易的最后机会。在将资金收入冷钱包后,交易所将自己的热钱包资金付还给用户。由于这两笔付款不是无法分割的,所以总是存在以下风险:(a)如果HSM首先付款给交易所,交易所不向用户付款,或(b)如果交易所先支付给用户,系统故障并且不偿还交易所。在任一情况下,使用交易所作为中介方的要求使得KYC成为系统的关键且不可渗透的部分,并且这可能意味着该职能机构是用户的转移中资金、货币发送器或两者的临时保管方。最后,它实质上模糊了向用户支付比特币的交易,提高了用户的机密性,但作为权衡,防止社区的去中心化挂钩透明度和审查检测(转出挂钩交易计入私人网站liquid.horse)。Liquid UTXO中的时间锁定紧急恢复脚本还意味着必须定期刷新冷资金以推迟时间锁定,从而降低了冷存储的有效性。

即使透明的冷钱包可以很容易地为RSK挂钩进行公平实施,但此时我们认为应该将职能机构的职责保持在最低限度。作为常规程序的一部分,职能机构需要执行的任何人为操作都会增加来自政府和企业的审查和压力。通过添加具有更多不同硬件和软件组件的更多职能机构,可以实现更高的安全性。

 

Liquid在多重签名热钱包中接收比特币(转入挂钩),但是对于转出挂钩是从其中一个职能机构的热钱包中进行支付,并从冷钱包的多重签名取得补偿。

 

挂钩审查

如果联盟成员不能在没有明显副作用的情况下选择性地阻止任何转入挂钩或转出挂钩交易,例如阻止大量后续转入挂钩或转出挂钩交易,则双向挂钩提供全有或全无审查抵制。这一属性至关重要,因为威权政府可能会使用暗中审查来限制人权。如果审查可以在没有公开通知的情况下实施,监管机构和政府可能会施加压力并迫使参与公司根据其自己的意愿和自由裁量权阻止转移。

在几乎所有的区块链中(包括Liquid),可以使用无法分割的交换克服挂钩审查。但是,有效寻找无法分割交换的交易对手需要一个新的活跃和去中心化的交易对手网络和一个具有充分流动性的新兴市场。创建这样一个系统涉及解决与构建去中心化区块链相同的许多挑战,以及在没有工作量证明的情况下防止Sybil攻击的额外困难。因此,我们强调与侧链共识相关的全有或全无审查抵制的重要性。

RSK挂钩为转入挂钩提供类似于比特币的审查抵制,对挂钩提供全有或全无的审查抵抗。转入挂钩不能被审查,因为用户可以向侧链提交其自己的比特币包含证明,以命令侧链发行RBTC。转出挂钩交易消费智能合约选择的UTXO。消费的一些比特币支付给用户,剩余的比特币返回到联盟的原先相同多重签名地址。这些返回的比特币在随后的转出交易中重复使用,从而创造了一个牢不可破的锁链。这意味着要阻止第一个发放交易,联盟职能机构还必须阻止依赖于第一个交易中创建的输出的后续发放交易。51%的职能机构仍有可能串通花费任何UTXO。但是,这可以由用户立即检测到。在未来的网络升级中,RSK可以实现转出挂钩的完全背对背链接,以最大限度地提高审查抵制。此外,它可能需要证明在比特币中包含转出挂钩交易,以防止51%的联盟成员违反智能合约,但仍试图履行转出挂钩指令。

 

在RSK中,如果一项转出挂钩交易被审查,那么由于转入/转出链接,许多后续交易会自动被阻止。

在Liquid中,职能机构可能串通审查特定的转出挂钩交易,而Liquid的个人用户不会注意到,因为转出挂钩交易的输入UTXO由指定的职能机构选择,而该职能机构为接收方提供KYC。但是,由于Liquid实施了非常强大的隐私保障,因此交易所很难相互审查,因为交易所可以隐藏其自己的源LBTC地址并使用新的BTC地址进行转出挂钩交易。由于Liquid专门为交易所而非个人用户量身定制,因此Liquid不提供额外的审查抵制。个人用户遇到的审查级别与普通交易所帐户的审查级别相同。

 

在Liquid中,可以审查转出挂钩交易,系统将继续正常工作。

 

联盟成员管理

联盟成员的管理是RSK和Liquid之间的主要区别。在Liquid中,添加或删除成员似乎需要停止网络并手动配置由职能机构运行的特定节点,以引用其余节点的洋葱地址和/或公钥。这是一个假设,因为程序尚未公布。

RSK可以协调开放协议,以在公开监督下添加或删除成员,并且所有消息都通过侧链交易进行交换。整个过程在不中断常规交易处理的情况下执行,甚至不会处理转入挂钩和转出挂钩交易。该协议具有延时性,以启用外部审计,并以新的联盟替换前一个协议作为结束,资金自动从之前的UTXO移动到新的UTXO。

RSK资金从旧联盟的多重签名转移到新联盟的多重签名是一个有趣的多阶段过程。建立新联盟时,当节点通过JSON-RPC端点查询完整节点时,将返回一个新的多重签名地址。 但是,旧的多重签名地址会保持活动一段时间,以便为仍然未经确认的交易提供足够的时间以包含在块中。之后,智能合约命令将剩余资金清扫到新的多重签名中,并丢弃之前的多重签名。

 

RSK成员管理,可审计的程序

隐私

Liquid最强大的特性之一是它对LBTC和发行资产的机密交易(CT)的原生支持。Liquid可以隐藏交易金额,但不能隐藏发件人和收件人地址。必须小心处理这些地址以防止意外链接,例如在比特币中。必须对客户钱包进行充分保护,以避免通过侧通道泄漏私人信息,例如流量分析。保密交易比常规交易大得多,因此如果Liquid块已满,预计机密交易费用会更高。

RSK可以以第三方开发的用户级合同的形式提供几乎任何私人交易方案。一些现有的例子是ZetherMobiusAZTEC。 甚至可以通过使用在RSK之上开发的类似zCash的协议来实现最广泛的匿名设置。

目前,这些用户级解决方案隐藏交易金额和目的地地址,但源地址仍然可以链接。保护源地址需要元交易市场(为第三方广播您的交易支付费用)或修改RSK共识。RSK正在计划部署帐户抽象改进,如果发件人使用Tor,其将使任何合约能够直接从没有源地址的外部交易接收消息,从而实现完全发件人匿名。

密码技术领域正在以前所未有的速度发展,特别关注非交互式知识论证,这是许多硬币匿名化方案的基石。每年我们都会看到新的、更快、更好的方案,例如Bulletproofs、Sonic和正在开发中的Lelantus。此外,在将隐私与智能合约执行相结合的系统中有新的发展,例如Zexe和ZkVM。我认为这种隐私方案的持续改进是保持平台与特定加密系统无关的一个很好理由。

共识协议

Liquid的共识基于由一组选定的职能机构执行的PBFT变体。职能机构轮流遵循轮询调度以产生新块,并且在两个确认块之后,交易被视为已结算。职能机构通过Tor覆盖网络进行互连,隐藏其真实的地理位置和IP。这是一项有趣的功能,在Liquid中是强制性的,但它在RSK中只是可选的。

RSK使用SHA-256D合并挖掘并提供概率交易结算,这与比特币相同。目前,30%至50%的比特币挖掘者从事RSK合并挖掘。

在Liquid和RSK中,区块生产者从区块包含的交易中挣取费用。在Liquid中,作为轮询调度的副作用,挖掘者可以串通忽略其他挖掘者的区块并更多地成为区块生产者,以取得更高的交易费份额。但这会被跳过的职能机构检测到,因此很难暗地中多次执行这种攻击。RSK使用带有费用平滑化的共享挖掘帐户和DECOR +奖励分享协议来激励挖掘者之间的竞争合作。

合并挖掘侧链作为增加比特币价值和功能的一种方式,必须权衡其他替代方案,例如扩展区块和硬叉以增加区块大小,这些都是极具争议性的,过去曾经引诱挖掘者采用这些方式。正如Paul Sztorc所说的那样:“[驱动链]创造的能力会禁用较旧的更危险的能力”。侧链也是如此。最后,合并挖掘提供了区块生产对新参与者开放的优势,因此不是只有联盟职能机构才可以获取交易费。

发行资产

Liquid和RSK都提供了一种创建用户发行资产的方法。RSK中的资产可以使用以太坊中常用的ERC-20代币标准发行。Liquid提供用户发行资产的原生实现方式。

在这两个平台中,发行资产可以在用户之间自由转移。但是,Liquid中的发行资产与轻型客户端不兼容,因为Liquid不包括对每个区块头中的当前UTXO集或资产发行集的承诺。在两个侧链中,任何参与者都可以发行资产、重新发行资产并将发行资产转让给其他用户。但是,RSK可以更好地控制资产允许的操作,因为资产创建者还使用高级编程语言定义操作。使用更高级别的程序,RSK可以支持支付安全代币上的红利、利息、滞期费和大多数DeFi想法。

两个侧链都可以支持二级支付网络,例如RIF Lumino支付(在RSK的情况下)和移植到Liquid的Lightning Network。虽然Lumino本身就是多资产,但我认为Lightning Network在其当前版本中不支持多资产节点、多资产链接和多资产路由。

交易成本

RSK目前比Liquid便宜10倍(每次单纯支付0.0066美元对比0.10美元)。部分原因是单纯RSK交易比Liquid交易小5倍。但是,廉价交易可能是一把双刃剑,因为它们可能会增加区块链的大小,超出普通用户可接受的限制并集中对等网络。

Liquid职能机构必须每月向Blockstream支付费用才能成为Liquid联盟的一部分。RSK联盟成员不需要支付费用,但作为成员需要遵循安全标准,并保持预先规定的正常运行时间。

未来

RSK基础白皮书为RSK建立了关于不变性和审查抵制的路线图和社区协议。就改进提案进行公开辩论,并由核心开发者纳入到参考实施中。一些即将推出的功能包括切换到Unitrie存储模型以及采用存储租赁系统。 RSK存储库显示自2016年以来的持续改进以及需要硬分叉的多项网络升级。

Blockstream路线图未发布。然而,Liquid的github存储库,似乎是组件项目,显示了自2016年以来的持续改进,但没有硬分叉修改。

RSK基础文件的一项关键特征是,当比特币准备好采用社区支持的软分叉时,RSK表示有意向迁移到更加去中心化的双向挂钩系统,例如驱动链。RSK Labs创建了一个比特币核心开发者未来可以使用的驱动链BIP和参考实施。

结语

RSK是一种侧链,旨在成为金融包容性的基石,专注于去中心化金融(DeFi)。Liquid是一种侧链平台,旨在为交易所提供共享流动性。它侧重于协议简便性、安全性和隐私。因此,RSK的目的是解决更广泛的用例集,而Liquid专注于成为一项极其高效的工具。

通过采用有状态的VM,RSK提高了开放性和可编程性,而Liquid重点关注简洁验证,而不是任意代码执行。

RSK与以太坊的兼容性使其能够轻松将以太网dApp和工具移植到RSK,从而访问大量开源资源。Liquid要求开发者使用Blockstream自己的库以利用其隐私功能,目前没有社区替代方案。

两种侧链均由经验丰富的开发团队维护。Liquid由Blockstream公司提供支持,而RSK则由IOV Labs特定目的组织提供支持。

两种侧链均有著名的交易所参与其各自的联盟,并且他们的侧链代币(RBTC和LBTC)目前均在知名交易所进行交易。

我们正在见证为比特币创造的新的未来,这个未来不受比特币链上交易能力的限制,而是正在由Lightning Network、Liquid和RSK扩展。

感谢Adam Back博士审阅本文章并提供宝贵的反馈意见。

(*)来源:平均费用取自https://blockstream.info/liquid/

(**)来源:http://rskgasstation.info/

(*3)如果叔块的数量减少至零,则平均区块间隔可以减少到15秒。