写点什么

重新信仰 PoW:无币区块链和经济工作量证明

  • 2020-10-29
  • 本文字数:4525 字

    阅读完需:约 15 分钟

重新信仰PoW:无币区块链和经济工作量证明

工作量证明自从区块链出现的那一天开始,就充满了争议。短短几行代码就可以实现神奇的工作量证明,解决拜占庭将军难题。但是,挖矿消耗的电量是巨大的,造成了资源浪费。人们在尝试寻找一种有用的工作量证明,比如用计算来寻找外星人,或者用来做深度学习训练。


以太坊的创始人 V 神在 2014 年写过一篇博客,列出了与区块链相关的多个密码学问题,在 5 年后也就是 2019 年,V 神又写了一篇博客来回顾 5 年内密码学的进步:其中在”有用的”工作量证明上,他悲观的评论到,有可能做不到。


我们的灵感就来源于 V 神的这篇博客,在意识到寻找有用的工作量证明是区块链世界中的难题以后,在 2020 年初新冠期间,我们发现了一种使用工作量证明的用途:用于文件的复制证明。12 年来,我们第一次的升级了中本聪的工作量证明,如果说中本聪的算法是 1.0 版本,那么我们很有可能发现了这个算法的 1.5 版本。


今天起,我们公开了 EPoW(Economic Proof of Work ),中文称之为经济的工作量证明。这使得工作量证明中所做的工作可以是有用的,用于文件的复制证明。但是绝妙之处在于,做复制工作的同时,可以产生免费的工作量证明。在研究中,除了算法本身,我们还讨论了这个算法对于区块链生态的可能影响。


点击查看相关论文https://eprint.iacr.org/2020/1117


中本聪和虚拟币最初的故事:2008 年金融泡沫时的中本聪,不管是否富有,都无法用自有的资金去支持比特币这样一个项目。使用法币来支付矿工,即使在今天也是疯狂之举。中本聪以及后来的区块链缔造者们暂时都离不开虚拟币这个选项,因为虚拟币可以一文不值,也可以价值连城。支付矿工在当时一文不值的比特币,作为回报,无异于创业公司期许给员工的期权,大概率会在几年以后一文不值。但也同样吸引了一帮疯狂的伙伴,参与到这个近乎神奇的项目中。和这个时代的其他主流商业奇迹不一样,有了虚拟币的参与,比特币不再需要风险投资。


挖矿在一开始是门槛很低的游戏,只要你愿意参与,就一定能获得比特币。越早参与,收益越高,极大了激励了早期参与者。在前两年的区块链火爆行情下,一度出现过币价一定涨的现象。不同于空气币的忽悠,比特币一定时间内持续涨价是有很有逻辑的:共识和稀缺是比特币价值的基础,成本是比特币的价格基础。比特币便宜了,矿工怎么交电费,怎么发工资?


把比特币比作郁金香泡沫,我认为是不恰当的,比特币本身没有拉人头传销现象。推动价格的是成本,而非旁氏骗局。另外,由于知名度等历史原因产生的共识,它已经成为了价值的锚定,数字黄金。


比特币固定时间的恒定产出量,跟全世界算力多还是少毫无关系。大白话就是,无论我用多少电,造多快的矿机,比特币每小时都只产出那么几个,矿工之间谁挖多了,其他人必然挖少。这是工作量证明算法被诟病的主要原因,但其实是比特币的设计问题。即使达成共识,提高单位时间产量,拥有更多可以流通的比特币,也无法解决问题。


比特币或许会走出人类历史的舞台,但是区块链应该会成为舞台。


值得思考的问题是,区块链和虚拟货币是天生不可分的吗?使用区块链的创业者,一定要把自己投身到如此高风险的金融游戏中,失败了只能跑路吗?


曾经一个区块链大佬对我说过,在这个行业混,必须有自己的币。我那时是不信的,但是之后仔细思考,我竟无法反驳?连中本聪都做不到无币区块链,有可能存在吗?


我们先理解,为什么区块链一定得有虚拟币?为了支付矿工的资源投入成本。单靠信仰让每个矿工自掏腰包挖矿,矿工们可不干。


