《精通门罗币》:共识机制

原著 | Serhack 翻译 | 筋斗云_头等仓 4.3.3 门罗“出租车”使用难题来确保公平性
头等仓APP下载

原著 | Serhack
翻译 | 筋斗云_头等仓

4.3.3 门罗“出租车”使用难题来确保公平性

验证一组交易和将他们打包进区块,在计算上并不是什么难事。对于矿工来说,真正耗时的任务是需要寻找一组能够补足当前区块的随机数。这个难题极具挑战,且只能通过暴利破解来不断尝试;寻找有效随机数的过程中,不存在任何捷径,在数学上也无法缩小搜寻范围。矿工只能随机挑选数字,然后看是否能补足当前区块,不断试错,循环反复。

这种无理的障碍设定起初看似非常古怪!对于矿工来说,验证交易这样的至关重要的工作, 在计算上却十分简单,而对于寻找并提交随机数这种无用的工作上,却极其困难。

为了理解这背后的原因,想想一个假设的门罗出租车网络。这个网络里只有几辆出租车,但有很多司机。主要提交了受认可的路线,他们将获得短暂的出租车使用权。一天到晚,城市各处的潜在乘客都打电话叫车。所有还未接通的乘车请求呼叫被放置在一个实时的待处理出行“池”中。

《精通门罗币》:共识机制

图4.4:在准备出行计划的第一阶段,每个司机注视着待处理出行池,起草着路线。

传统做法是一个中心化的出租车管理处为每一个出行订单指定车子或司机,但门罗出租车网络的做法是:每一个司机观察池子并规划一个可以在半小时之内完成5~10单的方案。有经验的司机可以快速地完成这个规划过程。司机完成规划后,将方案中的出行订单打包在下一个出行"区块”中,并开始下面所描述的任务,完成后提交他们的路线至门罗出租车网络。

如果司机提出了一个有效的路线,那么他的方案将被认可。该出行方案中的出行订单将会从记忆池中移除,司机检查好出租车,便开始将乘客送往目的地。司机从各个乘客那里收取车费,并还将从门罗出租车网络中获得作为第一个提交完成规划的奖金。

以上的比方对于你们来,应该还是比较直观的。未完成的出行订单存放在记忆池中,当某个司机成功地提交了受认可的订单区块,这些乘客将被送往目的地,相应地,这部分订单也会从记忆中移除。

《精通门罗币》:共识机制

图4.5:当司机们完成了(相对)简单的路线规划,他们必须解一道难题:从地址中抽取字母拼凑成句子。

然而,门罗出租车公司有一条非常奇怪的规则:司机在向门罗网络提交路线规划之前,必须完成一些比较难的任务。想象下司机必须从目的地地址中快速找出

在门罗加密货币中,有着类似的特点:寻找随机数很难,但是验证随机数很简单。在这个出租车场景中,要从一打地址中重组出50词的有效句子很难。但是,让一个人来评估结果,并验证它是否可以补足当前区块是很容易的。当一个司机像下图所示一样提交随机数(造句),你可以快速判断“Apple jam is very bad”(苹果酱不好吃)是一个有效句子,以及这个句子是否是从乘客的目的地中重组而来的。对于造句来说,验证的过程几乎是瞬间可以完成的。

《精通门罗币》:共识机制

图4.6:从地址中重组句子是耗时且棘手的。然而,验证的过程却十分简单。

富有经验的司机可以在60秒内完成路线规划,然而重组句子可能需要数分钟。实际上,为了提交区块,重组句子这种无意义的工作占用了大部分的时间。

从司机的视角下回顾下这个过程:在上一个区块被认可之后,你立即开始从记忆池中收集一笔出行订单并完成一份出行规划方案。然后你急忙地从地址中抽取单词重组成句子。在那几分钟里,你和其它所有司机都在对同样一份出行订单列表做着同样的事情。突然,有个司机提交了出行规划方案和句子。你的出行规划中的所有订单瞬间从池子中消失了。你必须立即放弃手上正在忙的事情(因为乘客已经在行程中了),开始收集下一组未出行订单,并重复造句的过程。

为什么门罗出租车网路要向司机施加这么难又无用的任务呢?这其实是他们确保所有乘客一定会被公平对待的原则。想象有几个品行不端的司机,他们会选择性地忽视从某个区域发出的所有订单,或只选择因公出行乘客下手敲竹竿。如果没有造句的过程,这些恶意的司机个人或群体会不断地提交他们(不公平的,排外的)的路线图规划。他们会对某些乘客群体造成系统性的威胁,这与门罗出租车网络的核心理念”人人平等“截然相反。

