了解区块链(三)—— 区块链的架构设计

概念

  • 广义区块链: 点对点网络设计,加密技术应用,分布式算法实现和数据存储技术
  • 狭义区块链: 数据存储技术,数据库或文件操作。

架构图:  

     区块链在架构设计上分为三个层次: 协议层(存储层,网络层) ,扩展层 ,应用层

     1. 协议层: 

         最底层技术,通常是一个完整的区块链产品,类似于个人电脑的操作系统,维护网络节点,仅提供API以供调用。通常,官方会提供简单的客户端(通称为钱包),只能建立地址,验证签名,转账支付,查看余额等。这个层次构建了网络环境,搭建交易通道,制定节点奖励规则,其他一概不管。

     从所用技术层面上说,协议层主要包括  ——  网络编程,分布式算法,密码学和数据存储技术,这个过程中点对点网络的实现和并发处理是一个开发难点 ,此时Node.js开发区块链就变得流行起来

    2. 扩展层 

         这个层面类似电脑的驱动系统,是为了让区块链产品更加实用。目前有两类扩展层:

        一. 各类交易市场,法币---加密货币,简单,来钱快,成本低,但是风险大。

        二. 针对某个方向上的扩展实现  ,例如为第三方提供定制服务的扩展实现。‘智能合约’就是典型的扩展层的应用开发,智能是执行力智能,当达到某个条件时,合约就会自动执行,比如自动转移证券,自动付款等。

       所用技术:  分布式存储,机器学习,物联网,大数据等。在开发上,除了交易与协议层进行交互,其他时候尽量不要和协议层的开发混在一起,应该更接近于应用层。也可以理解为B/S架构产品中的服务端(Server).

      3. 应用层

         这个层面类似于电脑中的各种软件程序。是普通人真正可以直接使用的产品。也可以理解为B/S机构的产品中的浏览器端(Browser),大家现在用的各类轻钱包(客户端),应该算是应用层最典型,最简单的应用。


下面是区块链架构设计图 

了解区块链(三)—— 区块链的架构设计_第1张图片

 编程实现

  1. C/C++              典型项目-比特币

   2. Node.js/Javascript       亿书项目

   3. Python          典型项目- 以太坊 

   4. Go

 知识图谱    下面是与区块链相关的知识

了解区块链(三)—— 区块链的架构设计_第2张图片

你可能感兴趣的:(了解区块链(三)—— 区块链的架构设计)