Notes and thoughts from Bloodline

侧链(Sidechain)白皮书笔记

Comments

简介

比特币的局限性讨论

  1. 在可扩展性和去中心化间的取舍。

    例如,更大的区块可以支持更高的交易速率,代价是加大了验证方的工作量——中心化的风险。

    同样,在安全性和成本之间也存在取舍。比特币历史记录中用同等级别的不可逆性存储了每一笔交易。这种方式的维护代价很高,对低价值和低风险的交易来说也未必合适(例如,所有参与方已经商定了一个共同的法律机构来处理欺诈行为)。

    由于不同交易的价值和风险状况有很大的不同,这样的取舍应当针对每笔交易来应用。然而比特币系统的构建仅支持以一个标准来应对所有问题。

  2. 在区块链的功能上存在更多的取舍。

    例如,是让比特币的脚本更强大来支持简明和有用的合约,还是减少功能以便于审计。

  3. 一些非货币的资产也可以在区块链上交易

    例如欠条、其它合约和智能财产。

  4. 存在一元化育成的风险:比特币系统由许多密码学组件构成,其中的任何一个组件出问题,都会导致整体价值的损失。

    如果有可能,不要用同一套算法来保护每个比特币会更谨慎些。

  5. 新技术可能会带来比特币系统创建初期没有想到的新功能。

    例如,用加密累加器、环签名或 Chaumian 盲签名来增强隐私保护和抗审查性。

  6. 即使有这样做的迫切需求,但没有对比特币系统安全升级的途径,这意味着任何更改都需要所有参与者协同执行才能生效。比特币的开发者们之间达成了一个共识,对比特币系统的变更必须缓慢、谨慎,且仅当社区有明确同意时才进行。

侧链的产生

竞争链(altchains)的问题:

问题一 基础架构碎片化

由于每个竞争链都使用自己的技术堆叠,经常会有重复性或遗失的工作。因此,由于竞争链的实现,可能并未扫除比特币系统中安全特定领域知识的障碍,安全问题常常跨竞争链被复制,而它们的修复也不解决这些问题。必须消耗大量资源或是建立专家评价评审新的分布式加密系统,如果没这样做,安全隐患常常无法察觉,直到漏洞被利用。结果是,我们看到了一种动荡的、无法前航的发展环境,大部分显现出来的项目可能在技术上是最不健全的。打个比方,想象一下在互联网上,每个网站使用自已的TCP实现将自定义的检验和数据包拼接算法广播给最终用户。这不会是一个能生存的环境,这也不是竞争链能生存的环境。

问题二

这样的竞争链和比特币系统一样,通常有自己的带有浮动价格的原生加密货币,或称竞争币。为了使用竞争链,用户需要通过一个市场来获取这种货币,这将使他们直接面对新货币带来的高风险和波动。此外,因为有独立解决初始分配和估值问题的需求,与此同时还要在不良的网络效应与拥挤的市场中竞争,这既阻碍了技术创新,又助长了市场的博弈。这危及的不仅仅是这些系统的直接参与者,还危及到整个加密货币行业。如果这一领域被公众认为风险过高,对加密货币的采纳可能会受阻,或者有可能完全被遗弃(自愿或立法上)。

这表明我们希望有一个环境来让可互操作的竞争链能易于创建和使用,但不要产生不必要的市场和开发碎片。在本文中,我们认为这些看似矛盾的目标有可能同时实现。核心考察点是 Bitcoin 这一区块链在概念上是独立于 bitcoin 这一资产:如果我们能在技术上支持区块链间资产的移动,可以通过简单地复用现有比特币的方式,开发出用户可能会采纳的新系统。

楔入式侧链

特性:

  1. 在侧链间移动的资产应当能够被当前持有者移回,但除此之外的任何人则不行(包括前持有者)。

  2. 资产的移动应当无交易对手风险;也就是说,不诚实的一方无法阻止转移的发生。

  3. 资产转移应当是元操作(原子操作),即,要么完全完成,要么根本不发生。不应存在会导致资产损失或允许欺诈产生的失败模式。

  4. 侧链应当设有防火墙:一个会使某条链发生资产铸造(或偷盗)的缺陷(bug),不应导致任何其他链出现资产的铸造或偷盗。

  5. 区块链重组时应当处理干净,即使在资产转移的期间也要如此;任何破坏应当只发生在它所处的侧链上。总的来说,理想情况下,侧链应当完全独立,自其他链上的全部所需数据由用户提供来。侧链的验证者应当只有在侧链本身的显式共识规则有要求时,才需要跟踪其他链。

  6. 不应要求用户去跟踪他们未主动使用的侧链。

早期“转移”钱币的解决方案是用一个可公开识别的方式来销毁比特币,让新的区块链能检测到,以允许铸造新币。这解决了部分上面提到的问题,但由于这种方法只允许单向转移,因此还不足以满足我们的目的。

我们提出的方案是由资产转移的交易本身提供所有者证明来转移资产,避免让节点有跟踪发送方链的需求。从上层实现角度,当资产从一个区块链向另一个链移动时,我们在第一个区块链上创建交易锁定资产,然后在第二个区块链上创建一笔交易,该交易的输入中包含一个锁定已正确完成的密码学证明。这些输入用某种资产类型来标记,比如创生出资产的区块链的创世哈希(genesis hash)。

第一个区块链我们称之为父链,每二个则简单称为侧链。在某些模型中,两条链可对称地来处理,因此这一术语应当看成是相对的。从概念上讲,我们打算将资产从(初始)父链转移到一条侧链,可能会再转移到别的侧链,最终还能转回至父链,并保全初始资产。一般我们把父链看成是比特币系统,侧链是其他区块链中的某一个。当然,侧链的币(coin)也可以在侧链间传递,并非只能与比特币系统进行往来;不过,由于任何一个最初从比特币系统移动的币都可以移回去,所以不管变成什么样,它仍是个比特币。

这让我们解决了前面章节提到的碎片化问题,对只想专注于技术创新的开发者来说是个好消息。

此外,由于侧链是从父链中转移现有资产而不是另铸新资产,侧链不会引起未经授权的铸币,维护资产的安全和稀缺性依靠父链来实现。

更进一步说,参与者不必再担心他们的持有物会被一个实验性竞争链锁往,因为侧链币能够用等额的父链币来赎回。这提供了一个退出机制,减少因软件无人维护而造成的损失。

另一方面,由于侧链还是一个独立于比特币系统的区块链,它们可以自由地尝试新的交易设计、信任模型、经济模型、资产发行语义,或加密特性。我们将在第5节中进一步探讨一些侧链的可能性。

这一基础架构的额外好处是对比特币系统本身进行改变不再那么迫切:与其策划一个需要各方均达成一致并一起实施的分叉,不如用侧链来创建一个新的“改变了的比特币系统”。从中期看,如果广泛认可新系统有进步,最终会明显看到,相对于比特币父链,更多的人会使用这个新系统。由于父链的规则没有任何修改,任何人都可以根据自己的时间去切换,不会有任何因共识失败所带来的风险。从长期看,如果父链被认为,或当父链需要改变时,侧链的成功将给父链的更改提供了所需的信心。

为了实现侧链机制,将新增一种地址类型,(此类型地址包含有相应侧链的信息)把1个比特币从地址A支付给此类型地址后,协议约定:这 1 个比特币的移动权转移到了侧链里的拥有者手里。这个币在主链被锁定,同时侧链会产生一个输入来源为主链的交易。这个币可在侧链里流通,最后的拥有者在主链移动此币时,币又回到主链流通。

楔入式侧链原理

设计原理

“无需信任”指的不依赖外部的可信方也可完成正确的操作的特性,一般是能够让所有参与方自己验证信息是否正确。例如,密码学签名系统中,“无需信任”是一个隐式的必要条件(如果攻击者能伪造签名,那么这个签名系统将被视为被完全破解)。虽然分布式系统中一般不需如此,但比特币在系统的大部分中提供了“无信任”操作。