一个电子现金系统的基石是什么?安全。没有了安全,再多奖励也只是浮云。比特币的设计之所以奖励矿工而不奖励全节点,就是在奖励为安全做工作的人。只可惜,中本聪的工作量证明,其实是算力证明,算力是否产出了实际的价值?是的,保护了比特币安全,但仅仅如此。我们戏称这样的工作量证明是磨洋工证明。


为了得到虚拟币,主动提供算力来交换,而虚拟币产量固定,这些因素必然会造成能源浪费。


在我们提出的经济工作量证明中,我们将区块链安全所需的工作量证明,变成一种副产品:“有用的”工作的副产品。这将改变区块链设计中,为了得到保护自身安全的工作量,采用虚拟币作为奖励机制。


我们提出的”有用的”工作,就是做复制证明。复制证明是区块链存储的核心算法。

区块链存储

云计算,云存储已经普及。相比我们使用本地硬盘存储数据,我们日常生活中,广泛的使用云服务,比如在线视频,音乐,都是广义的云存储。


但是,云上的数据都是由公司负责维护的,数据的安全由公司的技术团队保障。


用户和服务商之间,只有 SLA 作为保障,数据丢了,只能赔偿。用户甚至无法审计服务商的内部运作和存储格式。


链下的数据会被移动,删除。只有数据本身被区块链托管,复制,定期检查,才有可能保证数据安全。


由多方提供资源的区块链,完全解决了数据透明的问题,数据在不同服务方迁移能力是必选项。但是区块链存储也面临新的问题,就是资源提供方不一定会诚实的履行自己的承诺。一旦可以作弊来节省资源投入,很快其他人就会效仿。在区块链存储这方面,我们经常用抄作业问题来解释:简单说,一个班的同学必须至少有一个人自己做了作业,这样全班才有作业可抄。同样的道理,文件存到多方,即使部分节点删除了文件,那么还有可能从其他诚实的节点恢复文件。如果连最后一份文件的拷贝都被删除了,那么这个文件就永远无法恢复了。


解决这个作弊行为的方案就是复制证明。


假设三个存储节点自己有唯一的名字,那么同一份文件被三个存储节点存储时,按照约定我们不存文件的原文,而是存储用各自的名字编码的文件复制。这样同一份内容在三个节点的硬盘上,存为三份唯一的文件,解码后的结果是一样的。


最后,复制还有一个特点就是编码慢,解码快。理性的矿工宁可花钱购买硬盘存储,也不会选择删除复制文件重新生成,因为成本更高。


复制证明是区块链存储的关键技术!

工作量证明

中本聪提出的工作量证明,提出了以计算能力作为选票,形成共识。因为在计算机世界,身份是很容易伪造的。一个矿工为了被选举成功(并得到成功后的收益),可以创建任意多个身份,来获得更高的回报。这被称为女巫攻击。


Data = “Data to write into next block”


User = “Miner identity”


Difficulty = “Next block generation Difficulty”


Nonce = 0


While True:


If Hash(Data+User+Nonce) < Difficulty:


Break


Nonce += 1


因为计算资源(CPU,GPU)是需要花钱买的,有限的。所以用计算资源的工作成果作为选票,形成共识。这里工作量证明有几个作用,以比特币为例 1.保护区块链的安全,因为投入了硬件和能源资源,所以其他人攻击的成本更高 2.选举,决定谁有权生成下一个区块,有手续费 3.初始币的分配,决定市场上最初的钱是哪里来的


其中,初始币和手续费是吸引矿工投入资源挖矿的重要激励。随着币价升高,人们也更愿意投入更多资源。一旦在区块链中移除虚拟币的设计,就没有矿工会投入资源。


作为回报,区块链得到了自己需要啊安全保护,巨大的算力保护着区块链本身,不被恶意的分叉,双花。

工作量证明的最大问题

耗电。由于比特币的总量稀缺,币价较高,所以为了赚取初始分配的比特币,矿工马力全开的争夺,这造成了能源的浪费。对于用户来说,矿机输出的工作量证明仅仅是保护了区块链的安全,并没有其他的实际用途。


