基于加密货币的基础网络涡轮网络技术介绍
扫描二维码
随时随地手机看文章
涡轮网络项目致力于构建大规模在现实商业社会中应用的加密货币,我们坚信,真正的大规模是人人可参与挖矿,网络维护总成本尽量降低。因此,我们提出了一种更节能环保、低门槛参与且安全防攻击的加密货币—涡轮网络,能够真正大规模在商业社会中落地应用。
超低门槛
PoW 挖矿需要昂贵、专用的 ASIC 钻机或 GPU,与此相比,您只需通过额外的笔记本电脑和外置 HDD 便能进行涡轮网络挖矿,只要能用一个多余桌面电脑和数 TB 的磁盘空间进入挖矿游戏,每天挖几个 VOL 基本不成问题。由于多余的储存空间很常见,硬件便宜,竞争也不那么激烈,更多的人可以参与到 PoST 挖矿中,这意味着网络是更加分散的。
我们认为硬盘挖矿才能真正的降低挖矿门槛,实现家家户户有矿机,人人都参与挖矿的愿景。
当前,普通硬盘 3T 容量的价格在 500 元人民币左右,只需要一台普通个人电脑,即可参与完全基于密码共识过程的涡轮网络的挖矿,这对于初次了解和进入数字货币领域的人来说,是一个非常低的门槛。
节能环保
硬盘天然存在耗电低,无热量,无需散热,低噪音,无法被 ASIC 化,购买门槛低的优点,每家部署几十块硬盘角落一丢就行,无需担心巨额的电费支出:
在涡轮网络中,使用 5T 硬盘挖矿平均功耗不到 7W。而比特币 ASIC 矿机耗电约 1350-2000W,而涡轮网络所需硬盘矿机仅耗电 70- 90W。仅为比特币 ASIC 矿机耗电量的 1/20。一台 ASIC 矿机,每年消耗电力约 17520 度,而硬盘矿机仅耗电约 700 度,硬盘矿机不仅耗电量极小,与比特币 ASIC 矿机相比,噪音极小且几乎没有发热量。
未来挖矿收益提高需要升级更大容量的硬盘,旧硬盘可以拿来存放影片、资料、做整列盘等。因此硬盘的残余价值和保值率是非常高的。
安全防攻击
时间证明是空间“耕作”的辅助机制。准确地来说,Proof of Time 是可验证延迟算法(Verifiable Delay Algorithm),它是一种特殊的 Proof of Work,在验证过程中需要花一定的时长,经历特定次数的迭代。每次迭代过程可以加速,但不能跨迭代进行并行运算。同时它还需保证运算结果可验证且具有权威性:任意两个不同节点进行验证,其运算结果都是一致的,且网络中其他节点都可以对其结果进行验证。在此机制下,涡轮网络甚至可以设置,将一个区块 Proof of TIme 的运算结果作为下一个区块的 Proof of Space 的运算起点。
有了空间证明和时间证明,每一个区块的产生以空间证明为起点,时间证明为终点,保证一个区块就是一个区块(也就是我们所说的 finalized),每个区块的权值相等,那么攻击者也就无法从孤块入手重写整条链。
涡轮网络技术解决方案
涡轮网络采用 PoST(Proof of Space and TIme,时空证明)作为共识算法基础。
1. 涡轮网络网络架构
在深入挖矿细节之前,先了解一下涡轮网络的网络架构。
挖矿节点可是个人电脑,或者是矿池。挖矿节点需要连接到涡轮网络上的至少一个节点。挖矿节点需要存储挖矿私钥,可以在本地启动挖矿客户端,也可以连接其他多个挖矿客户端,再由客户端连接硬盘。
2. 共识算法 - 时空证明(PoST)
PoST(时空证明)是在原来空间证明算法的基础上引入了时间维度的算子,利用可延迟验证函数的特性,强制要求矿工在得出候选块数据之后进行一定时间强度的数学运算,再结合可快速验证结果和候选块数据两方面要素进行块选择,从而缓解了空间证明算法中存在的类似自私挖矿、重写攻击等安全方面的漏洞。
PoST 共识算法可以拆分两部分:基于 Plot 的硬盘测绘算法和基于 VDF 的时间证明。根据不同的硬盘大小,测绘可能需要几天甚至几周的时间。测绘过程中,我们使用称为Shabal 的非常慢的哈希算法。由于 Shabal 哈希算法计算过程很慢,所以我们必须预先计算它们并将它们存储在硬盘上,这个过程称为硬盘测绘。
测绘过程中会创建相应的测绘文件以占据硬盘空间,测绘文件中会存储大量预先计算过的Nonces。分配给测绘的硬盘空间越大,您可以存储的 Nonces 就越多。可以存储的 Nonces 越多,就越大概率挖到矿。
当生成一个 Plot 文件的时候,必须要提供一个涡轮网络账户。因为每个账户都不一样,即使 Nonce 的编号相同,每个矿工的 Plot 文件也都不一样。
同时,我们设计了一种基于 VDF 的时间证明算法,其中网络选择一个矿工来创建新区块的概率与当前这个矿工存储容量(S)和全网网络容量(A)的关系成正比。我们设计了算法,使得矿工必须提供存储并通过计算以证明数据被存储之后才能参与共识。
3. 关键技术
基于 Plot 的硬盘测绘算法
矿工首先根据自己的公钥以及 Shabal 算法,在硬盘上生成 Plot 文件,这一过程称为 P 盘。硬盘容量越大,Plot 文件中填充的 Hash 值数量越多,那么产块的概率就越高。
基于 VDF 的时间证明算法
矿工监听钱包收到的交易之后,组成一个 block,根据这个 block 的 hash 值,在硬盘上寻找一个最匹配的 Nonce,把 Nonce 转换为 Deadline。并要求矿工在对该 Nonce 进行一定时间强度的数学运算得出 VDF 证明,并且广播此 block 以及 VDF 证明。
下面我们详细介绍硬盘测绘算法、VDF 的时间证明算法的技术细节。
1)基于 Plot 的硬盘测绘算法
存储在硬盘上的预选计算好的 Hash 数据,称为 Plot 文件。P 盘就是在硬盘上生成 Plot 文件的过程。涡轮网络采用的是 256 位的 Shabal 算法,Shabal 是一种计算非常耗时的 Hash函数,同时也是一种抵御 ASIC 的算法,这个算法比较适合做 PoST 共识。Plot 文件由大量 Nonce 组成。每个 Nonce 的大小是 256K。每个 Nonce 有个唯一的编号,从0 到 18446744073709551615。每个 Nonce 分成了 4096 段。每一段称之为 Scoop。每个Scoop 是 64 个字节,包含 2 个 Hash 值。
为了创建 nonce,首先制作第一个起始种子,种子包含 Plotter ID 和 nonce number,完成后我们用 shabal256 函数生成第一个哈希值,作为 Scoop#4095Hash#1。
随后把 Scoop#4095Hash#1 附加到起始种子。作为下一轮 shabal256 计算的种子。
随后把 Scoop#4095Hash#0 和 Scoop#4095Hash#1 附加到起始种子。作为下一轮 shabal256 计算的种子。依次类推,最后再生成 FinalHash 值:
再使用 FinalHash 异或其他所有 Hash,存入 Plot 文件中。
2)基于 VDF 的时间证明算法
从最近的 24 个区块计算 Base target。 Base target 用来调整挖矿难度。 Base target越低,挖矿越难。因为难度的调整,涡轮网络能保证大概每 4 分钟生成一个区块。
加入挖矿池挖矿的话,涉及到奖励发放。 设置奖励发放,其实是告诉 涡轮网络: 1)你的所有收益分配给矿池。 2)矿池能利用你的 Plot 文件发现的 Deadline,并且矿池能生成区块签名。
在挖矿之前,矿工需要抵押一定数量的币,以获得挖矿资格。矿工发送抵押币的交易给全网,全网节点收到抵押币的交易后,在本地区块中记录抵押的信息。
挖矿的第一件事情是,矿工向钱包询问挖矿信息:区块打包签名, base target,下一个区块高度。钱包负责区块打包签名和下一个区块高度,矿工利用这两个信息,经过 Shabal256算法生成 GeneraTIon Hash。
接着,通过模运算(4096),获得 Scoop 数值。
从 Plot 文件中,读取所有的编号为上述结果的 Scoop。对每个 Scoop,合并上区块签名,再经过 Shabal256 运算,得到 Target。 Target 再除以 Base target,获得 8 字节的Deadline。矿工检查得到的 Deadline 是否足够低。如果足够低,则作为备选的出块数据。将 Deadline 输入到可验证延迟函数(VDF)中,并在当前时间到 Deadline 这段时间内,执行一定时间百分比的 VDF 计算,得到至少 L 证据链和最终计算结果 R,其中(T、L、R)都是公开可验证的。
矿工根据(T、L、R)计算其是否满足出块要求,如果符合公式要求,且在上一个区块挖出后的 Deadline 的时间后,如果没有其他人在你之前挖出区块,你就能挖出该区块并获得奖励。
矿工提交信息给钱包:账户 ID 以及 Nonce 数值。如果你是独立矿工,你还需要提供密钥。如果是矿池,使用矿池的密钥。
钱包接收到矿工提交的 Deadline 相关信息后,创建相应的 Nonce ,验证 VDF 和Deadline。如果 VDF 验证成功,钱包查看是否时间满足 Deadline,如果当前系统时间没到Deadline,就继续等待。如果等待过程中,有其他钱包生成了合法的满足 Deadline 的区块,放弃该区块(因为该区块已经无效)。如果有多个矿工提交 Deadline,钱包选择最低的Deadline。当 Deadline 的时间满足时,钱包开始生成区块,并广播此区块。
对打包进区块的每一笔交易,钱包都需要检查,比如说,交易的签名是否正确,时间是否正确等等。钱包会计算区块的所有金额以及费用。区块只记录的是交易的 ID 以及所有交易信息的 Sha256 信息。
其他节点钱包收到区块后,逐一验证区块的交易,并给与矿工奖励。在计算奖励时,钱包首先在本地区块中检索抵押信息,如果矿工抵押的币满足经济模型中定义的抵押条件,可以获得全额奖励。
通证经济模型
区块链平台本质是⼀个公平的价值流通市场,因此所有的经济⾏为的成本底层在于交易成本,VOL 币就是交易成本的载体,站在这个⻆度,VOL 币将⽤于以下激励⽤途:
1、记账(挖矿)奖励;
2、在共识中,VOL 的代币持有会影响个别场景下(如节点出块选择)的权重;
3、涡轮网络⽣态的参与者在底层代码开发、周边工具/服务提供、生态影响力宣传、应用场景落地等方面推动生态进展的奖励。
1. 代币分配
Volume Network Token(VOL):
1.供应总量:100 亿 VOL
2.区块奖励:4000 VOL/块
3.预挖:预挖 3 亿 VOL 进行 IEO,其余 97 亿 VOL 正常挖矿产生
4.矿工挖矿:区块奖励其中 91 亿 VOL 奖励给矿工,即每个区块 3752.5 VOL
5.生态促进:区块奖励其中 6 亿 VOL 给到涡轮生态,即每个区块 247.5 VOL,将用于激励核心代码升级贡献者、矿池服务提供商、矿机厂商、推广团队
2. 矿工收入计算
依据 PoST 共识机制,每个矿工的算力由其可用硬盘存储空间决定,收益由出块成功率和当前区块收益决定:
假设 A 矿工拥有 10T 硬盘,假设此时全网共 10P,且 A 矿工 CPU 处于平均水平,则 A 矿工出块成功的概率为 0.1%,区块奖励为 4000VOL,每 4 分钟出 1 块,一天 360 块A 矿工平均收益为 360*4000*0.1%=1440 VOL/天。
3. 抵押挖矿加成
PoST 共识机制后续将加入 Staking,依据矿工抵押 VOL 币的不同比例,给予不同的挖矿概率提升,质押总额总体无限趋向于全网 100%的 VOL 发行量,随着全网矿工质押代币逐渐增加,单位质押量挖矿概率加成将逐步下降,单位算力质押量与全网质押量相关,计算公式如下: