Fabric区块链网络
Fabric整体架构
Fabric共识排序
Fabric账本存储
Fabric智能合约
配置文件,网络部署,合约交互。
链码编写,链码交互。
区块链基础知识,GO语言编程技能。
Fabric基础架构,部署运维,链码;
基础概念:
交易Transaction:一次状态转移操作,比如一次转账,一次对键值对的增删改查;
区块Block:交易的集合, 把某一时间段内的交易打包,就形成了一个区块。
链Chain:区块的顺序排列。 单链表结构。每个区块都又一个自己的hash,后一个区块有前一个区块的hash。
区块链分类:
1,公有区块链(PublicBlockChains)
世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。公有区块链是最早的区块链,也是应用最广泛的区块链,各大bitcoins系列的虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链。
2,联盟区块链(ConsortiumBlockChains),必须要有准入控制。Fabric就是构建联盟链的技术平台。
由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易,但不过问记账过程(本质上还是托管记账,只是变成分布式记账,预选节点的多少,如何决定每个块的记账者成为该区块链的主要风险点),其他任何人可以通过该区块链开放的API进行限定查询。
3,私有区块链(privateBlockChains);
区块链特点
1,去中心化;
2,去信任化;
3,数据共享;
4,不可篡改;不可篡改是基于“区块+链”(block+chain)的独特账本而形成的:存有交易的区块按照时间顺序持续加到链的尾部。要修改一个区块中的数据,就需要重新生成它之后的所有区块。
区块链平台:
Fabric是一个超级账本;
区块链应用场景
1)去信任(去中介),中介将会被区块链取缔。
2)价值转移而非拷贝;
3)数据共享;任何主体都能成为区块链中的一个节点。
区块链技术的组成部分
1,P2P网络协议,节点地位平等; gRPC对等服务,即是服务端又是客户端。
2,密码学
hash算法, 将不定长度的数据转化成固定长度的哈西值。
特点:正向快速,逆向困难;输入敏感;能够抗碰撞。
用固定长度的数据代替原始数据,确保数据的真实性。
加解密算法:AES RSA;
3,账本结构:区块包含交易体和区块头。区块头包含前一个区块的hash以及本区块中每次交易的hash。
如何存储账本?(账本,区块,交易)
账本是有一系列有序的、不可篡改的区块组成(交易日志组成)
状态转移是执行交易的结果。每个区块都包含多个有序的交易。
区块是有序的:理解:区块里的交易是有序存储的,区块是有序的。
账本的数据不可能被篡改,除非破坏哈希链。
4,共识算法(分布式一致性算法)
强一致性和最终一致性。
CAP原理,ACID原理
常见的共识算法