PoS 的提出就是为了创建低耗能的区块链,DPoS 则是性能上的改进。这方面介绍的文章较多,这里就不再展开。


需要指出的是,我们认为共识算法与区块链性能之间没有必然联系,使用 PoW 也能设计出高性能区块链。

EPoW 是一种复制证明

EPoW 是一种复制证明,它使用 PoW 算法来做复制证明需要的编码工作。这样的算法符合复制证明中编码昂贵(慢),解码便宜(快)的原则。


在此之前,业界先驱 Filecoin 提出过使用 VDF 和零知识证明的算法实现的复制证明。相比,我们的算法实现起来非常的简单,并且可以在超低规格的服务器上运行,比如树莓派。


除此以外,EPoW 可以在复制数据的同时也生成工作量证明,保护区块链的安全。


我们以矿工的视角来思考,我只有一份算力(硬件),是应该用 EPoW 做复制证明,还是用来生成工作量证明以保护区块链安全?理性的矿工一定会选挣钱的那个选项。


这正是 EPoW 的绝妙之处:在做复制证明的同时,我们可以得到免费的工作量证明。在 EPoW 中,PoW 是工作产生的“副作用”,只要还有文件存储“工作”需要处理,我们就能在工作的同时,产生工作量证明。


以往,我们为了获得虚拟币而工作,努力消费更多的电力换取虚拟币,从区块链角度看,得到了工作量证明以保护链安全。现在,矿工为了挣钱(法币)而按需工作(有新文件需要复制证明时候工作,没有则不工作),顺带产生免费的工作量证明,来保护区块链安全。

既然还是用到 PoW 算法,为什么 EPoW 是经济的?

因为我们去掉了激励方式,虚拟币。以往,为了得到币,矿工会开足算力争夺“初始币分配”,也就是挖矿。但是无论我们投入多少资源,比特币的产出是恒定的。所以单位币需要承载更对的价值(涨价),这是币价一定涨的内在逻辑,因为挖矿成本(难度)在增加。


我们用复制证明编码并存储文件,这是一种切实的工作。EPoW 能输出复制编码和工作的证明,虽然消耗了能源,但这是理性的。一旦没有新的复制任务,矿工不会主动消耗电力创建无意义的工作量证明。所以我们的算法是经济的工作量证明,就像运行在经济省油模式的汽车,以节约能源为目标。

为什么 EPoW 是无币区块链的关键技术?

区块链设计以虚拟币作为奖励,原因就是它的价格对于法币是浮动的。如果以法币来做激励,那么挖矿的成本一定会被控制在预期收入以内,区块链就不可能从矿工处得到越多越好的算力来保护区块链。


使用 EPoW,用户将存储需求交给区块链,并支付法币,这样矿工已经得到了回报。资源提供方付出资源展开“有用的”工作,并得到稳定的法币回报。在此过程中,工作量证明已经随之产生,无需区块链再给额外的奖励。这避免了使用虚拟币来激励矿工,同时也避免了无畏的资源浪费。

EPoW 对现有已投入的区块链算力挖矿的硬件有什么影响?

老旧的矿机,由于生产的时候技术限制,单位能源产生的算力较低。这些老旧的矿机挖矿挣到的钱还不够支付消耗的能源,它们有关机价。也就是说比特币的价格如果低于一个点,这些老矿机宁可关机,因为开着也是亏本。然而这些早期投资依然能产生可观的算力来保护区块链网络,如果他们可以找到适当的理由来使用这些算力,如果有人可以支付开机成本。


EPoW 是一种有用的 PoW,使用 EPoW 设计的区块链可以”复活”很多老的矿机,使得我们过去在算力上的投资没有白花。

对现有矿池有什么影响?

加入矿池,本质上是向矿池出售算力换取稳定的回报。


对于区块链的风险,是矿池控制了大量算力,一旦某矿池超过 50%,它就有了作恶的能力。矿池的出现可能是中本聪没有预料到的,区块链更欢迎分散的算力。


由于 EPoW 本地使用了算力,所以从矿池接一些任务进行计算的外包式挣钱法,就有点不太合适。使用 EPoW 本来就可以通过贡献资源来挣钱,而如果是比特币,没有巨大算力的情况下,不加入矿池,坚持独立挖矿,爆块的概率比中彩票还低,很有可能一整年颗粒无收。