出租车司机间的造句竞赛对于确保出租车和订单的公平对待来说至关重要。假设所有的出租车司机造句的速度相差无几,那么司机提出方案和提交出行订单区块的可能性是随机的。单个司机连续包揽数个区块的情况不太可能发生,因为每一个司机都在和所有其他的司机竞争,并且无法在这样的竞争中持续获胜。

大多数的司机都是比较诚实的,提交公平的出行订单区块来保证整个城市的交通顺畅。如果有少数的恶意司机试图提交不公平的区块,造句任务将防止他们控制整个系统。统计上来说,他们偶尔会率先完成造句并提交排他性的路线规划。然而,剩余的司机大多为诚实的,他们会开始下一个区块的竞争并提交公平的出行订单区块。因为区块的竞争结果是比较随机的,那么下一个区块大概率上会由一个诚实的司机竞得,这样一来,之前被可以排除在出行区块之外的订单将有机会被纳入下一个区块中。通过施加“无意义”的工作,来使门罗出租车系统的订单分配随机化,保障少数的恶意司机无法针对个人或群体,将其订单拒绝在区块之外。

门罗出租车系统没有负责管理和分配出行的中心化权威,而是通过让司机来参与“无意义”的造句竞赛来随机地分配订单。从统计上来讲,出租车大多数情况下被分配给诚实的司机,所以门罗出租车网络以公平至上的服务理念闻名。

此刻你或许想问这个出租车的比方跟加密货币有什么关系,你可能已经想到,去中心化的门罗出租车系统就是门罗加密货币网络的类比,在无中心化权威的情况下提供公平的全球化服务。

每一笔出行订单对应门罗交易,在记忆池中等待被收集进出租车/区块。出租车司机代表矿工,两者都进行着简单却又重要的工作(司机规划路线;矿工收集和验证交易),并被要求和其它司机/矿工进行造句/随机数竞赛。这使得出区块权的分配随机化,(在统计学上)使得大部分的出租车/区块被分配给诚实的司机/矿工。任何一个率先提交路线规划的司机都将获得乘客的出行费用和来自门罗出租车司机的额外奖励。同样地,矿工也会获得区块中的交易手续费,以及一笔佣金(也称为币基 [coinbase]和区块奖励 [block reward])。

4.3.4 矿工提供服务并收费

每个一个矿工成功挖出区块(即第一个找到随机数,补足最长链上的下一个区块),他们将收到两种报酬:

1. 首先,矿工收到一笔对其补足包含经过验证的交易的区块的奖励。这个区块奖励与出租车网络付给司机的额外奖励相似。所有矿工收到和确认新挖出的区块后,将刚刚出炉的币基添加到那个率先找到有效随机数的矿工地址中。

2. 其次,矿工从被打包进区块的交易费收取手续费。门罗用户提供的手续费越高,其交易越有可能被尽快打包进区块中。

通常很多人误认为矿工在“寻找”或“铸造”加密货币。实际上,矿工只是验证交易,并因自己的工作收取加密货币。这种引入新的门罗币方式也称作货币发行曲线(coin emission)。

当门罗启动时,门罗币的发行曲线速率超过30 XMR/2分钟。区块奖励平稳减少至2022年的0.6 XMR/2分钟。相对其他加密货币的区块奖励的瞬间减半,门罗这种持续减产的设计是为了向矿工提供一种更为稳定的经济环境。在2022年以后,门罗将进入速率恒定的尾部发行(tail emission)阶段,每个区块奖励将一直为0.6 XMR。

大多数加密货币都会设置一个货币发行的固定上限,以控制总供应量。当供应量触及上限后,矿工就不再获得新币,收入来源只有手续费。如比特币,矿工盈利模式将在2140年改变,届时比特币供应量达到2100万枚且永久不再增发。这种模式常常被奉为“通缩”,然而相关的讨论也常常基于将通胀性货币供应(inflating monetary supply)的概念与“通胀”(inflation)一词的其它用法混为一谈,来描述大众不希望看到的货币购买力的减少。

进入尾部发行阶段后,门罗的供应年增长率不超过1%(0.6 XMR/2分钟)。因为矿工一直可以收取手续费,币基奖励在长期可以向他们提供更好的财务稳定性。这项社会契约激励着矿工继续使用他们的设备来维护门罗网络的安全。

《精通门罗币》:共识机制

图4.7:一个矿工在挖出区块时,将收到两种形式的报酬:1)每笔交易的手续费;2)刚刚出炉的新门罗币作为区块奖励。

未完待续(历史连载在app内可免费阅读)
希望你喜欢这段门罗之旅。

本文由 区块链资讯平台头等仓 作者:筋斗云 发表,其版权均为 区块链资讯平台头等仓 所有,文章内容系作者个人观点,不代表 区块链资讯平台头等仓 对观点赞同或支持。如需转载,请注明文章来源。
头等仓APP下载

发表评论