BIOS启动EOSIO区块链

原文地址:https://medium.com/eosio/bios-boot-eosio-blockchain-2b58b8a978a1

译者: 大鼎

校对:怪阿姨

声明:未经许可,不得转载(已授权@eosgroup,hi区块链

EOS社区内的讨论使我相信,EOS软件的启动顺序可能为以下我本着社区共识所述说的内容。(这篇文章不构成任何承诺,也没有暗示任何新功能。)

阶段0:预启动 (Pre-Boot)

  1. 在Go-Live之前,区块生产者社区将从志愿者中选择最精通技术的来确定Go-Live Poo成员。建议的目标成员数为50。
  2. 在上线之前,Pool会使用一种可信的随机的方法(*)来选择他们中的22名成员来创建Go-Live 团队。然后,他们共同建立高度安全的,能互相连接的VPN,用以帮助抵御DDOS和其他攻击。他们将会公

布其成员名单,但不是立即公布。

  1. EOS代币发放期至20186222:00为止。介时,EOS ERC-20代币将被冻结,同时将做一个基于区块链的包含EOS起始余额的快照。
  2. 一旦起始余额的快照由Go-Live Team的22个成员(他们对外公布用于外部验证)中的15个进行验证并确认后,他们再次使用可信的随机方法来选择其中一个成员作为BIOS Boot节点。该成员会生成的新EOS密钥对,此密钥对仅用于BIOS启动过程。

阶段1BIOS 启动

  1. 这个BIOS 启动节点用来获取软件分发过程中提供的创世区块并引导这条链:
  • 创建第一个新区块;
  • 通过系统帐户安装核心操作合约引导BIOS启动,该系统帐户使用新创建的EOS密钥对;
  • 安装由初次选举产生的21名区块生产者(ABPs)名单。这份名单可有由Go-Live Team的21名其他的非BIOS启动节点成员组成;
  • BIOS Boot节点仅将所需的系统权限分配给由初次选举产生的21位ABP。
  • 最后,他从所有系统权限中删除了自己的密钥。BIOS Boot节点随后公布他的BIOS引导私钥(此时已经无用),以便其他人可以审计和重新创建他

的工作。

阶段2ABPs

  1. ABPs连接并验证该链的系统帐户和余额的初始设置,然后开始出块。此时BIOS Boot节点开始退出并返回到BP候选池。(直到被选举的节点经过 10轮的区块生产之后,BIOS Boot 节点才有资格参加选举。)单个节点运行时间:小于9秒。一旦21个ABPs确定并运行同一条链,参与者就可以连接。
  2. Go-LivePool的其余成员可以连接并举荐自己为候选的区块生产者。
  3. 代币持有者在选举中可以连接和抵押代币投票选举块生产者。
  4. ABPs的唯一工作是举行选举,但是他们没有选举资格,正如BIOS BP一样。他们可以暂时由21个当选区块生产者(EBPs)代替。这样选举需要将21个EBPs构成一个单独的组,以切换到现在完整的运行链,并且需要几轮才能组织为Go-Live Pool中剩余的BP进行连接。其他BP候选人也可以连接并将自己置于运行中。(ABP,如BIOS Boot BP,在21个EBP成功完成10次区块生产之前,不能参加竞选)。

阶段3:当选区块生产者

  1. EBP开始处理“正常”交易,并持续进行每轮的BP选举,这是区块链最重要的一部分。在10轮之后,一个EBP可以被以前的ABP或以前的BIOS BP或任何新的竞争者所取代,预计在选民投出选票头几个小时和几天内会有一些动荡。

阶段4:#0宪法

在这个阶段,我们进入了一个新的阶段 – 更换默认编号#0的宪法。这个阶段持续更长时间:

  1. 在这个阶段,任何代币权益持有者都可以在任意时刻,提出拟议的宪法来替换默认的宪法。
  2. 根据当时的软件算法,每个提议的“宪法”均可由代币权益持有者投票决定。
  3. 当以下条件满足时,宪法#0成为宪法#1:
  • 拥有多数持有者票数(超过50%活跃账户持有者)并持续15天,
  • 处于30天的领先地位。

阶段5:验证

验证之前,不能在账户之间转移代币,也没有出块奖励。当以下情况是验证生效

  • 占总EOS代币余额15%或更多的帐户可连接到网络并执行有效的交易。
  • 当宪法升级为#1。

(*)可信的随机选举方法将稍后发布以供审核。