image.png“通过 regproducer 合约中约定的标准来实现出块节点问责制,其最终目标是为了确保基础设施的性能能够具备稳定性,能够为 dApps 提供可靠的支持,并且为 EOS 区块链提供保护。”
EOS42 发起公投提案,提交新版本 regproducer (出块节点注册)李嘉图合约供 EOS 社区反馈和投票。
regproducer 是注册成为出块节点时候所做的操作,而相应的李嘉图合约用于规范出块节点的行为和表现。
此提案发起目的是希望帮助 EOS 社区就出块节点追责制的基本流程与规范达成一致。EOS 社区可以通过参与全民公投方式积极参与 regproducer 的新合约条款投票,稍后也会发起多签提案。
公投链接:
https://bloks.io/vote/referendums/regproducer1
英文版链接:
https://medium.com/@eos42/update-regproducer-ce5fe1e6e3f7
如下为正文。
什么是 regproducer 合约 ?
regproducer 合约用于出块节点候选人的注册操作。 与智能合约相匹配的是供 EOS 区块链所用的李嘉图合约,具体介绍见: EOS blockchain leverages Ricardian Contracts.
“[李嘉图合约] 用具备可读性的方式描述合约中操作的意图,以简明易懂的英文写成,供所有人理解。 ”
在 regproducer 的智能合约中应该至少声明,“regproducer 操作的意图是将 EOS 帐户注册为出块节点候选者(Block Producer candidate)”。
对区块生产者候选资格是什么,每个人都有自己的定义。对于出块节点(Block Producer)应该是什么,或者它们应该如何执行,我们都有自己的哲学的观点。
因此,除了上述的框架之外,关于regproducer 的其他条款非常主观。我们所面临的挑战在于,应当就其共同特征达成一致,以便我们可以联合起来,就出块节点所应提供的内容和遵从的条件达成具有方向性的协议。
方式
通过 regproducer 合约中约定的标准来实现出块节点问责制,其最终目标是为了确保基础设施的性能能够具备稳定性,能够为 dApps 提供可靠的支持,并且为 EOS 区块链提供保护。
强制性协议,普遍适用于涉及网络安全关键组件的 regproducer 合约条款。
所有的强制性执行的措施都都在链上执行。大多数偏离约定标准的情形都可以得到客观证明。
概括对被广泛认为是不合格行为所实施的合理惩罚的强制执行方式。
最好将 regproducer 理解为一份合约,用于帮助出块节点(Block Producer)通过合作实现共同的目标。
对协议的执行在本质上并不总是敌对性质的 — — 并非要创造恐惧的环境。相反,最好将 regproducer 理解为一份得到了共同同意、共同保护EOS区块链的指南。例如,在前一个出块节点长期丢块时,像 regproducer 这样的合约从文化上而言应该被视作保护共同利益的方式,而非强制执行的“武器”。
下一步计划
EOS 社区可以通过参与全民公投方式积极参与 regproducer 的新合约条款投票,并且也会发起多签名提案(MSIG),其更改内容与全民公投的提案相同。MSIG 提案将比公投的持续时间延长两周。
我们建议使用如下条款完全取代当前 regproducer 李嘉图合约的条款。
regproducer 条款
1. regproducer 的目的
regproducer 操作的目的是注册成为出块节点候选者。根据 EOS 用户协议(EUA)的定义,本合约属于治理文本(governing document )
2. 提名
本人,{{producer}},特此提名本人为出块节点候选人。本提名包括了本出块节点候选人实体对本合约中所有条款的明确同意,包含其所有者、雇员、员工、成员,以及任何以正式方式、直接或附属方式为本出块节点实体工作的个人。
3. 因不能履行义务而退出或被取消出块资格
如果我,{{producer}},不能履行本合约中所规定的任何义务,我将使用无效的出块节点公钥调用本合约,从而使我的出块节点退出。
如果我 {{producer}}, 在无法履行上述义务时未能退出(resign),我知晓将会根据本合约所列举的程序对我实行制裁或处罚程序。
4. EOS 账号
出块节点永远不会对 EOS 区块链上的帐户造成影响,除非是本合约中特别提到与出块节点帐户有关的原因。只有基于 EOS用户协议中的第八条的情形下,用户的账号才会受到影响。
5. 出块节点公钥
我, {{producer}}, 将使用 {{producer_key}} 对区块签名。
如果我, {{producer}}, 怀疑我的密钥已被泄露,我将立即通知其他出块节点。
我,{{producer}},承认我的出块节点帐户在EOS区块链上所执行的任何操作都是我的责任,无论该帐户是否被盗。
6. API 端点
如果我,{{producer}} 由于得到投票和/或出块的原因,符合领取奖励的条件并选择接受奖励,那么我, {{producer}},将提供功能正常的公共 P2P 和 API 端点来维护与区块链的同步,并提交要打包入块的事务。API 端点必须更新到最新的可用版本,并且该版本没有已知的安全漏洞。
我,{{producer}},在此确认,如果我在收到另一个 {{producer}} 的警告后30分钟内仍不能符合上述要求,可以使用“rmvproducer”操作移除我的账户。
7. 执行时间
我, {{producer}},将部署和运行网络基础设施,能够将 CPU 执行时间维持在 2ms 或更少的水平。
我,{{producer}},在此确认,如果我在收到另一个{{producer}}的警告后30分钟内不能符合上述条件,可以使用 rmvproducer 操作将我移除。
8. 顺序
我, {{producer}} ,同意根据先进先出(FIFO)的方式处理事务,并且绝不会为了牟利而利用区块内容、操纵区块中交易处理的顺序。
9. 备选节点随机轮换
我,{{producer}},同意若本节点处于有偿备选状态,可被随机调入出块状态。如果我无法出块,合约代码可能会自动执行就未来的 vpay 报酬进行处罚。
10. 两轮或更多轮丢块的情形
我,{{producer}}, 如果连续两轮或更多轮丢块且无法在20分钟内联系到我,我,{{producer}}, 同意可能会用 rmvproducer 操作将我移除。
我,{{producer}}, 如果连续两轮或更多轮丢块,根据标准实践会发起 rmvproducer 操作将我移除出块资格,直到问题解决。
11. 紧急安全补丁
我,{{producer}},确认如果在紧急安全补丁发布后用任何方式都无法联系到我,可能会用 rmvproducer 指令将我移除。
12. 实体和服务器的信息披露
我,{{producer}},确认我已经披露了主出块节点服务器地理位置的准确信息。
13. 对不愿遵守处罚的行为予以处罚
我,{{producer}},承认若不遵守对本人制裁的处罚,BP 可以实施 rmvproducer 合约,我接受投票的资格将被取消。若有针对我实施 rmvproducer 合约的情况发生,我, {{producer}} 在遵守/履行所收到的处罚之前,不会再次执行 regproducer 合约。
我,{{producer}}, 承认如果没有遵守或履行因违反 regproducer 而受到的惩罚要求却继续调用regproducer操作,BP 可以调用 eosio.wrap 合约将我用来注册出块节点的账号密钥设置为无效值。
最近文章
首次共识协议升级该如何做:BlockOne 写给节点和开发者团队的 EOSIO 升级指南
【BP峰会】公告: 第二届 EOSIO BP & 技术峰会日程
EOS42期待你的了解和支持
EOS42 为 EOS 主网创世节点之一,账号是 eos42freedom 欢迎为我们投票,表达您的支持。
EOS42将会以开放创新的态度,与包括中国节点在内的诸多优秀节点合作,一起为推进EOS生态健康发展贡献力量,拓展去中心化的未来。
🍎网站:https://eos42.io
🍋币乎: https://bihu.com/people/365621
🍑Media: https://medium.com/@eos42
🍏知乎: https://zhuanlan.zhihu.com/eos42
🍉推特:https://twitter.com/eos42io
🥝微信公众号: EOS42
公众号-关注.png
网友评论