“楔入式侧链”的一个主要目标是在比特币系统模型之上最小化附加的信任。难点是币在侧链间的安全转移:接收链必须能得知发送链的币已被正确锁定。在比特币的领导下,我们提议用 DMMS 来解决这一问题。尽管有可能利用一个简单基于信任的方案,引入固定数量签名者来验证币的锁定,但有很多重要理由让我们避免这种单点故障的引入:

  • 信任个人签名者,并不仅仅意味期待他们做事诚实,他们还必须永远不出漏洞、永远不会泄露关键的秘密、永远不会被挟持、永远不会停止参与网络。

  • 由于数字签名是长期存在的,对任何信任的要求也必须如此。经验告诉我们,即使时间跨度只有几个月,信任需求也是一种危险的期待,更何况我们所期望的金融系统所能持续的时间长达几个世代。

  • 在比特币系统消除了单点故障前,数字货币一直没有什么吸引力,社区强烈反对引入这种弱点。2007年以来的金融事件更加强了社区的不信任;对金融系统和其他公共机构的公共信任也同样处于历史的低点。

双向楔入

楔入式侧链的技术基础称作双向楔入。本节我们将解释它是如何工作的,先给出一些定义。

定义:

  • 币(coin),或资产,是一种可以用密码学方法辨识控制者的数字财产。

  • 区块,是一个描述资产控制发生变化的交易的集合。

  • 区块链,是一个有序次的区块的集合,所有用户必须(或最终)对该集合达成共识。这确定了资产控制的历史,提供了一个计算上无法伪造的交易时序。

  • 重组,或称 reorg,发生在客户端本地,当先前已接受的链被一个有更多工作量证明的竞争链取代时,分叉上失败一方的区块要从共识历史中移除。

  • 侧链,是验证来自其他区块链数据的区块链。

  • 双向楔入,指的是让币以一个固定或确定性的汇率在侧链间转出和转入的机制。

  • 楔入式侧链,是一条资产可以从其他链导入并返还的侧链;即,一条支持双向楔入资产的侧链。

  • 简单支付验证证明(或称 SPV 证明),是一种动态成员多方签名(DMMS),发生于一条类比特币系统工作量证明(proof-of-work)区块链上。

本质上,SPV 是由(a)一系列展示工作量证明的区块头,和(b)一份加密证明(可证明输出创建于其中某一区块)所组成。

这使验证者可以检查是否有一定数量的工作已经认可了某个输出的存在。当有其他证明(proof)展示了一条工作量更多的链,且生成该输出区块未包含于其中时,其他证明会使这一证明失效。

使用 SPV 证明来确定交易历史,隐含着要信任最长的区块链也是最长的正确区块链,在比特币系统中,这是由一个被称为 SPV 的客户端实现的。由于诚实的哈希算力不会为一个无效链去工作,只有当超过 50% 的哈希算力合谋时,才会始终欺骗 SPV 客户端(除非客户端处于长期的恶意攻击之下,使其无法看到实际的最长链)。

还可以这样做,通过获取每个区块头来指代区块链上未花费输出的集合,任何拥有 SPV 证明的人不需要下载每个区块也能确定链的状态。(在比特币系统中,完全验证节点第一次开始跟踪区块链时需要做这种数据下载。)

通过在比特币系统的区块结构中包含一些额外数据,我们可以生成比区块头完整列表更小的证明(proofs),从而提高可扩展性。尽管如此,这样的证明还是比普通的比特币交易要大得多。幸好对于大多数资产转移来说,这并不是必要的:每条链的持币人可以直接使用元互换(原子交换)操作进行汇兑。

比特币在侧链里流通时还是比特币,侧链的比特币与主链的比特币通常是 1 比 1 的汇率,也可能有预定的汇率。

侧链的挖矿不能产出比特币,侧链可能有自己的币,也可能没有自己的币,仅是为了比特币的流通。

