2021年618京享红包 - 618大促主会场
九阳 Joyoung电磁炉 电陶炉 2200W大功率 家用火锅套装 旋转控温 红外光波加热 H22-x3 赠烤盘
凯迪仕电子锁618狂欢购
有健康 更热爱
美丽雅品牌会员周

区块链入门--准备搭建自己的区块链

温酒书生 1年前   阅读数 46 0

最近在B站上看到一个Hyperleger Fabric搭建自己的区块链的视频,把里面的内容整理了出来。个人认为其中如何下载安装Docker,利用Hyperleger中的插件,实际搭建的过程讲述的并不清楚,但是对于需要准备的知识这一部分还是大有裨益。

区块链技术简述

技术名词

交易,一次状态转移操作,在这里是一次对键值对的增删改查

区块,交易的集合,区块链网络中节点将他某一段时间内所有的交易打包,形成区块

链,区块的顺序排列,后一区块包括前一区块的哈希值

区块链的类型 三种

私有链 公有链 联盟链

区块链特点

去中心化,这一点存在争议,实际上取决于程度

去信任化,区块链形成后我们只需要信任相关的区块网络

数据共享

不可篡改,发起交易后不可以撤销

区块链平台

区块链1.0:数字货币时代 比特币

区块链2.0:引入智能合约到区块链,但是不能用于商业 以太坊

区块链3.0:我们的时代 eosio 企业级区块链操作系统

超级账本 Hyperleger

应用场景

去信任(去中介)

价值转移(而非拷贝)

数据共享,区块链之前数据共享有三种方式,中介机构保存,互相提供api互相调用,数据存储在第三方,区块链网络中每一个节点都是一致的,只需要访问自己维护的节点。

区块链技术组成部分

P2P网络协议

网络通信中所有的节点都是平等的,没有服务器没有客户端,或者都既是服务器又是客户端,迅雷采用的就是P2P技术。

回顾软件架构的发展:首先中心化,一个服务器多个客户端,系统的可靠性依赖于服务器的稳定性,后来是分布式,服务拆分,横向拓展,系统的可靠性依赖于分布式的容载恢复能力,服务的提供方依旧依赖于某一中心机构。去中心化所有人既是服务的又是客户端,生产者和消费者。

P2P网络实现

Hyperleger Fabric: gRPC对等服务

以太坊:Kad DHT技术

密码学-Hash

Hash:将不定长度的数据转化成固定长度的哈希值 应用最多的是SHA2-256

  • 正向快速、逆向困难
  • 输入敏感
  • 抗碰撞

密码学-加解密算法

对称加密:密钥相同、容易泄露 AES、DES等

非对称加密:公钥/私钥,效率低(RAS算法,椭圆曲线等)

账本结构

共识算法(分布式一致性算法)

强一致性:一般很难实现或实现后性能很差,因为需要大量的网络通信,不能用于商用

最终一致性算法:弱化后的分布式一致

CAP原理:一个分布式系统不可能同时满足一致性,可用性和分区容忍性,必须三者取其二

ACID原理:原子性,一致性,隔离性,持久性

目前共识算法认为有两个系列:Paxos,拜占庭容错,前者假设分布式系统中只有故障节点,没有恶意节点(故意制造错误信息);后者既能容纳故障节点也能容纳恶意节点,一般分布式系统满足Paxos即可,但是区块链要满足拜占庭容错

在这里插入图片描述

Hyperleger Fabric

简介

IBM发起,Linux基金会托管,企业级联盟链基础设施,可拔插的共识机制(sols,kafka),多链多通道隔离,保障数据隐私,只存在相关参与主体中

智能合约

  • 合约协议的数字化代码表达
  • 分布式优先状态机,在一个分布式状态系统中,如果启动状态都一致,而且每个状态的改变状态都一样,最终肯定会得到一个一致的结果
  • 执行环境安全隔离、不受第三方干扰(EVM,Docker),不会受到人的意志影响,目前还无法实现自动化

链码

  • Fabric应用层的基石,必须写一个链码部署在Fabric上,最后基于Fabric提供的SDK,写一个应用程序与部署在区块链上的链码进行交互

链码的编程接口

  • Init()
  • Invoke() 两者都接收链码的SDK作为参数

环境

推荐使用centos,ubuntu,macOS,win10也行但不推荐,Docker环境支持
CSDN上使用centOS搭建Hyperleger fabric的文章较多,可以自行参考
Fabric samples是GO语言项目,所以还要部署GO语言环境

区块链需要的相关知识:

GO
C++
Java
Python
系统架构
以太坊
Linux
hyperleger
JavaScript
Node.js
共识算法
密码学
分布式计算
智能合约
数据挖掘
后端思维
GO语言编程
区块链基础知识 Docker、git等

深入了解区块链

如果想更加深入了解区块链本身的相关基础,可以浏览笔者的另一篇文章

发布了18 篇原创文章 · 获赞 4 · 访问量 798

注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: