解密区块链(四):什么是共识机制

区块链是一个融合了点对点传输(P2P),加密算法等技术的分布式数据库,它必须基于计算机网络来进行。

分布式记账的方式带来了的好处就是大家都来记账,每个人手里都有一本完整的账本(数据),某部分(节点)的账本(数据)的丢失不会导致整个账本(数据)的丢失,因为账本(数据)是全网所有(节点)共有,即这个数据有无数个备份,随时可以恢复。

而且随着节点的增加,账本(数据)也越来越安全,很难摧毁。

当然,另外一个好处就是,任意一个或部分(节点)的账本(数据)的篡改,都不可能被全网认同,对于数据的篡改几乎不可能,除非你能控制其中51%的节点,即51%攻击。

前面我们通过极简化的家庭模型来阐述了中心化记账和去中心化记账的对比,了解了公开的分布式记账的好处:安全(难摧毁)和真实(难篡改)。

那么极简化的家庭模型,只有少数人,大家都来记账,都来对账,也不会有什么大问题。

但如果是成千上万的人(节点)呢?

谁来记账?凭什么来让你记账?你有什么能力来记账?

这就需要达成一种共识,这就是区块链里面所需要的共识机制。

共识机制就是需要达成一致的问题,其中比较经典的共识机制问题就是“拜占庭将军问题”。

拜占庭将军问题

拜占庭有10个将军要攻击一个繁华强大的城邦,由于某种原因他们要分开行军和驻扎。

这个城邦虽然没有拜占庭强大,但也足以打败少于半数的拜占庭联军。拜占庭的将军们必须有超过半数一起攻打,不然就会失败,因此他们需要商定是否在约定时间攻击。他们需要面临的问题是,信使可能没有到达,也可能某几个将军是叛徒,会发不同的决定给不同的将军,误导他们使得最终无法统一行动。

当然还有一个很古典的有关共识机制的问题就是“类两军问题”。

由“类两军问题”引申出来的案例恐怕就是TCP的三次握手协议了:

1. A向B发送请求;

2. B对A说:我收到了你的请求;

3. A对B说:我知道你收到了我的请求;

但这其实是在假设第三次A对B说“我知道你收到了我的请求”时,假设B已经收到了,就不再继续确认下去了,否则,这样下去就没完没了,就变回成“类两军问题”了。

区块链的共识机制——工作量证明

在比特币系统里,比特币区块链的共识机制就是通过比拼计算能力来进行的,谁能在最短的时间内完成具有一定目标难度的hash散列值的计算,谁就获得这个记账的权利,并获得比特币奖励。

更多的有关比特币区块链的hash散列值计算可以参考:深挖比特币(八):什么是“挖矿”

(未完待续)

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Rainbond开源「容器云平台」

两学一做,基于区块链的智能合约技术

15140
来自专栏区块链大本营

套利、投资、创业,从0到1打造更好的点对点交易协议

16530
来自专栏极客编程

8个最好的加密货币市场实时价格PHP脚本集 原

最好的PHP加密货币市场价格实时脚本script集。这些脚本显示实时报价,交易,历史图表,加密交易和超过2000种加密货币通过PHP和JavaScript进行交...

17830
来自专栏CSDN技术头条

从原理到实例,他用区块链技术做一了个COIN 客户端

本文来自作者 Lijia 在 GitChat 上分享 「手动做一个自己的 COIN 客户端:附区块链核心代码解读」 ? 基本原理和设计 2008年初,中本聪团队...

91230
来自专栏区块链领域

Bancor 危机:Token 背后潜伏的“上帝之手”

包括 Status 和 FunFair 在内的部分国内外热门区块链项目,智能合约存在管理员权限过高的问题,或导致项目存在过度中心化的风险,相关 Token 生态...

17040
来自专栏区块链

以太坊开发实战(第 3 章:安全性、局限性及其他要点)

原文地址:https://hackernoon.com/ethereum-development-walkthrough-part-3-security-lim...

676100
来自专栏区块链技术指北

加密数字货币和传统分布式系统共识机制

这是「区块链技术指北」的第 13 篇文章。 如果对我感兴趣,想和我交流,我的微信号:Wentasy,加我时简单介绍下自己,并注明来自「区块链技术指北」。同时我会...

34750
来自专栏Jerry的SAP技术分享

Hyperledger Fabric on SAP Cloud Platform

Jerry在之前的公众号文章《在SAP UI中使用纯JavaScript显示产品主数据的3D模型视图》已经介绍过Aviva了,SAP成都C4C开发团队中其他同事...

11910
来自专栏magicsoar

又见区块链

一、区块链 1.1区块链是什么 关于区块链有着不同的定义,有的是从技术的应用层面,有的是从技术层面,这里我根据不同的解释,汇总出了一个技术层面上的定义 区块链的...

32560
来自专栏华仔的技术笔记

EOS与ETH体系结构比较

45280

扫码关注云+社区

领取腾讯云代金券