Pinvon's Blog

所见, 所闻, 所思, 所想

一 区块链概述

区块链的演进

区块链1.0

比特币的应用. 在区块链1.0中, 区块链仅是一种数字货币.

区块链2.0

在区块链2.0中, 区块链被金融领域所接受并得到广泛应用, 形成金融互联网, 让价值交换变得便捷, 直接, 节省时间, 节省成本. 区块链2.0主要是增加了资产数字化(上链过程)和智能合约.

智能合约通过高级编程语言, 把现实世界的业务逻辑在区块链上加以实现, 在区块链上增加应用功能拓展了其适用范围和生存空间, 这样一来, 就可以通过区块链来描述众多现实世界中的应用场景.

区块链3.0

区块链3.0(未来)要把区块链的应用范围拓展到各行各业, 支持广义的资产交互和登记, 进入万物互联, 设备民主的"区块链+"时代.

概念

维基百科: 区块链技术让参与的系统中任意多个节点, 通过密码学算法把一段时间系统内的全部信息交流数据计算和记录到一个数据块中, 并且生成该数据块的指纹用于链接下个数据块和校验, 系统中所有的参与节点共同认定记录是否为真.

本质: 由多方参与, 共同维护的一个持续增长的分布式数据库, 其核心在于通过分布式网络, 时序不可篡改的密码学账本以及分布式共识机制建立彼此之间的信任关系, 利用智能合约来编程和操作数据, 最终实现由信息互联向价值互联的进化.

区块链维护一条不断增长的链, 只能添加记录, 而发生过的记录不可篡改; 无须集中控制就能达成共识, 实现上尽量采用分布式; 通过密码学的机制来确保交易无法抵赖和破坏, 并尽量保护用户信息和记录的隐私性.

交易场景的例子

30.png

  1. 客户端发起一笔交易, 经数字签名后广播给网络上的其他节点并等待确认.
  2. 网络中的节点对收到的数据记录信息进行校验, 通过校验后, 数据记录被记录到一个区块中.
  3. 全网所有接收节点对区块执行共识算法, 区块通过共识算法过程后正式纳入区块链中存储, 全网节点均表示接受该区块. 表示接受的方法, 是将该区块的随机哈希值视为最新的区块哈希值, 新区块将提供永久和透明的交易记录, 并以该区块链为基础进行延长, 实现资金转移.

共识算法

共识算法是区块链的核心技术, 它决定了由谁来记账, 而记账方式将会影响整个系统的安全性和可靠性.

PoW(Proof of Work, 工作量证明)

依赖机器进行数学运算来获取记账权. 即计算出一个满足规则的随机数, 获得本次记账权, 然后发出本轮需要记录的数据, 全网其他节点验证后一起存储.

优点: 完全去中心, 节点自由进出.

缺点: 资源消耗大, 可监管性弱, 每次达成共识需要全网共同参与运算, 性能效率低, 达成共识的周期长, 不适合商用.

PoS(权益证明)

根据每个节点所占代币的比例和时间, 等比例地降低挖矿难度, 从而加快寻找随机数的速度, 节点记账权的获得难度与节点持有的权益成反比.

优点: 相对PoW来说, 减少了数学运算带来的资源消耗, 性能有所提升.

缺点: 仍需要挖矿, 可监管性弱, 不适合商用.

DPoS(股份授权证明)

DPoS不需要挖矿, 类似于董事会投票, 持币者投出一定数量的节点, 代理他们进行验证和记账, 持股人拥有所持股份对应的表决权.

优点: 大幅缩小参与验证和记账节点的数量, 可以达到秒级的共识验证, 降低运行网络的成本和维护网络安全的费用, 增强网络效能.

缺点: 整个共识机制依赖于代币, 很多商业应用不需要代币.

PBFT(拜占庭容错)

在分布式计算上, 不同的计算机通过信息交换, 尝试达成共识. 但有时候, 协调计算机或成员计算机可能因系统错误并交换错误的信息, 导致影响最终的系统一致性.

PBFT根据错误计算机的数量, 寻找可能的解决办法, 这无法找到一个绝对的答案, 但可用来验证一个机制的有效程度.

当 \(N \geq 3F + 1\) 时, 一致性是可能解决的. 其中, \(N\) 是计算机总数, \(F\) 是有问题计算机总数. 信息在计算机间互相交换后, 各计算机列出所有得到的信息, 以大多数的结果作为解决办法.

区块链不一定去中心化

在网络架构中, 一般有3种模式: 单中心, 多中心, 分布式.

Decentralized只表明不是单中心模式, 则就有可能是多中心或分布式.

如果简单地宣称去中心化, 会被误读成是在某种程度上存在着一种既想从事金融活动, 又不愿意接受金融监管的倾向.

区块链技术平台

31.png

Comments

使用 Disqus 评论
comments powered by Disqus