先了解各方的职责,再判断控制 Blocknet 意味着什么。编写软件、找到区块、检查区块和花费币是不同的权限。本文依据已发布的 core v0.22.0 说明这些边界,再解释一项升级提案如何进入用户运行的软件。文章描述验证职责,不测量挖矿或开发活动的分散程度。
谁执行 Blocknet 的规则?
节点在验证收到的区块和交易时,执行其软件实现的规则。矿工产生候选区块,开发者维护实现,钱包所有者授权付款。各个角色都对网络作出贡献,但发布代码、持有 BNT 或找到工作量证明,本身并不能满足其余验证检查。
可以沿着一笔付款理解这些职责:钱包构建并授权付款,矿工将其放入提议的区块,节点检查提案是否符合自身规则。是否接受取决于这些检查。熟悉的项目名称、很大的钱包余额或发送方对等节点的身份都不能替代检查。
图示区分职责:1 开发软件;2 产生区块提案;3 按运行中的规则检查提案;4 授权自己钱包的付款。编号不是票数,也不是对网络参与者数量的测量。
开发者能改变什么?
开发者可以提出修改、编写实现、审查代码并发布版本。这些活动很重要,因为软件中包含节点执行的规则。公开的 core 源码让读者可以检查实际的验证流程。文档解释用途,而已发布的代码则明确某个版本实现的行为。
仓库中的一次提交不会改写正在运行的可执行程序。修改通过软件更新流程到达节点,并在适用时遵循激活逻辑。因此,参与者需要运行与其希望遵循的网络规则兼容的软件。这是围绕已部署软件的协调,不意味着每项提案都会成为网络规则。
更新策略也是其中一部分。管理用 CLI 可以为跟随最新版本的 core 安排更新,而固定版本采用不同策略。节点指南解释了这个区别。应阅读自己安装方式的策略,而不是假定每次更新都会等待手动确认。
矿工能决定什么?
挖矿产生候选区块和接受区块所需的工作量证明。直接挖矿时,seine 从节点接收任务;矿池挖矿时,矿池协调任务并将找到的区块提交给上游节点。这两种方式都帮助构建链。挖矿原理说明介绍了流程,以及矿池份额和完整区块之间的区别。
找到符合要求的工作量证明只是多项条件之一。已发布的区块验证器还会检查区块上下文、难度、交易有效性和规定奖励。如果提议的奖励与该高度允许的金额不同,其承诺就无法通过奖励检查。增加算力不会改变这项比较。
例如,修改挖矿软件中的奖励字段,不会改变另一个节点预期的奖励。接收节点会根据高度计算预期奖励,再与提交的输出核对。供应量指南解释了发行计划;矿工的工作是产生满足该计划的区块。
节点如何决定跟随哪条链?
已发布的 core 会先验证候选区块,再执行链选择逻辑。它记录累计工作量,并可在重组规则允许的情况下切换到工作量更高的有效分支。只计算区块数量会忽略这个区别。工作量帮助节点在可接受的历史之间选择,但不能取代对这些历史中区块的检查。
描述历史检查时,还要考虑节点的验证设置。可选的可信检查点同步,可以跳过对其覆盖的历史区块重复进行工作量证明和密码学验证。当前链顶端验证与借助检查点进行历史同步是不同流程。仅仅存在一个本地节点,不能说明曾采用哪种同步策略。
因此,有用的问题应该具体:使用的是什么软件、规则和验证模式?软件角色指南帮助选择需要的应用,节点指南则介绍运行方法。对等节点数量或一张区块高度截图,不能证明有多少独立的人控制网络。
持币者控制什么?
具备必要私钥的钱包所有者,可以授权花费自己拥有的输出。网络检查该授权和其余交易规则。持有更多 BNT,不会把已发布的工作量证明系统变成按余额加权的投票,以决定是否接受他人的无效交易。
所有权也不同于选择披露哪些信息。你可以使用钱包支持的查看和付款证明功能,分享自己资金或付款的相关信息。这并不授予创造额外币的权限。隐藏金额验证指南解释了付款金额保持私密时,为什么仍然可以进行账目检查。
应当如何阅读升级提案?
应区分公告、实现该提案的版本和激活规则。公告描述计划中的变化,兼容的软件实现检查,激活机制决定检查何时适用。这样就有了具体的核实对象,而不会把路线图中的表述当成已经上线的行为。
对于 Faraday,官方公告描述的提案仍在开发和测试中。我们的升级指南跟进用户准备事项,货币政策指南则把拟议发行变更与当前规则区分开来。对未来过渡作决定前,请参考这些注明日期的来源。
常见问题
矿工能创造超过区块奖励规定数量的 BNT 吗?
根据已发布的规则,节点会将区块奖励与该高度要求的金额进行核对。找到有效的工作量证明不会绕过这项检查。奖励承诺不符就会被拒绝,因此矿工的算力不能决定货币的发行计划。
持有 BNT 能让我对协议投票吗?
钱包余额代表你可以按照网络规则花费的资金。已发布的工作量证明验证流程不会按持币数量为区块接受与否加权。运行软件、产生区块和授权自己的付款是不同职责;余额再大,也不会使无效交易变为有效。
发布新代码会立即改变 Blocknet 吗?
当实现某项修改的软件在网络中运行,并且相应激活条件生效时,代码修改才会影响共识。网站公告或仓库中的提交本身不会替换正在运行的节点规则。请遵循官方升级说明,并检查所用软件的更新策略。