深入浅出Dpos共识

开门不见山

首先,我们不讲Dpos.我们且来看看什么叫共识?百科关于共识的释义如下:

what共识

共识,就是共同的认识.我们知道在中心化的结构里,中心化的东西是普遍得到大家信任的,所以不需要一个所谓的各个个体的共同认识来维系彼此,所有的工作由这个中心化的东西来做.

区块链是一个去中心化的结构,结构里的各个彼此之间是互不信任的.所以需要一个机制来让所有个体对同一件事达成一个共同的认识.这就是区块链世界所谓的共识.

简言之,区块链世界的共识主要解决两个问题:

  • 1.到底该有链上哪些人拥有记账权
  • 1.拥有记账权的这些人怎么去记账

所谓记账,在这就是打包交易到区块并封装好一个有效区块的过程.

那么,区块链的共识究竟又是怎么设计机制来解决这两个问题的.

问道比特币

初见共识不求甚解

说到区块链,就不得不谈区块链应用的开山鼻祖--比特币,其缔造者中本聪大神也是扑朔迷离的传奇人物啊(本聪二大爷请收下不肖弟子滴菠萝盖...).我们讲共识,也先来看看在币圈开天辟地创下不世基业的比特币是怎么实现共识的.

比特币关于记账权的所有,设计了这样一个数学难题来决定谁拥有记账权:

HASH(h, nonce) <= M / d

  • HASH, 这里暂且简单滴理解为一种哈希算法
  • h, 区块头信息
  • nonce, 变量值,通过改变它来改变哈希值
  • M ,这里M是一个很大很大的数
  • d, 当前比特币的难度系数

这个有点装逼性质的公式该怎么理解呢?

其实也很好理解,就是链上所有想参与记账的人公平竞争,谁先解决这个数学难题(找到一个nonce值满足这个公式),谁就被认为是当前编号区块的合法出块者,然后就可以封装当前编号的区块并添加到链上.

我们不难看出,比特币设计的共识方案是将共识要解决的两个问题放到了一个步骤里去解决.在当前的数学难题没有得到解决之前,并不知道谁去封装当前这个区块.只有,数学难题得到解决的那一刻才知道合法的出块者,并且紧接着出块上链.

识乎其表究乎其内

上面,只是大概说了比特币的解决方案.但是还没涉及到共识的核心,就是为什么这么做呢???

我们知道解决这个数学难题需要一定的算力,这样势必就会投入一定的成本,无论是设备上还是时间上都会有投入.那么,为什么还要花费力气去做一件这么麻烦的事呢.

路人甲:为了共识啊...(这位同学说得对,晚上加鸡腿!!!).

这里这个难题的设计是为了服务于比特币上层的一个共识规则:

最长链共识:链上所有节点都以最长的链为合法主链!!!

简单滴说,这样做就是为了让想使坏的节点认识到使坏的代价从而望而却步.此话怎讲呢?请看图:

POW服务于最长链共识

第一列是每个块对应的时间,第二列是当前的主链.从图中可以看出,当前已经生产到8号区块,这时B呢想重新造一个区块作为8号(动机嘛可能是他给人转了10BTC来买一杯咖啡,咖啡已经喝了但他想伪造交易撤回这笔转账),这个时候他必须满足什么条件才能达到这个目的呢?

首先,我们知道主链每10min产生一个区块,这背后有赖于具体的算力.我们假设全网算力总和为100,B拥有的算力为y,则主链上诚实节点拥有的算力为x, x,y满足:

x + y = 100

B呢要想重新打包一个8号区块,他必须首先重新将前面7个区块依此打包一遍.这个时候主链依然在继续生产区块.那么,如果B想在time=90那刻追上主链,需要主链在产生一个区块时,B已经打包了9个区块以上才能成为较长链:

9x < y  -->  y > 90

B的算力必须在90之上,这样的实力在全网来说是很难拥有的.当然B完全没必要用这么大的算力,只要满足y> x.B的出块速度就大于主链的出块速度了,这样总有那么一个时间点B的链会超越主链成为较长链(只不过这个时间相对会长一点).

这里只要B拥有51算力就能自己造一个链来撤回自己的交易,尽管这51算力对全网来说是很难被一方拥有的.但是,假设B可以拥有这么多算力,他能这么做,那么他会这么做吗?

肯定不会啊,如果会,那上面说这一大堆POW(oh...sorry这个就是上面说的那个数学难题解决共识问题的官称)的机制不就对最长链共识没有作用了吗.

因为比特币上每一笔交易都有转出方的私钥签名,B自己造一个链,之前主链上存在的所有交易依然是原来的样子,他并不能做丝毫改变(比如把别人交易的接收方改为自己),因为他并没有别人的私钥.B所能改变的只有自己发起的交易.这样就使得B做这个事情得不偿失,要拉拢51%的算力可不是一笔小的支出啊.

还有一种情况属于恶意攻击,就是B拥有51%控制了挖矿之后恶意拒绝所有交易,每个区块都是没有交易的空区块.但是这样会给比特币带来毁灭性的灾难,就行货币没有了流通,那么他还有什么价值呢!如此,B所拥有的所有比特币财富也将化为乌有.所以他更不可能这么做.

综上,POW机制服务于最长链共识,使得比特币以最长链为准的共识准则成为可能.

反思使人进步

....

明晚主角Dpos粉墨登场

主角还没讲呢,未完待续.今夜老夫撑不住了...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容