EPoW 将使得区块链再次回到独立挖矿的田园时代,矿池将不再有能力获得寡头算力,这将极大的保障区块链安全。


作者介绍:


阚嘉,西交利物浦大学博士研究生


2020-10-29 08:382102

评论 1 条评论

发布
用户头像
你是不是不知道ipfs 和 filecoin。。。
2020-10-29 15:55
回复
没有更多了
发现更多内容

中台的前世今生

涛哥 数字产品和业务架构

企业架构 中台架构 中台的由来

Linux内核分析学习路线总结(内核人员必看)

Linux服务器开发

操作系统 Linux内核 内核源码 内核开发 驱动开发

一周信创舆情观察(7.26~8.1)

统小信uos

FastApi-06-请求体-3

Python研究所

FastApi 8月日更

5 分钟,快速入门 Python JWT 接口认证

星安果

Python JWT

拍乐云创始人赵加雨:沉浸式音视频加持数智化未来世界

拍乐云Pano

使用PyTorch构建神经网络模型进行手写识别

Shirakawa

神经网络 机器学习 深度学习 PyTorch 手写识别

第一次凡尔赛,字节跳动3面+腾讯6面一次过,谈谈我的大厂面经

Java~~~

Java 面试 微服务 多线程 架构师

云计算以及云计算周边词概念简单介绍-行云管家

行云管家

云计算 服务器 云服务

贝壳找房基于StarRocks构建全新统一的极速OLAP平台实践

StarRocks

数据库 数据分析 OLAP StarRocks

阿里顶级大佬整理出十六个专题的Java面试指南,金九银十不用愁!

Java 编程 架构 面试 架构师

101道经典JavaScript面试题总结(附答案,建议收藏)

前端依依

面试 大前端 JavaScrip

PostgreSQL正强势回归!

数据库 大数据 时序数据库 tsdb 数据智能

架构实战营模块四作业

maybe

Github首次开放,一天遭狂转 50w 次!阿里内部不外传的 100 万字 Java 面试手册!

Java 程序员 架构 面试 计算机

一个算法“拿下”两个榜单!爱奇艺ICCV 2021论文提出人手三维重建新方法

爱奇艺技术产品团队

vr 论文 ICCV2021 高精度三维重建

摘下手机赛场的夏季“金牌”,荣耀的“飞人之路”

脑极体

云原生时代,腾讯如何做好容器安全体系建设?

腾讯安全云鼎实验室

腾讯云 容器

维护数据隐私和增强竞争优势的秘密

九河云安全

资深大牛带你了解源码!最新Android面试题整理

欢喜学安卓

android 程序员 面试 移动开发

专访融云 CTO 任杰:构建通信云全能力

融云 RongCloud

开放搜索电商行业模版驱动业务增长实践

阿里云大数据AI技术

现有市值管理机器人|交Y机器人系统源码搭建

Geek_23f0c3

做市机器人 去中心化市值管理机器人

人在年轻的时候,最核心的能力是什么?

非著名程序员

认知提升 个人提升 提升自我 8月日更

最全总结 | 聊聊 Python 数据处理全家桶(存储过程篇)

星安果

Python 数据库

Python RPC 不会?不妨看看这篇文章

星安果

Python RPC RPC架构

从关门“振动”说起,在这部剧本杀综艺里,爱奇艺隐藏了多少技术“小心机”

爱奇艺技术产品团队

综艺节目 互动视频技术 爱奇艺

强推!华为内部都在用的783页大数据处理系统:Hadoop源代码pdf

Java 编程 架构 面试 架构师

如何洞察出推荐的关键时刻

石云升

推荐 用户体验 体验设计 8月日更

镜像是什么意思?分类有哪些?

行云管家

网络安全 镜像 堡垒机 云厂商

字节跳动Android面试:2021Android大厂面试知识分享

欢喜学安卓

android 程序员 面试 移动开发

重新信仰PoW:无币区块链和经济工作量证明_区块链_阚嘉_InfoQ精选文章