找回密码
 立即注册

新浪微博登陆

只需一步, 快速开始

0

Nxt透明锻造机理解释

nxt 2016-1-23 17:051292 人围观 原作者: Riker 来自: NxtChina.org

简介 :锻造是指在NXT区块链上生成一个新区块的过程。一个区块是是很多交易的集合。每一个区块都由区块锻者的私钥签名。因为每一个节点都可以计算出哪个账户是下一个区块的生成者,因此每个节点可以直接将交易发送给下一个 ...

Nxt的核心开发者Riker用通俗的语言对Nxt的透明锻造机理进行了解释,如下:

Beamy:什么是锻造?
Riker:锻造是指在NXT区块链上生成一个新区块的过程。一个区块是是很多交易的集合。每一个区块都由区块锻者的私钥签名。

Beamy:我能锻造到一个区块吗?
Riker:当然能,你需要做的就是有一些NXT余额(越多越好),至少1000NXT,然后节点在线运行NXT软件,就可以锻造了。

Beamy:锻造能获得什么?
Riker:新区块中的所有交易的交易费将会奖励给这个区块锻造者。从区块621000开始,一些类型的交易费将分发给之前4个区块的生成者,比例为40%,30%,20%,10% 。

Beamy:谁决定下一个区块锻造者?
Riker:每一个锻造节点都基于一个简单的算法来计算锻造账户生成下一个区块的时间,其它所有节点在收到新区块时对计算结果进行再次确认,如果与算法不一致,则会拒绝该区块。

Beamy:这个算法的工作原理是什么?
Riker:在NXT白皮书中已经解释过了。概括起来,将锻造账户的公钥与之前区块的签名串联起来,生成一个唯一的字符串;再将这个唯一的字符串进行sha256哈希运算,这个哈希结果再乘以账户的有效余额得到一个数值;将这个数值与目标数值相比较来确定锻造者在生成下一个区块之前要等待的时间。时间一到,这个锻造者就能生成下一个区块了。每生成一个区块,这个目标值都会进行调整,以确保平均区块时间为60秒。这个调整优化在621000区块之后才会生效,目前的平均区块时间为90秒,偶尔也会有10分钟的区块间隔。区块621000之后,难度调整代码进行了优化,平均区块时间基本都在60秒,很难出现10分钟的区块了。

Beamy:为什么在找到一个短期目标时间之前我无法对一个区块进行哈希?
Riker:是的,不可以,哈希计算不依靠类似比特币中的随机数。每一个账户在每一个区块中只能生成一个哈希。
Beamy:为什么我不能在找到一个含有更好哈希的账户之前来试图再创建一个新的账户呢?
Riker:将你的锻造余额分配到多个账户中是没有优势的,你的余额只能在1440个区块之后才能进行锻造,因此将你的余额分配到多个账户中来提高你的锻造几率是没有用的。

Beamy:锻造者会欺诈吗?
Riker:在最基本层面上是无法欺诈的,因为当一个锻造者进行欺诈时,例如提前锻造或者将一个未来的时间包含到区块中,这将会导致其他节点拒绝这个新区块,例如看到的“block from the future"之类的日志信息。然而,锻造者仍然可以决定将哪些交易包含或排除在他们新生成的区块中。这会导致使用无用的交易来延迟其他账户的交易,或者改变了区块中交易的次序,或者将他们自己的交易费很高的交易包含在他们的区块中来赚取交易费。

Beamy:如何处理这些操纵?
Riker:用无用的交易来填充到区块中是有可能的,但是每个区块的交易限制为256个,目前这个好像误会形成真正的威胁。改变交易的顺序会不获得真正的好处,为了预防锻造者将它们自己高费用的交易包含在自己的区块中,从621000区块开始,我们将这些费用分配给了之前的3个区块锻造者。

Beamy:透明锻造是什么?
Riker:因为每一个节点都可以计算出哪个账户是下一个区块的生成者,因此每个节点可以直接将交易发送给下一个区块的锻造者,而不用像通常的那样广播至整个网络。这会使得整个网络的扩展性得到数量级的提升。从1.7系列的客户端开始,我们逐步在实施这个机理,包括要求锻造者至少有1000NXT的有效余额才能锻造。这会更容易地预测出下一个区块的锻造者。

Beamy:我的名字的起源是什么?
Riker:第一个答对的这个问题的人会获得1000NXT的奖励。

其实这是星际迷航-下一代(Star Trek:The Next Generation)中的人物角色!!!


分享到新浪微博 收藏 邀请
鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋

最新评论

1框架
返回顶部