侧链可能是对等的和非对等的。对等的侧链独立存在,其也可成为主链。主侧是相互的,如果有足够的需求,比特币也可成为莱特币的侧链。非对等侧链依赖主链而存在。

去中心化没改变,每个人或公司都可创建自己的比特币侧链,用户和矿工认同的会成为主流。

当然侧链要有足够的算力保证侧链的可靠和安全。

侧链白皮书提出了清晰的侧链框架,具体侧链怎么实现容许设计者自由发挥。

对称式双向楔入

我们可以利用这些想法将一个侧链 SPV 楔入至另一个侧链。这包含以下工作:为了将父链币转移为侧链币,父链币被发送到父链上的一个特殊输出中,该输出只能由侧链上拥有的一个 SPV 证明来解锁。为了在两条链上进行同步,我们需要定义两个等待周期:

1、侧链间转移的确认期,是指币在转移至侧链之前,在父链上必须被锁定的期间。此确认期目的是生成足够多的工作量,让下一个等待期内的拒绝服务攻击变得更困难。典型的确认期的量级可以是一或两天。

当父链上生成了特殊输出后,用户等待确认期结束,然后在侧链上生成一个引用该输出的交易,提供出一个它已被创建并在父链上被足够工作量覆盖的SPV证明,

确认期是一个依侧链而定的安全参数,要在跨链交易速度和安全性间做权衡。

2、接下来,用户必须等待一个竞赛期。这个期间,新转移过来的币不能在侧链上花费。竞赛期的目的是防止重组时出现双花,在重组期间转走先前锁定的币。在这个延迟期内的任何时刻,如果有一个新的工作证明发布出来,对应的有着更多累计工作量的链中没有包含那个生成锁定输出的区块,那么该转换将被追溯为失效。我们称此为重组证明。

只要有可能,所有侧链上的用户都会有动力来制发重组证明,因为对不良证明的承认会稀释所有币的价值。

典型的竞赛期也是一或两天的量级。为了避免这些延迟,用户很可能用元互换(原子交换)(在附录C中有描述)进行大多数交易,只要有流动性的市场可用。

当币在父链上被锁定时,该币可以在侧链内自由转移,不需要与父链进一步交互。不过,它仍保留着父链币的身份,仅能转回到它所来的那一条链上。

当用户想把币从侧链上转回父链时,与原先转移所用的方法相同:在侧链上将币发送至一个SPV锁定的输出,产生一个充分的SPV证明来表明该输出已完成,使用这个证明来解锁父链上先前被锁定的那个等面值的输出。

由于楔入式侧链可能会从很多链中搬运资产,且无法对这些链的安全性做出假定,因此,不同资产不可相互兑换是非常重要的(除非是一个显示声明的交易)。否则,恶意用户可以通过创建一条资产毫无价值的无价值链进行偷盗,将这样一种资产移到一个侧链,再把它和别的东西去兑换。为了应对这种情况,侧链必须有效地将不同父链中的资产处置为不同的资产类型。

总之,我们提议让父链和侧链相互做数据的SPV验证。由于不能指望父链客户端能看到每条侧链,为了证明所有权,用户必须从侧链导入工作量的证明到父链。在对称式双向楔入中,反向的操作也是如此。

为了让比特币系统成为父链,需要有一个能识别和验证SPV证明的脚本扩展。最起码的要求是,这种证明需要做得足够小,以便能放进比特币系统一个交易之中。不过,这只是一个软分叉,对于不使用新功能的交易不会产生影响。

非对称式双向楔入

上节以“对称式双向楔入”作为标题,是因为从父链向侧链的转移机制与反方向的机制是相同:都拥有SPV安全性。

另一种方案是非对称式双向楔入:这种方式下,侧链上的用户对父链能完全验证,由于所有的验证者都知道父链的状态,从父链向侧链的转移不需要SPV证明。另一方面,由于父链并不知道有侧链,所以转回到父链时需要有SPV证明。

