去中心化投票和无信任的自主分叉
早在2012/3年,我第一次着迷于比特币时,对我来说,显而易见的是,与价值转移类似的比特币系统在改善世界方面的应用更多。其中最主要的是去中心化投票,用于可证明的公平和安全的政治选举。这早于QRL出现之前,甚至早于围绕比特币和区块规模惨败的共识相关问题之前。
在任何创造,转移和存储价值的生态系统中,利益冲突都是不可避免的。如果我们从那个时期的比特币历史中学到了任何东西,那就是去中心化的货币区块链应该能够以一种自主的方式进行适应,而不必依赖看门人开发者,他们可能不会与该加密的利益相关者(用户群)拥有相同的目标或观点。有争议的共识更改只能在遵循指定升级路径的此类系统中引入。
似乎应该在网络上决定对网络和令牌功能的争议决定的地方是链上的,这是每个人唯一的真理。
(注意:这可能不会阻止仅继续维持现状而推迟有争议的决定的默认位置和最容易的位置)。
路线图升级
一段时间以来,核心团队和社区一直在通过我们的QIP(QRL改进流程)来讨论各种系统升级。github上的此过程允许任何人提出对现有QRL生态系统的改进建议。在这里,可以在讨论技术观点或透明辩论特定升级的优点的地方,在开发人员和用户之间进行安全的对话。这样的讨论自然仅包括社区的一小部分,并且倾向于吸引大量的技术用户,并排除了感兴趣但非技术的用户。它仍然是用于决定是否应积极追求某个功能或将其保留的粗略的量尺。
QIP系统是QRL的真正瑰宝,但可以继续改善项目的治理。
链上投票
即将面世的qrl核心硬分叉包括一些激动人心的新功能,包括临时消息传递,多签名钱包功能(内置在网络钱包GUI中)以及对multisig的扩展,在该范围内,所有具有非零余额。
这是如何运作的?首先,让我们讨论一下QRL multisig设置的工作原理。首先,在节点或网络钱包中,使用MultisigCreateTx创建一个新的multisig地址,在该地址中,使用签名权重将多个QRL地址添加到该地址(请考虑每个地址的投票权)。接下来,通过列出的地址之一创建一个MultiSigSpendTx,以转移资金,并声明要转移的值和目标地址。最后,每个签署人都可以创建一个MultiSigVoteTx来签署支出交易-然后,一旦达到阈值,资金就会被移动(注意:多重签名投票和支出在功能上是相同的)。虽然这听起来很复杂,但实际上使用Webwallet的点击型GUI非常简单。
那么,投票..?
为了允许分类帐范围内的投票,现在指定了一个“魔术”多重签名地址(精确地说是“ Q110000000000000000000000000000000000000000000000000000000000000000000000000000000000”)。这个地址是因为,而不是它有特定的QRL地址的有限列表特殊所有与非零余额为有效签署国QRL地址。
在后端,它们实际上是经过修改的multisig函数-为了保持环境清洁,有两种新出现的交易子类型可用于投票:
- ProposalCreateTx
- 提案投票
任何QRL地址都可以创建有效的ProposalCreateTx并启动分类帐范围内的轮询。此事务设置轮询的类型(QIP,用户,更改共识的配置设置等),并允许指定特定的QIP,并提供附加的可选描述性文本字符串以及块高度到期。
要在现有的台账全民意测验投票QRL地址简单地创建一个ProposalVoteTx与相关供应ProposalCreateTx TxID添加和建筑材料的投票数据-的支持,反对,弃权等。
你们中的某些人已经意识到,只需在浏览器中查找魔幻地址即可轻松跟踪和分类QRL中的去中心化链上民意测验和投票-所有数据实时传输到协议更新页面上可读的有用形式中。
通过上述行为,任何QRL用户都可以提出新的QIP,并要求社区和利益相关者(代币持有人)客观地投票表决是否应继续进行-完全没有权力下放开发人员或核心团队。
自我修正的区块链行为
眼神敏锐的人会想知道“改变共识的配置设置”是什么意思。
一旦进行了分类帐范围内的民意测验和投票,就可以为网络共识规则和行为创建自我修正的行为。
以下参数是qrl-core客户端中的配置设置。如果更改,它们可能会导致硬分叉,并将网络分成一个或多个链。在实施链上投票后,它们都可能具有“可修正性”:
- 块时间间隔
- 块奖励
- 总排放
- 最大块大小限制
- 共识改变阈值限制
- 块高度民意调查到期时间最大值
- 最低交易费
- 硬编码的peer_list
- 重新组织限制
- 可接受的最低qrl节点版本
- 共识算法(供以后发布)
可以使用“ 建议”交易子类型来建议直接的网络更改,然后在达到该链上建议的满意阈值后,自动从下一个区块中派生新的共识设置。因此,投票成功的投票可能会以完全去中心化的不信任和自治的方式更改网络的参数。
实际上,系统的现有规则已转移到链上,并且只能通过分类帐范围的投票共识来更改。
例子
一个例子可以是基于共识来改变排放曲线,或者使阻塞比当前更多或更少。另一个简单的更改是更改peer_list,以修改充当新进入网络的发现节点的新IP地址-例如,是否某些最早的网络节点正在迁移到新平台。在网络交易垃圾邮件攻击期间,可能有必要实施临时最低交易费用-这可以通过投票提案和直接分叉更新来实现,以将最低交易费用从零提高。
未来升级
还可以将这些初始的自我修正功能扩展为包括将来的代码模块,以自动执行挖矿算法更改或其他共识升级,例如,以给定的块高度迁移到POS。
有一个即将发布的QIP将对此进行更详细的介绍,感兴趣的各方将能够在不久的将来帮助我们在QRL测试网上测试这些更改。
定义:
硬分叉(Hard fork)—一种网络升级,不与现有客户端向后兼容,如果未升级,则旧节点的行为将有所不同,从而可能导致链的两个版本向前发展。