首页 > 区块链博客 > 区块链随想 - 共识机制POW(上)

区块链随想 - 共识机制POW(上)

2018-04-23 12:08:10 阅读量:

全文摘要:

在比特币世界,每10分钟时间内2000多笔发起的交易数据组成1M大小的区块,就是一道新的带求解哈希值随机数的网络问题,一旦解答完毕达成共识,确认为新的一部分,2000笔交易就被确认完成 ... 软分叉:指比特币交易的数据结构(这就是被广泛流传的“共识”)发生改变时,未升级的节点可以验证已经升级的节点生产出的区块,而且已经升级的节点也可以验证未升级的节点生产出的区块 ... 硬分叉:指比特币区块格式或交易格式(这就是广泛流传的“共识”)发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可

维基百科

共识,是群体讨论过程的共同认识。共识并不是所有人都同意的东西,也非多数人的偏好。即使对部分内容有异议,但是仍然能在总体上形成一致意见,以推进问题的解决。

比特币是一场伟大的社会实验,就像每时每刻无数人都在参加的婚礼,在全世界所有人见证下,广播:“这个人是我的老公,这个人是我的老婆”。这一条数据忠实记录并被广播,只要超过一定数量的人认可,这一条数据合法的,就可以登记注册,而保留所有这些数据的账本就是比特币。

比特币是一个去中心化的分布式账本,不存在某一个机构组织的服务器,而是散布全球的所有自愿提供储存的节点上,当节点足够多且分散就自然实现了去中心的目的。

如何让参与者就相同的事件或状态达成一致?如何让用户心甘情愿加入区块链成为节点?有什么激励机制?如何保证所有节点数据一致同步?如何防止虚假节点的写入与更改?回答这些问题的答案,就是共识机制。

共识机制,分两种,POW(proof of work) 和 POS(proof of stake)。 容易点理解的话,POW是按劳分配,多劳多得。POS是按钱分配,多钱多得。比特币的共识机制POW,就是需要所有的参与者对最新生成的比特币区块达成共识。

POW,工作量证明,按字面意思就是证明一个人完成多少工作,完成的越多,奖励就越多。要完成工作,前提肯定要知道工作做什么,自然需要下载比特币的完整账本,也就是作为一个节点。

大家群龙无首,不知道听谁的,怎么办?简单粗暴,PK谁拳头谁牛逼就听谁的。区块链去中心化的情况下,怎么PK呢?算,通过计算来猜一个随机数,解决以哈希值为基础的网络问题。由于哈希值的碰撞阻力,换成人话就是想取巧走捷径算随机数不可能做到,只能蛮力一个一个的去试。

哈希值:

一串二进制数值,类似现实世界的指纹,身份证可以伪造,名字可以重名,但是指纹具有唯一性,确定你是谁的标记。而信息互联网时代,海量的数据和文件,如何鉴别该文件就是你真正需要,而不是病毒或者垃圾呢?文件名可以伪造,数据可以删减,不可能将所有的数据进行对比。怎么办?在数据和文件的开头,加入一串二进制数值作为标记,由于自身的特性,无法被篡改,你只需要将确认哈希值没问题,文件就没有问题。

谁算力最多,谁就会最先可能找到那个随机数。谁最先找到谁牛逼,谁就是老大,可以要求所有比特币参与者达成共识,这份工作量是我完成的,现在要签我的名字并作为比特币新的一部分(记账权)。

以哈希值为基础的网络问题,就是一个区块。在比特币世界,每10分钟时间内2000多笔发起的交易数据组成1M大小的区块,就是一道新的带求解哈希值随机数的网络问题,一旦解答完毕达成共识,确认为新的一部分,2000笔交易就被确认完成。如果无算力去解答,区块无法确认,就是所谓拥堵问题。

最初,人人皆可参与,一般的电脑CPU就可以完成工作量,就是所谓的挖矿。比特币的创始人中本聪,用自己的电脑CPU挖出了第一个比特币创世块。挖着挖着,大家发现,挖矿只需要提供算力,电脑其他资源都浪费,还费电,慢慢的多余的东西都被去掉,变成单一的集成设备矿机。由于硬件技术发展,比特币挖矿经历五个阶段,CPU挖矿、GPU挖矿、FPGA挖矿、ASIC挖矿、大规模集群挖矿 。本着谁算力最多谁胜算大的原则,挖矿自然进入军备竞赛,最终变成大规模集群挖矿。

