读懂“工作量证明”,才算读懂“区块链”

关键词:区块链、去中心化、记账

在一个互不认识、没有中心、缺乏互信的环境里,大家只需要在最长的区块链上工作,就能保证系统信息的真实性,这就是“工作量证明”机制

——李洋

长江商学院市场营销学副教授

打着“去中心化”招牌的区块链技术,很多人觉得懂,又说不清楚;很多人感觉跟自己相关,又不知何从入手;很多人觉得这里蕴藏极大机会,又觉得风险也极大,荷兰郁金香的质疑不绝于耳。比特币到底是什么?区块链是如何“绕过”中心的?无论最后成败,了解区块链到底是什么以及它的基本原理是有必要的。

为什么比特币的正常流转需要“挖矿”,为何确认一笔比特币交易需要几十分钟和消耗电量几百度以上。这也就是Proof-Of-Work(“工作量证明”)——让区块链能够去掉中心机构的核心机制。

作者 | 李洋 首发 | FT中文网

区块链是一种技术,比特币是该技术的一个明星级应用。 与支付宝、微信支付类似,比特币属于互联网支付,不需纸钞也没有摸得着的真金白银。但微信和支付宝处理的是人民币,是政府发行的法定货币,代表民众对权力机构的信任。而比特币是去中心化的虚拟“货币”,背后完全没有国家、机构或法律背书,完全是参与者的集体管理。

那问题来了,信任从何而来?一个在阿根廷的比特币持有者给一个身在贵州的买家汇去三个比特币,这个贵州人不认识这个阿根廷人,为什么相信他发了三个币,而不是一个币?为什么相信他的账户里增加的三个币正好是阿根廷人账户里减少的三个币。既然没有一家银行管理和处理交易,我们又怎能相信比特币不是互联网虚拟世界里凭空产生、可被人随意改动的一堆数字?

比特币的惊叹之处正在于此,它用区块链技术为上述问题给出答案,达成Trustless Consensus“无信任的共识”——比特币用户之间无需互相认识和信任即可正常交易(但也因此在全球范围内浪费了巨大的电力资源)。与银行处理汇款收款类似,比特币系统有一本账,记录了比特币用户的账户信息(账户里有多少币)和交易情况(谁给谁在什么时候汇了多少币)。

为给自己牟利,账本管理人有可能在这本账上做手脚,比如往自己相关的账户里凭空增加几个币,反正都是些电脑上的数字。更何况,比特币用户都是匿名的,这让作假的成本又一次降低。作为防备,比特币系统给这本账做了很多份拷贝,将他们分散给全球成千上万的比特币“记账人”保存。

记账人也被称为“矿工”,本身也是比特币用户。他们之间没有老大,没有中心,只是互联网上一个个节点。他们负责管理手上这本记录了比特币2009年出现至今所有汇款记录的账本拷贝。当有新的汇款请求出现,比特币系统在全球范围内按一定概率随机选择一个记账人,让他验证这笔交易并为之记账,然后把更新的账本“广播”给其他记账人。这个被选中的记账人也因此获得一定的记账报酬。

这种分布式的账本优势很明显。即使你篡改了其中一本或几本账本拷贝,全球范围内还有成千上万的真实账本拷贝在别人手中你没法改。然而实际情况远没有这么简单。心怀不轨的记账人总会琢磨怎么篡改手上这本账并且让其他记账人接受这本账来为自己获利。

试想一下,如果账本有分歧,有两本账在网络里被广播的时候,其他记账人到底该相信哪本账?没有中心机构作比对,善良的我甚至不知道我手上这本账是不是那本真的账。少数服从多数的原则在这个虚拟世界里是不管用的,因为坏人总可以在网络里注册足够多的记账人账号来形成大多数优势。即使提高注册成本也无济于事,因为注册成本只是固定性投入。如果账本有风险,用户又怎能放心持有和使用比特币呢?

保持分散的账本拷贝的内容一致,防止恶意篡改,不能像共享单车那样依靠情怀,只能依靠提高成本,提高做假账的成本。我们先说一下比特币账本的长相。每个记账人手上的账本拷贝是一个由很多“小账本”按时间顺序串接而成的(如下图)。

每个小账本在内存里的大小为1M,可记录约两千条比特币汇款信息。最关键的是,每个小账本上有个类似猜数字的“谜语”,它的谜面由上一个小账本的谜底和这个小账本的两千条汇款信息共同组成,而这个小账本的谜底又成为下一个小账本谜面的组成部分。这样的谜面和谜底,环环相扣,把多个小账本连接成一个链条。小账本也被称为区块,如上述方式连接成区块链。

猜这个谜语特别无聊,就是在“凑数字”。凑对的可能性极小,需要计算机尝试许多遍。全球范围内的记账人,不停地用手上最强的计算机来猜这个谜语。而最快猜对新的小账本谜底的记账人,就能给待处理的两千条汇款信息记账,并将更新的账本链条广播给其他记账人。

别的记账人虽没猜对,但他们很容易验证广播来的账本是否猜对(这是密码学的成熟技术)。之后所有记账人用这个新账本链条替换他们手上的老账本链条,然后接着猜下一个小账本的谜语。

前面说过,记账是有报酬的(包括汇款的手续费和新发的12.5个比特币奖励),因此记账人会尽可能加强手中的运算能力来加大最快猜对谜语的可能性。有趣的是,无论全球范围内记账人投入的计算资源有多少,比特币系统会自动提高或降低猜谜语的难度,把最快猜对谜语的时间维持在“十分钟”左右。换句话说,用比特币交易,最快也要等十分钟才能得到确认。

