下载
关闭菜单 -

关于 RSK 区块奖励平滑

Published on: 23 八月, 2019

作者:Sergio Demian Lerner,RSK 首席科学家

比特币的安全性依赖于矿工克服累计难度(通常最长)扩展区块链带来的经济激励。目前这些激励由区块奖励提供,包括区块补贴和交易费用。但补贴(12.5 比特币)大幅高于平均每个区块的交易费用(0.4 比特币)。 比特币补贴每 4 年减半,在未发生比特币价格逆转上涨的条件下,激励将仅依赖交易费用。为了保持当前的安全性水平,交易费用需要增加 30 倍。对于比特币而言,这会是成为一个问题吗?比特币安全性能否仅依赖于交易费用?比特币是否需要软分叉或硬分叉来适应这个新时代?我在发表《FRONT Attack》时提出 2014 年比特币将变得不稳定。Carlsten 等人(2016) 深入分析了这个问题,但他们无法找到令人满意的解决方案。这不仅是比特币的问题,而是所有货币投放量随时间减少的加密货币需要面临的问题。

但比特币目前无需担忧。这个问题 10 或 20 年后,甚至更晚才会出现。最近这个问题再次被提起,各种分析对其影响的评价不尽相同,或是认为影响巨大,或是认为影响微弱

RSK 区块奖励

RSK 从开始就面临仅依靠交易费用的挑战,因此需要为异常高的费用做好准备。RSK 是首个可用于生产的侧链,在采用合并挖矿方面达成共识。RSK 矿工希望可以运行 RSK 完整节点获得经济补偿并在需要更新节点时审查变更。

Ripple 等其他分布式账本体系不通过发行货币来支付区块生产方,背后的组织已预先挖掘足够数量的货币让自己成为区块生产方或通过其他渠道向第三方生产方提供补偿。另一方面,RSK 面临极其恶劣的条件:无货币发行且无预先挖掘货币。RSK 代表未来其他区块链新技术的试验台,旨在成为可持续性无补偿区块链的范例。其中一项新技术是区块奖励平滑(也称为费用平滑),RSK 于 2016 年首次推出后实施。

Blockstream 首席执行官 Adam Back 在近期讨论比特币长期安全预算时提到平滑措施:“其他长期低补偿时代的想法意图在区块间隔之间平摊费用,以此来平滑费用收入。”

https://twitter.com/adam3us/status/1097031151921713152

我们来深入探讨费用平滑,从而理解其必要性。费用平滑是达成共识的规则,以更加平等的方式将挖矿费用在矿工之间分配,基于过去区块奖励的函数为矿工支付相关报酬。函数可为线性或非线性,通常是对累计费用的某种低通筛选。RSK 采用非常简单的 IIR 平滑函数,其中 α=0.1。如果矿工解算高度为 N 的区块,矿工将获得区块交易费用的 10% 和所有之前累计未付矿工费用的 10% 的补偿。换言之,存在一个“共享”账户,每个矿工投入交易费用并为自己提取 10%。

RSK 出于多种原因设计整合奖励平滑。首先,这种方式为矿工在设置个人区块燃料限制方面提供更多灵活性,防止区块生产延误,无需承受较高的区块奖励惩罚。其次,需要费用平滑的原因在于扩展区块链的激励必须高于重新挖掘过去区块以便获取已支付费用的激励。假设高度为 N 的区块交易 T 支付 100 个币作为费用,但平均区块奖励仅为 10 个币。那么任意矿工的最佳策略是获取交易 T 并尝试在相同高度 N 挖掘区块(100 个币对比 10 个币),然后继续挖掘自己链上的子区块,直到自己的链长度足以使其他矿工(也做出相同的选择)放弃。高费用交易将挖矿原子化,实现更大的交易池,有更高的机率挖掘 T 外加足够的确认区块。令人惊奇之处在于挖矿网络越分散,此类交易造成的破坏越强。例如,对于平均区块间隔为 10 分钟的区块链,如果有 100 个矿工,每个矿工占总哈希率的 1%,该网络的多个区块速度会降低 100 倍,直到最终聚合。网络不稳定将持续 2 天!在此期间,区块链也不稳定:等待单个区块确认进行付款的商户有很高的机率遇到付款退回的情况。

