今天起,我们有了EPoW。区块链世界里有一些经典的名词,比如PoW工作量证明(中本聪共识),PoS,DPoS等共识算法,或者DAG代表一种网络结构。
在中本聪发明PoW算法后的第12年,我们基于PoW提出了EPoW(Eco PoW 经济的工作量证明 https://eprint.iacr.org/2020/1117)本质上是一种Proof of Replication(复制证明)。但是这种复制证明的优点是,可以在做复制工作的同时,产生工作量证明。
首先,为什么要区块链存储?
现阶段的区块链,应用比如虚拟货币,存证或者溯源,甚至DeFi,主要是把区块链当成不可篡改的数据库来用。简单回顾一下,创建一个互联网应用需要的技术:通常是服务器软件(Apache/Nginx/IIS)和数据库(MySQL/SQL Server)。文件服务器让硬盘上的资源可以被互联网访问,比如照片,音频,视频,软件包,和网页。可以说,在区块链应用这个世界里,我们是先有数据库,但目前还没有可靠的文件服务器(IPFS没有区块链),因为这些静态数据目前只能放在链下,并不能上链。链下的数据会被移动,删除。只有数据本身被区块链托管,复制,定期检查,才有可能保证数据安全和完整性。
我们需要理解一下复制证明,这是目前区块链文件存储算法的基石
因为区块链和云计算的背景不一样,云计算通常由商业公司提供,区块链网络往往由矿工们提供资源,赚取代币回报。由一家公司提供的服务,最大的风险在于这家公司是否能一直存在。由于经营决策,360网盘等已经宣布关闭,用户不得不迁移数据。
由多方提供资源的区块链,面临新的问题,就是资源提供方不一定会诚实的履行自己的承诺。一旦可以作弊来节省资源投入,很快其他人就会效仿。在区块链存储这方面,有一个抄作业问题:简单说,一个班的同学必须至少有一个人自己做了作业,这样全班才有作业可抄。同样的道理,文件存到多方,如果一些节点删除了文件,那么还有可能从其他诚实的节点恢复文件。如果连最后一份文件的拷贝都被删除了,那么这个文件就永远无法恢复了(不考虑磁盘恢复)
解决这个作弊行为的方案就是复制证明。假设三个存储节点自己有唯一的名字,那么同一份文件被三个存储节点存储时,按照约定我们不存文件的原文,而是存储用各自的名字编码的文件复制。这样同一份内容在三个节点的硬盘上,存为三份唯一的文件,解码后的结果是一样的。最后,复制还有一个特点就是编码慢,解码快。理性的矿工宁可花钱购买硬盘存储,也不会选择删除复制文件重新生成,因为成本更高。
复制证明是区块链存储的关键技术!
回顾一下工作量证明
中本聪提出的工作量证明,提出了以计算能力作为选票,形成共识。因为在计算机世界,身份是很容易伪造的。一个矿工为了被选举成功(并得到成功后的收益),可以创建任意多个身份,来获得更高的回报。这被称为女巫攻击。
因为计算资源(CPU,GPU)是需要花钱买的,有限的。所以用计算资源的工作成果作为选票,形成共识。这里工作量证明有几个作用,以比特币为例 1.保护区块链的安全,因为投入了硬件和能源资源,所以其他人攻击的成本更高 2.选举,决定谁有权生成下一个区块,有手续费 3.初始币的分配,决定市场上最初的钱是哪里来的
其中,初始币和手续费是吸引矿工投入资源挖矿的重要激励。随着币价升高,人们也更愿意投入更多资源。一旦在区块链中移除虚拟币的设计,就没有矿工会投入资源。
作为回报,区块链得到了自己需要啊安全保护,巨大的算力保护着区块链本身,不被恶意的分叉,双花。
工作量证明的最大问题是什么?为什么会有PoS,DPoS这样的代替算法出现
耗电。由于比特币的总量稀缺,币价较高,所以为了赚取初始分配的比特币,矿工马力全开的争夺,这造成了能源的浪费。对于用户来说,矿机输出的工作量证明仅仅是保护了区块链的安全,并没有其他的实际用途。
PoS的提出就是为了创建低耗能的区块链,DPoS则是性能上的改进。这方面介绍的文章较多,这里就不再展开。需要指出的是,我们认为共识算法与区块链性能之间没有必然联系,使用PoW也能设计出高性能区块链。
EPoW是一种复制证明
EPoW是一种复制证明,它使用PoW算法来做复制证明需要的编码工作。这样的算法符合复制证明中编码昂贵(慢),解码便宜(快)的原则。
在此之前,业界先驱Filecoin提出过使用VDF和零知识证明的算法实现的复制证明。相比,我们的算法实现起来非常的简单,并且可以运行在超低规格的服务器上,比如树莓派。
除此以外,EPoW可以在复制数据的同时也生成工作量证明,保护区块链的安全。
我只有一份算力,是用EPoW做复制证明,还是用来生成工作量证明以保护区块链安全?
这正是EPoW的绝妙之处:在做复制证明的同时,我们可以得到免费的工作量证明。
以往,我们为了获得虚拟币而工作,努力消费更多的电力换取虚拟币,从区块链角度看,得到了工作量证明以保护链安全。现在,矿工为了挣钱(法币)而按需工作(有新文件需要复制证明时候工作,没有则不工作),顺带产生免费的工作量证明,来保护区块链安全。
既然还是用到PoW算法,为什么EPoW是经济的?
因为我们去掉了激励方式,虚拟币。以往,为了得到币,矿工会开足算力争夺“初始币分配”,也就是挖矿。但是无论我们投入多少资源,比特币的产出是恒定的。所以单位币需要承载更对的价值(涨价),这是币价一定涨的内在逻辑,因为挖矿成本(难度)在增加。
我们用复制证明编码并存储文件,这是一种切实的工作。EPoW能输出复制编码和工作的证明,虽然消耗了能源,但是是理性的。一旦没有新的复制任务,矿工不会主动消耗电力创建无意义的工作量证明。所以我们的算法是经济的工作量证明,就像运行在经济省油模式的汽车,以节约能源为目标。
为什么EPoW是无币区块链的关键技术?
区块链设计以虚拟币作为奖励,原因就是它的价格对于法币是浮动的。如果以法币来做激励,那么挖矿的成本一定会被控制在预期收入以内,区块链就不可能从矿工处得到越多越好的算力来保护区块链。
使用EPoW,用户将存储需求交给区块链,并支付法币。资源提供方付出资源,并得到稳定的法币回报。
EPoW对现有已投入的区块链算力挖矿的硬件有什么影响?
老旧的矿机,由于生产的时候技术限制,单位能源产生的算力较低。这些老旧的矿机挖矿挣到的钱还不够支付消耗的能源,它们有关机价。也就是说比特币的价格如果低于一个点,这些老矿机宁可关机,因为开着也是亏本。然而这些早期投资依然能产生可观的算力来保护区块链网络,如果他们可以找到适当的理由来使用这些算力,如果有人可以支付开机成本。
EPoW是一种有用的PoW,使用EPoW设计的区块链可以'复活'很多老的矿机,使得我们过去在算力上的投资没有白花。
对现有矿池有什么影响?
加入矿池,本质上是向矿池出售算力换取稳定的回报。对于区块链的风险,是矿池控制了大量算力,一旦某矿池超过50%,它就有了作恶的能力。矿池的出现可能是中本聪没有预料到的,区块链更欢迎分散的算力。
由于EPoW本地使用了算力,所以从矿池接一些任务进行计算的外包式挣钱法,就有点不太合适。使用EPoW本来就可以通过贡献资源来挣钱,而如果是比特币,没有巨大算力的情况下,不加入矿池,坚持独立挖矿,爆块的概率比中彩票还低,很有可能一整年颗粒无收。
EPoW将使得区块链再次回到独立挖矿的田园时代,矿池将不再有能力获得寡头算力,这将极大的保障区块链安全。
本文作者:KJ
作者主页:
https://learnblockchain.cn/people/158