这对安全性有所促进,现在,即使一个51%攻击者也没法错误地将币从父链转移到侧链。不过,相应的代价是迫使侧链的验证者去跟踪父链,同时也意味着发生在父链上的重组也可能导致侧链上的重组。在这里,我们不详细探讨这种可能性,因为围绕重组的议题会导致复杂度显著扩大。

侧链给加密货币领域中的很多问题提供了解决方案,为比特币系统的革新带来数不清的机会,但同时,侧链本身也并非没有缺陷。本文我们将审查一些潜在问题,并探讨可能的解决方案或变通方案。

侧链带来的问题

侧链给加密货币领域中的很多问题提供了解决方案,为比特币系统的革新带来数不清的机会,但同时,侧链本身也并非没有缺陷。本文我们将审查一些潜在问题,并探讨可能的解决方案或变通方案。

额外复杂度

侧链在以下几个层面引入了额外的复杂度。

在网络层面,我们有了许多独立的、非同步的区块链,支持相互间转移。它们必须支持可被后期重组证明宣布失效的交易脚本。我们还需要软件自动检测不正当行为,以及生成并发布相关的证明。

在资产层面,简单的“一条链,一种资产”准则不复存在了;单条链可以支持任意多的资产,甚至包括该链首次被创建时还不存在的资产。这些资产的每一个都要标记上该资产的来源链,以确保资产的转移可以被正确地解析。

仅让区块链基础架构能处理高级功能是不够的:管理钱包的用户界面也需要重新考虑。目前,在竞争币的世界中,每条链都有自己的钱包,用以支持该链上币的交易。需要改写这些钱包以便支持多个链(可能带有不同的功能集)和链间资产的转移。当然,如果令用户界面过于复杂,完全可以选择不使用某些功能。

欺骗性转帐

理论上,任意深度的重组都是有可能的,这让攻击者能制造一个比发送链的竞赛期时间长的重组、在发送链撤消该半侧的转帐前,将币在侧链间完全转移。结果将使接收链上币的数目与发送链上可赎回的锁定输出的数量不对等。如果允许攻击者将币转移回初始链,他将增加他自己币的数量,让该侧链上其他用户付出损失。

在讨论如何处理这一问题前,我们注意到,通过简单地延长转移的竞赛期就可以使这种风险变得任意小。那好,可以用两条链的相对哈希算力生成一个函数来决定竞赛期的持续时间:接收链可以仅在见到一个等同于该链1天工作量的SPV证明时才解锁币,这一证明可能相当于发送链上几天的工作量证明。类似这样的安全参数是特定于侧链的属性,可以针对每个侧链的应用进行优化。

不管这种事件有多不可能发生,很重要的一点是,不能因侧链的责任造成灾难性故障。可以创建一个SPV证明见证这一事件,并且侧链可以接受这种证明。可以设计侧链,选下面的多种方式之一来作应对:

不做应对。这样做的结果是,该侧链是一个 “部分准备金(银行)”, 存储来自其他链上资产。对于微量数额,如果人们认为少于丢失的侧链币,或是有承保人承诺偿付丢失的资产,这一方式可以被接受。然而,超出一定的阈值后,很可能发生从该侧链提现的“银行挤兑”,最终要有人担下损失。间接损害可能包括对侧链信心的普遍丧失,父链的代价则是要处理一个突如其来的交易高峰。

楔入及所有相关的交易可以被回退。然而,由于币往往会散发出去,交易历史会交织在一起,即使是刚经历很短的时间就回退,后果也可能是毁灭性的。这还限制了资产的可置换性,接收者将倾向于选择历史“清白”的币(没有近期楔入的)。我们预计这种可置换性的缺失可能会导致灾难性后果。

所有币的数量可以被缩减,同时汇率维持不变。与新用户相比,在攻击发生前将币转移到侧链的用户会比较不利。这等同于降低侧链币兑换的汇率。

在这些应对基础上也可以加以变化:例如,临时降低汇率,使那些在该侧链“挤兑”的人得不偿失。

挖矿中心化的风险

