乐趣区

对话 | 浅析NEO的dBFT共识算法

近期,我们收到很多来自 NEO 社区爱好者对于如何获得 GAS 的疑问,为此我们采访了 NEO 的高级研发经理 Malcolm。Malcom NEO 区块链社区高级研发经理
双硕士(国际工业工程与管理、计算机科学与工程),长期从事软件开发与软件项目管理,曾就职于埃森哲、Webpower 等国际知名企业。擅长模拟和建模、算法开发、经济建模、找到复杂问题的简单解决方案。职业生涯中长期担任 Java 软件工程师、分布式软件开发经理、研发经理等重要职位。在项目的开发、管理及实施方面具有丰富的实战经验。
Q:InterviewerA:Malcolm
Q:NEO 真的没有转账手续费吗?
A:是的,目前是没有手续费的。
Q:为什么要设置这种 0 转账手续费的机制呢?
A:NEO 采用的是 NEO+GAS 的双 token 的机制。NEO 是管理代币用以权益证明,而 GAS 用作燃料手续费。在 dBFT 共识算法中,手续费是交给记账节点的,只有持有足够多的 NEO,才有权利选出共识节点。记账节点有权利根据手续费的多少排列交易顺序。设置 0 转账手续费,是为了让转账排序只取决于交易发送顺序,而非付出手续费的多少,这样能够有利于节约资源。NEO 区块链实测可以达到 1000TPS,即使是现在,也有 200TPS-300TPS,转账手续费设置为 0,依然可以保证网络的顺畅。
Q:转账手续费为 0 的情况下,矿工怎么获得收益呢?
A:矿工这一概念,存在于 PoW 共识算法中,dBFT 共识算法中是没有矿工的存在的。NEO 的利益分配模型中虽然没有矿工的环节,但是对所有的 NEO 持有者都是友好地。这来自于两部分,一方面,想要在 NEO 区块链上部署智能合约需要付 500 个 GAS,我们会送给部署者 10 个,相当于 490 个 GAS 会被收取,这些 GAS 将会分发给所有的 NEO 持有者;另一方面,NEO 每个区块的出产时间大概是 15-20 秒,每个区块目前会产生 8 个 GAS,这些 GAS 会被平均的分发给 NEO 持有者。
Q:GAS 随着区块产生,NEO 呢?
A:NEO 区块链在创世区块的时候,将全部 1 亿个 NEO 制造了出来。
Q:那如果我拥有全部 1 亿个 NEO,每当有人在 NEO 区块链上部署智能合约,我都能够获得 500 个 GAS?
A:是的。所有因部署智能合约和转账产生的 GAS,都会自动去到 GAS Pool 里自动管理,再自动分发给每个 NEO,这都是自动完成的。正因为 NEO 的持有者会自动获得 GAS,会让 NEO 的持有者更有欲望推广 NEO 区块链,这有利于 NEO 生态的建设。
Q:最近很多币种都在搞分叉,NEO 会有这种情况出现吗?
A:不会的,NEO 的共识机制是先共识,再出块,这就决定了,NEO 很难被分叉。也正是因为这样,交易只需要一个确认就已经被保证。也减少了作恶节点对整个区块链造成影响的可能性。
Q:谢谢你 Malcolm。
A:不客气!
知识点补充:
dBFT 全称为 Delegated Byzantine Fault Tolerant,是一种通过代理投票来实现大规模节点参与共识的拜占庭容错型共识机制。NEO 管理代币的持有者通过投票,可以选出其所支持的记账人。随后由被选出的记账人团体通过 BFT 算法,来达成共识并生成新的区块。投票在 NEO 网络持续实时进行,而非按照固定任期。

退出移动版