【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

重新信仰 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:381583

评论 1 条评论

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

详解html5新增的标签与css3中伪类和伪元素

你好bk

html5 css3 大前端 基础技能

P8整理的OpenStack构架,希望能帮助到你

hanaper

Prometheus 2.30.0 新特性

耳东@Erdong

release Prometheus 9月日更

多指标异常检测方法综述

云智慧AIOps社区

AIOPS 异常检测 技术学习 智能运维 指标

netty系列之:分离websocket处理器

程序那些事

Java 架构 Netty 程序那些事

java 虚拟机 GC :G1配置参数

风翱

GC 9月日更

android逆向之root方式注入apk

轻口味

android 9月日更

分布式系统都要遵守的CAP

卢卡多多

CAP 9月日更

阿里云天池赛题解析——深度学习篇重磅发布!

博文视点Broadview

被客户像小学生一样训话

boshi

创业

VSCode 中,TS 提示 ”无法找到 *.vue 声明文件“ 的解决方案

编程三昧

vscode Vue3 ts 9月日更

2021年最新整理, C++ 学习资料,含C++ 11 / 14 / 17 / 20 / 23 新特性、入门教程、推荐书籍、优质文章、学习笔记、教学视频等

奔着腾讯去

c++

基于虹软SDK,适配Camera1、Camera2、CameraX,实现人脸识别(Android)

小驰笔记

android 音视频 人脸识别 引航计划

第7章-《Linux一学就会》-Centos8 用户管理

学神来啦

Linux linux运维 linux学习 Linux教程

StartDT Hackathon | 泛元数据:让数据成为资产

奇点云

膜拜!不愧是阿里大牛总结的Java10W字面经,Github访问量已破百万

Java 程序员 架构 面试 计算机

linux之登录式shell和非登录式shell

入门小站

Linux

在线黑客帝国文字效果生成工具

入门小站

工具

拒绝裸奔,为 Elasticsearch 设置账号密码(qbit)

qbit

https 安全 Kibana

乌镇回溯 | 构建网络空间命运共同体,旺链科技做了哪些?

旺链科技

数字经济 产业区块链 世界互联网大会

「绝密档案」“爆料”完整秒杀架构的设计到技术关键点的“情报信息”

洛神灬殇

后端 秒杀系统 秒杀架构 秒杀架构设计 引航计划

万亿养老市场如何抢占商机?云巢智慧康养物联网加速器,三招化解ISV痛点!

华为云开发者联盟

物联网 华为云 iotda 沃土云创计划 智慧康养

扒一扒面向对象编程的另一面

华为云开发者联盟

编程 面向对象 对象 对象编程

网络攻防学习笔记 Day150

穿过生命散发芬芳

9月日更 网络流量分析

[外文资源]最好的 Golang 博客

baiyutang

golang 9月日更

Python代码阅读(第30篇):找到列表中的奇偶异常项

Felix

Python 编程 Code Programing 阅读代码

月度发布 | 极狐GitLab14.3升级40+新功能!

极狐GitLab

秋招如何抱佛脚?2021最新大厂Java面试真题合集(附权威答案)

Java 架构 面试 程序人生 编程语言

13个VSCode使用技巧,开启高效的开发模式

华为云开发者联盟

vscode 日志 开发 插件 Git存储库

带你了解数仓安全测试的TLS协议

华为云开发者联盟

安全 通信 密钥 SSL/TLS协议 加密通信

如何利用国产图数据库打造金融行业方案?

星环科技

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