另外一个重要的顾虑是,引入带有矿工费的侧链是否会给矿工资源带来压力,产生比特币系统(挖矿)中心化的风险。

由于矿工们收到的报酬,来自于其所工作的各链的区块补贴及交易费,出于经济利益,他们会根据难度变化和市场价值变动,切换到价值上差不多的不同区块链,为之提供多方成员动态签名(DMMSes)。

我们的答复是,一些区块链已稍稍改进了区块头的定义,使其中包含一个比特币系统DMMS,因而,矿工能把提交给比特币系统的DMMS同样用于一个或多个其他区块链——这称为合并挖矿。因为合并挖矿允许将工作量复用到多个区块链上,矿工可以从每个他们提供了DMMSes的区块链上索取报酬。

由于矿工们要为更多的区块链提交工作,跟踪和验证全部这些链需要更多的资源。只为区块链的某一子集提交工作的矿工得到的报酬,比为所有可能的区块链都提交工作的矿工少。小规模的矿工可能无法支付为每个区块链挖矿的全部成本,因而与较大的有组织的矿工相比,会处于劣势,后者能从更大的区块链集合中索取更多的报酬。

不过,我们注意到,矿工们可以将其所工作的任何区块链子集上的验证和交易选择委派出去。选择委托机构能使矿工免除几乎所有对额外资源的需求,或者能为仍处于验证过程的区块链提交工作。然而,这种委派的代价是区块链上验证和交易选择的中心化,即便工作量生成本身仍是分布式的。不过,矿工们也可以选择不为仍处于验证过程的区块链工作,用自愿放弃一些报酬来提高验证过程的去中心化。

软分叉风险

比特币系统中,软分叉是对比特币协议的一个补充,通过在设计上严格缩减合法交易或区块的集合来实现向后兼容。软分叉的实现只需挖矿算力中的绝大多参与即可,不需要所有的完全节点都参与。不过,对于软分叉出来的功能,除非所有完全节点都升级,否则参与者的安全性仅是SPV级。软分叉已经被使用过很多次,用于部署新功能和修复比特币系统中的安全问题。

按本文所述方法实现的双向楔入仅有SPV安全性,因此,对矿工诚实性的短期依赖度高于比特币系统。不过,如果双方系统的所有完全节点都相互检查,并用一个软分叉规则要求相互的合法性,那么,双向楔入的安全性可以提升至完全等同于比特币系统的水平。

这种方式的负面影响是,失去了对任何有软分叉需要的侧链的隔离。由于隔离是使用楔入式侧链的目标之一,除非某一侧链已经几乎被普遍使用,这种结果将是不受欢迎的。不过,假设没有楔入式侧链,接下来的备选方案是直接对比特币系统硬分叉来部署单个的变更。这会更唐突,无法提供真实的机制证明新功能成熟,还需要冒比特币系统共识上的风险。

侧链的应用方向

一直读本专题的同学应该注意到,前面的文章已经提及多次了,最有代表性的一个应用就是简单地创建一条竞争链,该链上币的稀缺性由比特币系统来提供。通过利用一条不用全新货币,而是承载比特币的侧链,避免了初始分配、市场脆弱性、以及新用户接纳障碍等棘手问题,新用户不需要再去找寻值得依赖的市场,或投资于挖矿硬件以获取竞争币资产。

技术实验领域

由于侧链在技术上仍是完全独立的链,它们能改变比特币系统中诸如区块结构或交易链等功能。下面例举一些这样的功能:

通过修复不期望有的交易可锻性,在比特币系统中只能被部分修复,可以更安全地执行与链上未确认交易相关的协议。交易可锻性是比特币系统中的一个问题,会让随便一个用户以某种方式微调交易数据,尽管交易的实际内容并未发生改变,但依赖于它们的后续交易会遭到破坏。概率性支付就是一例可被交易可锻性破坏的协议。

