空间存储公链核心共识机制和优势

与POW证明方式不同的是:POC要求矿工事先计算一系列用于挖矿的哈希值,以阵列形式存储在硬盘中;参与挖矿活动时,矿工检索硬盘中的阵列,寻找出最符合出块条件的“答案”。

第一步:Plotting测绘

根据你的硬盘空间的大小,需要花费数天或者数周的时间生成你独特的测绘(plot)文件。测绘 Plotting 使用的是一种名叫Shabal的哈希函数,它和比特币使用的 SHA-256 哈希函数不同。

选择使用Shabal一方面是因为在出块阶段矿工并不需要进行大量的Hash运算,另一方面也可以通过计算代价来防止可能的恶意矿工在每个出块阶段临时计算需要的Hash值而非存储中的Hash值。

我们需要对Shabal 哈希进行“预计算”(precompute),然后把结果存储在硬盘空间里。

当你Plotting的时候,也就是为你的硬盘空间创建 plot 文件,你同时会创建一个叫做Nonces的东西。nonces 是通过数据不停重复哈希产生的,这些数据包括你的账户ID等等。

如果你为Plotting分配越多的硬盘空间,那么你就能存储越多的nonces 。

第二步:Nonces生成

空间存储公链核心共识机制和优势_第1张图片

1.Nonce文件的种子由Account Id(即Spatial storage common chain网络中的用户地址或者用户Id) 与Nonce Id(即nonce编号)组成,经过第一次Hash,生成Hash #8191,即Non中的编号为8191的Hash值。

2.#8190Hash值由之前一个#8191Hash值与Account Id,Nonce Id 生成。

空间存储公链核心共识机制和优势_第2张图片

3.#8189Hash值由之前两个#8191Hash,#8190Hash值与Account Id,NonceId 生成,依次类推,每下个Hash值,都有其之前计算的所有Hash值与AccountId,Nonce Id 生成。如果过程中超过了4096个bytes,则取最近生成的4096bytes作为下一次的Hash函数输入参数。

4.最终Hash的生成,由Hash#0-8191与Account Id,Nonce Id共同生成,之后对8192个Hash值都分别对其进行异或操作,作为每个Hash最终的值。

空间存储公链核心共识机制和优势_第3张图片

空间存储公链核心共识机制和优势_第4张图片

5.得到了8192个Hash值后至此,我们生成了1个完整的Nonce文件,一个Nonce文件包含8192个Hash值,占用空间256KB。这同时也是矿工参与挖矿的最低门槛,即只要有大于等于1个Nonce文件即可参与挖矿。

第三步:出块时间deadline计算

这 8192 个哈希表是成对出现的,每对被称为scoop。每个scoop 会被分配一个从 0 到 4095 的标号数字。

矿工在挖矿过程中,就是从 0 到 4095 计算每个 scoop 的标号数字去取出它里面的数据,利用这个数据计算出一个时间,这个时间被称为deadline 。这个deadline 就代表了从上一个区块被生成之后,到你生成下一个区块之前,系统必须等待的时间长度(多少秒)。如果在这个时间长度里面,没有人生成下一个区块,那么你就获得了生成一个区块的权利,挖矿的奖励也就归你了。

空间存储公链核心共识机制和优势_第5张图片

共识优势

POC节能环保

硬盘天然存在耗电低,无热量,无需散热,低噪音,无法被 ASIC 化,购买门槛低,无需担心巨额的电费支出。

未来挖矿收益如需提高升级更大容量的硬盘,旧硬盘可以拿来存放影片、资料、做整列盘等,因此硬盘的残余价值和保值率是非常高的。

POS市场扩张和裂变

pos算法公式为:hash(block_header) =

其中,coinage表示币龄,这将意味着,币龄越大,越容易得到答案。而其中币龄的计算是通过POC挖矿者拥有的币乘以每个币的剩下使用时间得到,这也将意味着矿工拥有的币越多,所能得到的奖励概率越大。

POST安全防攻击

我们将POST作为POC共识优化策略,是容量“耕作”的辅助机制。POST作为可验证延迟算法(Verifiable Delay Algorithm),在验证过程中需要花一定的时长,同时利用可延迟验证函数的特性,强制要求矿工在得出候选块数据之后进行一定时间强度的数学运算,从而缓解了POC算法中存在的类似自私挖矿、重写攻击等安全方面的漏洞。

你可能感兴趣的:(区块链)