比特币技术核心的 core 开发组,简称码霸。开启比特币世界的中本聪神隐后,一直对比特币核心代码进行更新和维护。你懂的,都是一群要用技术改变世界的程序员,希望保证比特币的去中心化的前提,用听起来就很高大上的隔离验证、闪电网络的技术来改造比特币。

隔离验证(Segregated Witness):

每一个比特币交易,由交易状态数据和签名数据(验证)组成。将1M区块中签名数据隔离移出,多出来的空间可以容纳更多的交易笔数。

闪电网络(Lightning Network):

通过在主链外建立很多直接通道,使得小额高频的交易在主链外就可以进行,从而实现交易秒到的效果,但陌生人之间则必须使用中间人通道,中间人实现陌生人之间交易通道的打通,这种中间节点必将会有一些越来越壮大,闪电网络就会变得多中心化是很多人都担忧的问题。

想到奥卡姆剃刀原则:如无必要,勿增实体。当一个东西足够简单的时候,人们容易理解,也更容易信任。采用新技术,增加比特币的复杂性,某种程度会不会降低人们的信任?

而矿霸注重当下,希望做好现有的比特币,升级到16M或者更大,可以容纳4W笔交易。原来可能2000笔,每笔手续费是0.001btc,一个区块的手续费是2btc。现在是4W笔,每笔手续费是0.0005btc,一个区块的手续费是20btc。手续费降低,转账人数增加,矿工收益增加,自然比特币的优势会大大增加。

反对者可能会说,现在完整的比特币账本大概是150G,下载保存完整账本的电脑就是一个节点。如果直接扩容到16M,账本大小必然增加2400G,需要更大的硬盘空间,大多数普通人大概不会无偿提供如此大的硬盘空间来做一个节点。账本存储更集中在矿霸手中,一旦节点数达到51%,是可以直接变为比特币的领导者。

真的会这样吗?其实不会,神隐的中本聪可没有说区块大小永远保持1M,给的方案就是在指定高度扩容。而在最新的技术版本中,已经可以对账本进行裁剪,保存部分而不影响整体节点的运行。

针尖对麦芒,为什么矿霸和码霸,不直接放弃重新弄,一定要在比特币上面折腾呢?因为比特币在区块链的世界里,获得大部分人的信任,而信任本身在现实世界就是最高的门槛,温大大不也说,信任比黄金重要。

战争已经开始,比特币的硬分叉(矿霸)和软分叉(码霸)。对应到现实世界,一个是要另起炉灶,一个是要慢慢改良。

硬分叉:

指比特币区块格式或交易格式(这就是广泛流传的“共识”)发生改变时,未升级的节点拒绝验证已经升级的节点生产出的区块,不过已经升级的节点可以验证未升级节点生产出的区块,然后大家各自延续自己认为正确的链,所以分成两条链。

软分叉:

指比特币交易的数据结构(这就是被广泛流传的“共识”)发生改变时,未升级的节点可以验证已经升级的节点生产出的区块,而且已经升级的节点也可以验证未升级的节点生产出的区块。

如果以上看着太枯燥,看看下面的形象比喻,不一定全部对,但是从通俗易懂的角度去讲述比特币战争。

某条告诉公路,一直按车辆通行次数收费,收费站(矿工)也很愉快。后来车流量越来越大,高速越来越堵,拓宽道路(扩容)是最直接的解决办法,但是拓宽存在上限(16M?32M?)。

后来在技术社区(core)有人提出新的改良方案(软分叉),考虑用可以多拉人的公交车(隔离验证)或者专门的ETC快速通道(闪电网络),路上就不会那么堵,也得到大部分群众包括部分收费站的支持,但这种方案的缺点就会造成收费站无法享受流量增长的红利。

这个当然遭到部分收费站的强烈反对,改革舆论呼声越来越大,反对方牵头成立一个组织(硬分叉),分叉出一条新路(BCH),拓宽了几倍(8M),但路上不支持跑公交。

战争还在继续,踏踏实实搞好当下用户体验,还是选择技术改良底层?过去已去,未来未来,谁知道呢?拿好门票,看场大戏。

来源:币乎

以上就是《区块链随想 - 共识机制POW(上)》全部内容,全文涉及到:比特币交易、比特币区块、比特币世界、等方面的内容,您也可以通过阅读全文摘要来快速获取有价值数字货币和区块链的信息。



上一篇:「大狗精读区块链白皮书」之比特币—4. Proof-of-work工作量证明
下一篇:带你穿越赚钱前线,一级市场海外项目Ocean Protocol项目深入分析

微信

微信

微信

微信