Arweave是一个专为永久存储打造的公链。Arweave可以理解为一个去中心化的网盘,在这个网盘里面的数据经过Arweave节点确认后就会永久的存储在网盘里面,其实也不是百分之百的永久存储,而是几乎接近于100%的永久存储,因为根据Arweave对存储数据价格的计算,用户为数据永久存储付的费用几乎可以肯定会覆盖矿工存储他付出的成本,所以矿工总会有动力去存储这个数据。
一条公链最重要的是安全性,Arweave作为一条永久存储数据的底层公链,最重要的是保证数据的安全性,也就是数据不会中心化存储与某几个节点,要分布式的存储在许多节点上,要保证数据在网络中有足够多的备份来保证数据的安全。
那Arweave是怎么确保数据去中心化存储并且有足够多的备份在保证数据安全的呢?
blockweave这种区块链结构,让节点可以存储部分数据,为了让存储部分数据的节点能够验证区块,还要定时传输所有区块的hash列表和钱包列表。
POA是为了实现每个区块在不同节点的冗余性,其要求是节点出新块的时候需要证明存储了之前随机的某个区块-recall-block。
我们来描述Arweave生成1个新的区块的具体流程
当前末尾区块是区块5,节点A存储了区块2和3。
生成区块6的需要携带区块2的数据,节点A进行POW 通过比拼节点A POW竞争中胜出,获得记账权。和A进行竞争的节点是存储数据由区块2的节点。
节点A打包事务并按照要求存入区块2的部分数据,整体打包生成新的区块。
节点A将新的区块和recall block广播给其他节点 其他节点验证新的区块是否有效,有效包含区块的随机数符合POW以及区块中是否包含recall block的部分数据。
上面的过程,为什么要将recall block也一并广播给其他节点呢?Arweave每个节点只存储部分区块,所以很多节点并没有该recall block,但很多都包含recall block的hash值,这样我们可以确认传输过来的recall block的正确性,并用该recall block去验证新的区块中包含的数据是否正确。
特点:
鼓励存储稀缺区块。
鼓励多存数据。
如果有某个节点例如节点A存储了所有的数据,但其他的节点存储的数据过少的话,那么A上的大多数区块都成了稀缺区块。那么其他的节点就有动力增加自己的算力和带宽去竞争这些稀缺区块。
所以Arweave比较巧妙的解决了多节点数据的分片的均匀存储,并且能够有多份拷贝。
Rfees是区块内交易的交易费总和。
Rinflation 区块增发奖励。
Rendowment 仅在Rinflation加上Rrewards不足以在当前阶段维持网络的存储负荷时,才会从基金中提取通证奖励节点。
现在Arweave节点有中心化的问题,这些节点很多是官方节点或者和官方有关联的节点。那么是否说明Arweave的经济机制的设计不能导致节点去中心化了呢?
不能这么说。
比特币的发展:
少数全节点→币价低→共识扩大→币价增高→吸引更多的节点。
比特币在币价低共识下的时候,攻击的它的力量也小,比特币随着体量的扩大,攻击它的力量越来越大,但节点也越来越多,比特币在区块链历史发展中,由于共识的扩大导致节点算力的增大,保护比特币算力力量总是比攻击它的力量要大。
Arweave的节点
少数节点→币价低→存储数据量和交易量增大→币价增高→吸引更多的节点。
当项目还出出早期,POW项目易于被攻击,而且生态还没有建立起来,项目方的几个节点作为中心节点的存在是必须的。随着交易量和存储量的增大,节点的奖励增多,逐渐会吸引更多的节点进入。项目方在合适的时机逐步退出,让节点在机制的作用下博弈理论上是可以形成去中心化的节点。
关键是区块链行业的发展和arweave上生态的繁荣。