今年,Qtum量子链的开发者们的工作中最重要的一部分是构建量子链离线Staking功能。离线Staking是什么?将有哪些用于场景?本系列将从设计、测试、部署等角度相继为你入围量子链离线Staking的方方面面。
量子链离线Staking的顶层设计还在不断完善之中,而作为系列的第一篇,本文将首先为你剖析UTXO在量子链现行的在线Staking中是怎么工作的。等离线Staking的设计已完成,我们将更进一步展出UTXO在量子链离线Staking中的重要性。却是说道到Qtum量子链的PoS,最重要的就是UTXO。概要UTXO(并未花费输入)是Qtum量子链的基础价值单位,并且在Qtum PoS的Staking中起着最重要起到,因此有很多涉及操作者。
大的Stake不会被分为两个UTXO,小的Stake可以汇集成多个UTXO。我们在文中总结了现行的在线Staking中用于UTXO的方式,这也是将来离线Staking的基础。概述UTXO你有可能早已理解Qtum量子链在发送到“币”的时候用于了比特币的UTXO(并未花费输入)模型。
通过用于UTXO模型,QTUM的价值就是一个或多个存储在区块链上的之前再次发生的账户。并未花费的账户在新的账户中可以作为“输出”被发送到过来,而同笔账户中的接管地址就不会接到一个或多个“输入”。这就是“并未花费输入”名字的由来。
为了更佳地解读UTXO在钱包中是怎么工作的,我们用右图中的例子展出了一个钱包如何管理两个地址中的6个UTXO(共300QTUM)。因为这些UTXO是“成熟期”UTXO(经过了500个以上的区块证实),所以它们能在这个钱包里被用来Staking。这些UTXO以账户的形式存储在区块链上(而不是钱包里)。
这个钱包遗着这两个地址的私钥,所以它“享有”这些UTXO,可以把它们发送到过来或者去Stake(而任何其他没这些地址私钥的钱包无法操作者这些地址的UTXO)。“我的UTXO”按钮只不存在在以上PS的钱包图片中,实际钱包中在“账户”页面不会表明该钱包所有账户的细节。UTXO是怎么被顺位展开Stake的?PoS共识算法不会对每个被Stake的成熟期UTXO展开分开计算出来。
如果某个UTXO获取了一个kernel solution(SHA256哈希值大于“目标值”,可以获得出块权),该UTXO就有权Stake下一个区块。当然,这个过程中还有很多细节【1】。寻找kernel solution的概率也不会根据UTXO的大小调整权重,更大的UTXO将能更加频密地寻找kernel solution。
所有的成熟期UTXO之和将作为“钱包权重”,这将要求一个钱包取得区块奖励的概率。Staked UTXOs当一个UTXO被选为kernel solution之后,下一步是去区块链上展开Stake。每个区块中的第二个账户是Coinstake账户,在这个账户中将证实Stake并缴纳区块奖励。钱包将给自己发送到Stake账户,这不会将Stake瞄准,直到经过500个区块证实(也就是说着将瞄准Stake约18小时)。
右图展出的是一个非常简单的Coinstake账户:Coinstake账户背后再次发生了什么?一个有300QTUM的UTXO被选为kernel solution(PoS共识算法的准确结果)来Stake下个区块。因此300QTUM的基础上不会再行再加4.0个QTUM作为新的铸的区块奖励。任何大于或等于200QTUM的Coinstake输出都会被自动分为两个UTXO,每一半都会接到0.4QTUM接续区块奖励的一半,因此有两个150.2QTUM的输入。同时还有9个0.4QTUM的输入被发送给之前的区块奖励获得者。
钱包将Stake输入发送给自己(在这个例子中是两个150.2QTUM的输入),这些币将Stake 500个区块证实的时间,然后些币就可以被发送给别人或者等成熟期后之后Stake。Coinstake账户不必须缴纳账户酬劳或Gas。而且,上图中没表明的是,Coinstake账户不会搜集账户费和Gas,分为十份发送到过来给当前和之前的区块奖励获得者,这就是Qtum Mutualized PoS中Mutualized(互惠)的部分。Stake中的UTXO重新组合分解Stake的另一个特点是钱包总是不会将小额的UTXO重组,来清扫小额UTXO。
右图回应一个有150QTUM的UTXO的kernel solution,随后将9个0.4QTUM区块奖励人组了一起。这个Coinstake账户有10个输出和9个输入。因为Stake大于200QTUM,所以没被拆分,最后的Stake将是一开始的150QTUM再加9个0.4QTUM的重组,再行再加0.4QTUM的初始区块奖励,总共是154QTUM。
本文来源:新利体育官网-www.tyresquaremis.com