提高支付者的隐私性,例如Monero(XMR)中使用的环签名方案,可以减少特定方的交易被审查的系统风险,保护加密货币的可置换性。Maxwell、poelstra和Back对此提出的改进能容许更高的隐私性。目前,可以用Menora币来使用环签名方案,但比特币不能使用;侧链将会避免这种排它性。

在比特币系统中提出过的脚本扩展(例如,对彩色币的有效支持)。由于这样的扩展仅仅对小范围的用户有用,但使所有用户都要因此而应对提高了的复杂度和不易察觉的交互影响造成的风险,因而这些扩展在比特币系统中没被接受。

其他建议的扩展包括对新的密码学原语的支持。例如,兰波特(Lamport)签名,虽然大,但安全性可以对抗量子计算机。

多种用不兼容的方式扩展比特币系统的想法,由于这些变革影响的只是币的转移,而不是币的铸造,没必要为它们准备一种独立的货币。使用侧链,用户可以安全地、临时性地尝试这些变革。这促进了对侧链的采纳,与使用一种完全独立的竞争币相比,采用侧链时,参与者的风险更小。

如果一个侧链由于设计错误或是无人维护失败了,最大的风险就是:移动到侧链的比特币丢了,相当与比特币支付给了一个私钥遗失的地址。不会影响比特币网络的运行。

一开始人们对侧链的可靠性存疑,更信赖主链。如果出现一个设计明显优越和可靠的侧链,比如:支付验证时间很快等。经过长期测试可行,人们会更乐意在侧链移动比特币,随着比特币逐步往侧链移动,等到主链不再产出新币时,人们都在侧链交易,这时主链没有交易,也没有矿工,侧链成为主流,比特币实现了自然的升级。

经济实验领域

比特币系统的奖励机制是把新币分配给矿工。这实际上使货币膨胀,不过,它会按一个阶梯式时间表随时间推移而逐步下降。用这种通胀来补贴挖矿是对交易费的一个成功补充,用以保障网络安全。

在侧链上获取区块奖励的另一种机制是滞期费,这是由Freicoin首创的用于数字货币的一个想法。在滞留型(demurring)加密货币中,所有未花费的输出将随时间推移而减值,减少的价值被矿工重新采集。这在保证货币供给稳定的同时,还能给矿工奖励。与通货膨胀相比,这或许能更好地与用户利益保持一致,因为滞期费的损失是统一制定并即时发生,不会像通胀那样;它还缓解了因长期未使用的“丢失”币以当前价起死回生可能给经济带来的冲击,在比特币系统中这是一种能意识到的风险。滞期费建立了提高货币流通速度和降低利率的激励机制,这被(例如Freicoin的拥护者和其他西尔维奥・格塞尔利息论的支持者)认为对社会有益。在楔入式侧链中,可以用已有价值的货币将滞期费支付给矿工。

其他与经济相关的变革,包括所需的矿工费、交易可逆性、当输出达到一定的币龄就简单地将其删除、或者是将通胀率/滞期费率楔入至侧链外的事件。所有这些变革都很难安全地来进行,不过,由于侧链易于创建并降低了风险,这给变革提供了必要的可行环境。

资产发行

在这一点上,大多数情况下,我们认为侧链不需要自己的原生货币:所有侧链上的币最初都被锁定,直到来自其他某条侧链的资产转入将其激活。不过,侧链也可以制造自已的代币,或是带有自己语义的资产发行。它们可以被转移给其他侧链来换取其他的资产和货币,整个过程不需要对中心方有信任,即使将来赎回时对可信方有需求。

资产发行链有很多应用,包括传统的金融工具,如股票、债券、凭证和白条等。这使得外部协议可以将所有权及转帐记录跟踪等授权给发行所有者股份的那条侧链。发行资产链还可支持更多的创新工具,如智能财产。

这些技术还可在补充性货币中使用。补充性货币的例子包括:社区货币,设计目的是优先推动当地企业;企业易货协会,支持教育或老年护理之类的社会方案;限定用途的代币,在组织机构内部使用,比如大型多人游戏、客户忠诚度计划、在线社区。

