一、区块链解决的问题
拜占庭将军问题
故事大概是这么说的:
拜占庭帝国即中世纪的土耳其,拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,固若金汤,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵。拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有可能攻破。
然而,如果其中的一个或者几个邻邦本身答应好一起进攻,但实际过程出现背叛,那么入侵者可能都会被歼灭。
于是每一方都小心行事,不敢轻易相信邻国。这就是拜占庭将军问题。
区块链解决方案的特点:
1)互联网传递信息,解决了通信的时间问题
2)一段时间内只有一个节点可以传播信息
3)节点必须完成一个计算工作才能向各城邦传播消息
4)非对称加密技术就是公钥和私钥
5)计算工作是公平的,穷举找到一个随机数字
6)对于计算工作有奖励机制
7)只要大多数人是好人,就可以完全去中心化达成共识
扫描二维码关注公众号,回复: 2761420 查看本文章二、区块链的定义
区块链(Blockchain) 是由多个节点组成的分布式数据库系统。特点是不可修改,不可伪造。
区块链是由使用密码学加密产生的数据块组成的,包括上一个区块的哈希值。
三、区块链核心优势
1)任何节点都可以创建交易、再经过一段时间就可以确认是否为有效的交易。可以预防双花问题。
2)对于想要修改记录的人来说,成本非常大,不如正常挖矿
3)区块链实现了两种记录:交易(transactions)和区块(blocks)。交易是被存储在区块链上的实际数据,区块记录确认时间和顺序。交易由参与者在使用过程中创建,区块则由矿工(miners)创建。
四、区块链工作原理
1)区块记录在区块链末端,一旦书写很难修改。
2)区块结构
大小 字段 描述
4字节 区块大小 用字节表示的该字段之后的区块大小
80字节 区块头 组成区块头的几个字段
1-9(可变整数) 交易计数器 交易的数量
可变的 交易 记录在区块里的交易信息
3)区块头由三组区块元数据组成。
首先是一组引用父区块哈希值的数据,这组元数据用于将该区块与区块链中前一区块相连接。
第二组元数据,即难度、时间戳和nonce, 与挖矿竞争相关。
第三组元数据是merkle树根。
4)区块头结构
大小 字段 描述
4字节 版本 版本号,用于跟踪软件/协议的更新
32字节 父区块哈希值 引用区块链中父区块的哈希值
32字节 Merkle根 该区块中交易的merkle树根的哈希值
4字节 时间戳 该区块产生的近似时间
4字节 难度目标 该区块工作量证明算法的难度目标
4字节 Nonce 用于工作量证明算法的计数器
5)创始区块创建于2009年,所有区块的共同祖先。
五、区块链衍生概念
1)公链(public blockchain): 是指全世界任何人都可读取、发送交易且能获得有效确认的共识区块链。
公链的安全由工作量证明机制(pow)或权益证明机制(pos)等方式负责维护。
2)共同体区块链(consortium blockchains): 是指其共识过程受到预选节点控制的区块链。
3)私链(private blockchain): 完全私有的区块链,其写入权限仅在一个组织手里的区块链。
六、公链和私链的特点
公链特点:
1)中立、开放、去中心化
2)不可更改,不可撤销
3)拥有网络效应
4)抗审查性高
私链特点:
1)规则易于修改(交易,余额等)
2)交易成本低(交易只需几个受信节点验证即可)
3)读取权限受限