记区块链的那点东西

Posted by Maolong on Monday, February 24, 2020

区块链概览

定义:

区块链技术是基于去中心化的对等网络,用开源软件把密码学原理、时序数据和共识机制相结合,来保障分布式数据库中各节点的连贯和持续,使信息能即时验证、可追溯,但难以篡改和无法屏蔽,从而创造了一套隐私、高效、安全的共享价值体系。

起源:

2008年一个网名叫“中本聪”的人发表了一篇名为《比特币:一个点对点的电子现金系统》的论文。

多个角度看待区块链:

目前区块链已经成为一个独立的技术名词,而不是依赖于某个具体产品的附属技术。区块链这个技术名词,从不同的角度看会有不同的解释。

  • 从网络的角度看:区块链的底层网络模型提供了分布式数据存储的完美实现,比特币系统从诞生至今没有发生过一次宕机事件,这有利地证明了该网络模型的稳定和高效。
  • 从底层技术的角度看:区块链更像是一个数据结构,用区块存储数据,把区块按照顺序链接起来组成区块链,从而达到防止数据被篡改的目的。
  • 从密码学的角度看:区块链利用椭圆曲线数字签名算法来保证数据的完整性和真实性。
  • 从数据存储的角度看:区块链更像是一个分布式数据库,不但数据的存储是分布式的(以共享账本为例,所有的数据可以对等地存储在所有参与数据记录的节点中,而非集中存储于中心化的机构节点中),而且数据的产生也是分布式的(账本所有的节点集体维护,而非一个单独的中心机构来维护)。

区块链技术栈包含了以下技术特性:

  • 分布式数据库:传统关系型数据库ACID原则(原子性、一致性、隔离性、持久性)->分布式BASE原则(基本上可用、 软状态、 最终一致性)
  • 密码学特性:哈希算法、Merkle树、非对称加密算法
  • 共识机制:PWO(工作量证明)、POS(股权证明机制)、DPOS(授权股权证明)、PBFT(拜占庭共识算法)
  • 智能合约:智能合约本质上就是一段用某种计算编程语言编写的程序,这段程序可以运行在区块链系统提供的容器中,同时这段程序也可以在某种外在、内在条件的激活下自动运行。

演进过程:

  • 区块链1.0仅仅是一个共享账本,只能记账而没有其他功能。
  • 区块链2.0在共享账本的基础上增加了智能合约,通过智能合约可以提供更加丰富的功能。
  • 区块链3.0进一步升级,不但能够记录交易还能记录状态,对数据进行溯源,使区块链技术不再局限于数字货币,而是应用在更多的行业场景中。

3个缺点:

  • 性能问题
  • 数据的弹性扩展问题
  • 易用性问题

4个错误认识:

  • 区块链就是数字货币
  • 区块链将取代传统的数据库
  • 区块链系统是否一定要挖矿
  • 区块链只能用来记账

应用领域:

  • 金融行业
  • 供应链
  • 公证领域
  • 数字版权领域
  • 保险行业
  • 公益慈善领域
  • 智能制造
  • 教育就业

常见技术框架:

  • 比特币
  • 以太坊
  • 超级账本
  • CordaCorda、BigChainDB

#### 引用 > 区块链开发实战:Hyperledger Fabric关键技术与案例分析 冯翔 机械工业出版社

「真诚赞赏,手留余香」

Maolong’s Blog

真诚赞赏,手留余香

使用微信扫描二维码完成支付