矿工原子化攻击

费用高昂的交易广播可被视为尝试进行拒绝服务攻击。此类交易可视为向天真的矿工支付贿赂逆转区块链,但实际上是原子化挖矿的诱饵。尽管存在其他补充防护措施,奖励平滑仍是保护加密货币网络对抗此类攻击的主要方式。我们再来看之前的示例:贿赂为 100 个币,而平均区块奖励为 10 个币。在 RSK,高度为 N 的区块支付奖励为 19 个币,而之后的区块将支付  18.1 个币。自私的矿工需要拥有 10 倍于其他矿工的算力才能在攻击中获利。

有两种可以实施的补充防护措施。RSK 实施第一种措施:奖励共享共识协议,称为 DECOR。DECOR 将区块奖励平均分配给同类区块(如有多个)。这种方式可以减少原子化攻击的激励,因为矿工知道所有矿工挖掘相关区块时,区块链可以参考多达 10 个同等区块,因此获得的奖励低至 1/11。这意味着要破坏 RSK 网络,贿赂必须高于平均区块奖励 110 倍。

RSK 目前未实施的第二种补充防护措施是将交易燃料价格限制到最低燃料价格的一定倍数(例如 10 倍价差)。我在 2013 年提出可用于比特币的可比措施。RSK 很容易实施这种防护措施,每个区块都宣称已接受最低交易燃烧价格。但在网络中区块并未消耗所有区块燃料的状态下,设定最高燃料价格无法完全解决问题。T 中高费用可能是耗用燃料数量更多,而非燃料价格更高的结果。

贿赂矿工

奖励平滑并非最终解决方案,原因在于攻击者可以利用智能合约平台贿赂矿工执行任何操作。我在 2014 年提出理论“暗侧攻击的永恒选择” (ECDSA),展示矿工接受贿赂偏离诚信行为。 McCorry 等人(2018) 展示了各种理论贿赂攻击。但提取基于智能合约的贿赂需要深刻的理解和准备,因为需要对贿赂监控和响应进行编程。这使得基于智能合约的贿赂攻击较难实施,因为矿工必须了解贿赂合同并理解如何与之交互。但无可避免的情况是:如果平台向矿工支付费用,那么平台也可以执行向相同矿工付款的智能合约。这是因为共识和智能合约使用的编程语言均具有“图灵完备”特性。无法阻止自愿付款方向自愿收款方付款。 在某个平台上限制语言的功能并不充足,因为所有图灵完备的智能合约平台均可用于向其他区块链的矿工支付贿赂!例如,RSK 和以太坊可用于向比特币矿工支付贿赂,当然在这种情况下,协调难度更大。

长期解决方案是通过确保所有矿工都了解背后的原理来消除发起原子化攻击的激励:如果所有人都再次挖掘区块并尝试获利,那么所有人都会产生损失。如果少量矿工接受贿赂,但大部分矿工仍保持诚信,那么少数恶意矿工将遭受损失。为了降低大多数矿工诚信变成少数矿工诚信的可能性,我们在 RSK 部署了奖励平滑合同,模拟用于 RBTC 的相同 IIR,但用于任意令牌;教会矿工如何将收到的贿赂返还合同,使共享贿赂成为谢林点。

结语

某些区块链因交易支付异常高的费用导致已知的潜在网络不稳定问题。这一问题与 RSK 等比特币侧链尤为相关。RSK 实施区块奖励平滑,作为应对这一问题的防护措施。区块奖励平滑还具有额外的优势,比如在挖矿竞争中激励合作。这种保护适用于显式费用,但使用智能合约的普遍贿赂情况需要主动网络监控和进一步分析。