一个合适的脚本扩展系统和一个资产可识的交易,能从良好审计的组件中,创建出有用的交易,比如将一个出价和报价合并为一个汇兑交易,能为资产交换以及无信任期权(FT13)这样的复杂合同创建完全无信任的点对点市场。这些合同可能会有所帮助,例如减少比特币本身的波动性。

发展方向

侧链中值得探讨的其他一些想法有:

保证合同。将侧链的交易费扣留,不支付给矿工,直到他们的哈希算力至少相当于比特币系统的,比方说是,66%的算力。加密货币实现这类合同很容易,只要它们最初就设计成这样,用于提高区块转移的成本。

矿工的算力如果威胁到网络安全,将扣发挖矿所得。比如,算力超过50%的矿工没有奖励,这样可约束矿工节制算力,防止51%攻击。

时移交易费。矿工们的部分交易费要在将来的某个区块中才能收到(或分散到许多区块),使他们有动力来维持链的运作。

新增一种与时间有关的地址。只有到了特定的时间才可动用该地址的币。比如人们可以把10个币发到这类型地址,设定10年后用。时间没到时,任何人,包括拥有者,也不能动里面的币。

激励矿工,使其简单地收到“带外”(out-of-band)交易费(译者注:在传送过程中,不通过常规方式,无需排队(in-band)优先传送给用户,以便及时处理的方式称为out-of-band),避免需要等待将来才能给的链内奖励。该方案的变体是让矿工收到一个令牌(token),允许其将来挖一个低难度值的区块;这个效果是一样的,只不过更直接地激励其接收者来挖这条链。

现在,矿工挖到矿后立即得到奖励和交易费。这个约定把挖矿所得延期支付。比如:在挖到矿的100个区块后支付挖矿所得。这有助于激励矿工维护网络的正常运作。

滞期费。区块补贴可以通过滞期费形式支付给矿工,以激励诚实挖矿。由于可被转入到比特币系统或其他侧链的数量只能与转出的数量相同,这种基金的重分配将限定在其所发生的侧链之内。

即长期不移动的币随着时间的推移将减值,减去的金额回馈矿工。比如超过1年不动的币,每年减值10%。现在的比特币网络,时常有大户丢失密钥,相应的币也就丢了。这将降低比特币经济体货币的充足性和流动性,被认为是比特币潜在的一个风险。通过滞留费,鼓励货币流动,激励矿工,也可回收一些因丢失密钥丢掉的币。

补贴。侧链也可以发行自己独立的原生货币作为奖励,有效地形成一种竞争币。然后,这些币将有一个自由浮动的价值,结果是无法解决与竞争币相关的波动性和市场碎片等问题。

联合SPV证明。引入一个必须在合法SPV证明中签字的签名者,对假证明进行监察。这导致要在中心化和抗高算力攻击的安全性间直接做出权衡。在这方面有很大的权衡余地:可以仅在高价值的转移中才需要签名者;仅当侧链的哈希算力过小,只相当于比特币的一个百分比时才需要他们;等等。在附录A中包含有对此类权衡的实用性的进一步讨论。

SNARKs。密码学学术上的一个令人振奋的近期进展是SNARKs的发明。SNARKs是空间效率高,可快速验证计算工作已完成的零知识密码学证明。然而,目前它们的使用是受限制的,因为对于大多数程序,用当今的计算机来生成这些证明的速度太慢,且现有的构建需要一个可信设置,这意味着系统的创建者有能力制造假证明。

关于低价值或实验性侧链的一个未来想法是,起用一个可信机构,该机构的唯一任务是为SNARK方案执行一个可信设置。这样,可以构建区块,证明对未花费输入集合的变更,不过,这是在对实现交易零知识的前提下完成的。这些区块还能对所有先前的区块提交完整验证,允许只验证一个最新的区块,使新用户得到速度上的提升。通过根据一些先前定义的规则证明发送链的合法性,这些证明还可以取代将币从一条链移至另一条链的DMMSes.