这样链条式的账本和猜谜语的记账方式是如何防止账本篡改的呢?假如当前链条上最新一个小账本是上图的013,而一个心怀不轨的记账人要篡改011上的交易记录为自己牟利。一旦011的账本信息被改动,这个小账本的谜面就变了,之前猜对的谜底就变成了错的,这个记账人必须重新猜这个小账本的数字谜底。猜对以后,下一个小账本012的谜面跟着变了,他又得猜。然后下一个小账本013的谜面也变了,还得接着猜。

当他猜完三个小账本,至少三十分钟过去了,这期间发生了什么?这期间其他记账人手上的账本链条早已变长,新的小账本014、015、016等已经产生,而这个使坏的记账人手中的账本长度再也赶不上网络里的那本账。

有同学说,他能否用两台电脑,一边猜之前小账本的谜底,一边猜新出现小账本的谜底,两边都不耽误?当然不行。因为这些小账本的谜面和谜底是前后关联、环环相扣的。所以,从自身利益出发,这个记账人还是从良比较好,争取为新交易记账获得记账报酬,而不是得不偿失地篡改历史账本。而当网络里有两本不同的账被广播时,记账人们只需接受最长的那本账即可,因为最长的链条对应的工作量(计算量)付出最大。

上面所说的记账过程就是比特币的运作过程。那一个个小账本,就是“区块”。它们串接而成的人手一份的链条账本,便是“区块链”。那成千上万的记账人,就是俗称的“矿工”。所谓“挖矿”,无非是每个记账人用最好最多的计算机来猜数字谜语,用设备和电量消耗来证明自己的账本正确。

在网络的计算资源相对分散的情况下,大家只需要在最长的区块链上工作,就能保证系统信息的真实性。换句话说,在一个互不认识、没有中心、缺乏互信的环境里,我们只能相信付出成本最大的信息记录,这就是题目中提到的“工作量证明”机制。

到现在,大家可能理解了区块链是如何做到去中心化的。没有中心机构的权威背书,区块链系统一方面提供报酬鼓励记账人参与记账,另一方面通过记账人之间的资源消耗竞赛来提高作假成本、确保账本真实性。

记账人(矿工)之间为获得比特币报酬而争夺“记账权”。只要比特币兑美元价格被市场抬高,矿工群体就有动力去增添计算设备和消耗更多电量来竞争记账(挖矿)。

因而区块链网络里记账所消耗的电量与比特币价格成正比。这就是为什么在当前的比特币高价之下,确认一笔交易需要耗电至少五百度以上(全球的记账人为竞争这笔交易记账权所消耗的总电量,而且是保守估计),耗时也至少几十分钟(因为每十分钟最多确认两千条交易)。

这远远超过了在支付宝或微信上做一笔支付所需要的边际电量与时间。天下没有免费的午餐,这就是区块链为了去中心化、为了信息可追溯所付出的最起码的“代价”。

原文发布于微信公众号 - PPV课数据科学社区(ppvke123)

原文发表时间:2018-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏加密星球

加密市场指南:如何开发自己的加密数字货币-MasterDAX

比特币是在2009年发明的。然而多年来,很多人认为它不太可能成为一个强大的金融工具。只有少数人对区块链技术感兴趣,认为比特币是未来的货币。他们没有弄错 - 在2...

1965
来自专栏AI2ML人工智能to机器学习

从交易所到比特币交易所 [下]

在"从交易所到比特币交易所 [上]"我们介绍了传统交易所。 对应到数字货币交易平台, 又俗称比特币交易所,又有哪些相似与不同?

1373
来自专栏区块链大本营

你为啥总给自己搞不懂区块链找理由?如果1750年的人都能搞懂,你还有理由?

3376
来自专栏专知

【区块链技术综述】:区块链技术发展现状与展望-中科院自动化所

本文为中国科学院自动化研究所复杂系统管理与控制国家重点实验室袁勇博士与王飞跃教授发表在 2016 年 4 月出版的在《自动化学报》上关于区块链技术的综述论文。文...

5639
来自专栏区块链大本营

关于区块链,你绝不能忽视的4个安全问题和5招应对方法!

4409
来自专栏企鹅号快讯

糖果吃了那么多,你真的知道比特币分叉是咋回事吗?

简洁的语言 科学的归纳 艺术的区块链 最近有比特币的小伙伴除了感受有力而魔性的市场震荡外,想必还吃了不少糖果(分叉币)吧? ? 那么比特币为啥要分叉捏? ? 这...

2157
来自专栏企鹅号快讯

比特币闪电网络就要来了,竞争币会因此消失吗?

过去的几个月时间里,比特币网络的交易手续费飞涨,达到了历史最高点30美元。很多人建议推出一种交易成本更低、网络也不容易堵的加密货币来替代比特币。 高昂的链上交易...

2838
来自专栏区块链领域

Fomo3D 千万大奖获得者“特殊攻击技巧”最全揭露!

Fomo3D 游戏第一轮正式结束,最终大奖由地址 0xa169 获得,奖金额高达 10,469.66 以太币。

951
来自专栏企鹅号快讯

区块链小白投资入门操作指南(上)

区块链从入门到精通,看我就够了 导读:想要在大热的区块链投资中分一杯羹,首先、也是最重要的就是弄清楚投资流程。如下图所示,就是一个完整的投资流程。简单来说,我们...

2657
来自专栏進无尽的文章

比特币和区块链是什么?看完这篇文章不再懵

实际上全球各种虚拟货币已经超过了1300种,其中市值排名前几名的除了比特币还有下面的这几种虚拟货币。

1272

扫码关注云+社区

领取腾讯云代金券