RCHAIN 测试网创世块仪式

Huan Yu
RChain Cooperative (China)
4 min readSep 19, 2018

9月5日, 世界各地的验证者(validator)聚集在德国柏林,一起启动RChain测试网络。更确切地说, 他们将启动最初的几个测试网, 这些测试网将在现在和2019年初之间运行,之后将将推出“水星”(Mercury)主网。

虽然在过去的几个月中, 节点软件已经过了常规的测试和调试, 但这是第一个用于连续运行的全球网络。因此, 这也是 RChain 社区第一次创建并一致同意的创世块。

引导指令-BOOTSTRAPPING共识

活跃的 RChain 网络使用 Casper 共识算法(注:一种权益证明共识,由Vlad Zamfir最先提出,RChain Casper是Vlad的首次尝试,今后以太坊也将采用该共识算法), 以确保所有验证者对区块DAG注:DAG即有向无环图,RChain的区块是图状的而非传统的链状)形成共识。Casper 是一个出色的权益赌注算法, 验证者签署认证他们相信的下一个DAG区块, 一旦他们被抓到有作弊行为,那他们将失去押注在其中的钱。Casper是如此重要, 负责运行它的智能合约直接存储于创世块中。

如果直到我们有一个创世块,Casper还不能开始的话, 那么我们怎么才能在创世块上达成一致呢?事实证明, 最好的方法就是用老方法。人们面对面的对话, 一起工作, 建立信任, 然后所有人都同意在一个特定的创世块上签字。

创世块包含了每个人都必须同意的关键特征。

  1. 时间戳
  2. 最小签名数
  3. 钱包
  4. 债券(赌注)

协议的工作原理

一旦上述所有参数的讨论都完成了, 创世块仪式就可以开始了。如果一切顺利, 该过程将根据以下脚本进行执行。

  • 一个验证者也称为 “独立节点”, 创建一个创世块并将其发送给所有其他验证者。
  • 每个验证者都将创世块与他们预期的区块进行比较(基于先前的协定)。如果一切都是正确的, 则验证者会对该区块进行签名并将其发送回独立节点。
  • 独立节点在预定 (单方面的选择) 的时间内收集签名。如果在规定的时间内达到最小签名数, 则创世块将正式生成, 网络便启动成功。

验证者的责任

验证者 是保证网络安全和去中心化的唯一途径。他们的职责是仔细检查独立节点提议的创世块。他们应该检查每一个 RHOC余额, 每个验证者公钥, 和每一个奖励金额, 以确保独立节点没有试图欺骗任何人。只有满足这些条件, 他们才应该在区块中进行加密签名。如果网络是安全的, 验证者不能签署任何一个旧的候选区块。

幸运的是, RNode 软件几乎实现了这一过程的自动化。节点操作员只需提供他自己的债券(赌注)、钱包、时间戳和最小签名, RNode 就会自动做所有繁琐的比较。但这意味着节点操作员必须小心地提供正确的钱包和他们所遇到的验证者的正确赌注。验证者绝不能做的一件事是签署任何他们未曾检查过的旧块。

未来期待

在主网之前将会有更多的 RNode 版本, 并将带来令人兴奋的新特性, 如RNode0.7 中的命名注册。分片(sharding)功能将在RNode0.8 中推出, 也许RNode0.7 测试网可以作为RNode0.8 测试网的子分片。主网中的水星(Mercury计划)和金星(Venus计划)之间可能形成这种关系。

对每个发布版本, 验证者将再次参与此创世块过程。在2019初的主网启动时, 启动网络将成为第二天性(习惯性操作)。

如果你有兴趣成为验证者, 请加入我们, 并关注Discord上的#节点测试频道

--

--