01-联盟链入门
1 联盟链概述
联盟链,介于公有链和私有链,具备部分去中心化特性。由若干机构联合发起,由盟友共同维护,它只针对特定某个群体的成员和有限的第三方开放。
1.1 部分去中心化
联盟链只属联盟内部的成员所有,联盟链的节点数有限,所以易达成共识。
1.2 可控性较强
- 公有链一旦区块链形成,不可篡改,主要源于公有链的节点一般海量,如比特币节点太多,想篡改区块数据,不可能
- 联盟链,只要所有机构中的大部分达成共识,即可更改区块数据
1.3 数据不会默认公开
不同于公有链,联盟链的数据只限于联盟里的机构及其用户才有权限访问。
1.4 交易速度很快
跟私有链一样,联盟链本质还是私有链,因此由于其节点不多,达成共识容易,交易速度自然也就快很多。
2 联盟链应用场景
2.1 商品溯源
传统商业零售场景中,商品从出厂到消费者的链条存在中间环节信息不透明。当发生商品质量或安全问题,难回溯和追责。同时供应链信息也存在被篡改或伪造的风险。
2.2 公益慈善
基于区块链数据可追溯、不可篡改等特点,对捐赠资金及资金流向进行公示,可提高受捐机构的公信力,减少捐赠人对资金使用的质疑。
2.3 供应链金融
在传统供应链体系中,除了核心企业外,还包含上游的多级供应商和下游的多级经销商,但企业信用无法传递,导致许多企业面临融资难融资慢的问题,影响业务健康发展和生产规模扩大。
同时由于信息难共享,使企业间交易协作效率较低,如由于票据流通不便导致的合同结算慢。
2.4 互助保险
这种模式是基于特定人群自发组织成一个保险风险池互帮互助,无中心信任背书。咋提高保险资金的公平合理使用,显得尤为重要。利用区块链技术公示所有保险资金的流向,增加松散群体之间的信任,能帮助这种保险模式取得更好发展前景。
3 哈希函数
3.1 定义
把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。
3.2 特点
正向计算容易,逆向计算困难。
3.3 常见Hash函数
① MD5
摘要长度为128bit,由于易受到碰撞攻击,目前使用越来越少。
② SHA
该系列哈希算法由美国国家安全局制定,具有多个hash算法标准,可以产生160~512bit不等的哈希摘要。目前在区块链中使用较多的是SHA256,摘要长度为256bit,具有较高的抗碰撞攻击安全性。
4 加密算法
5 默克尔树
证明一个数字是否在树中:
6 数据签名
7 核心数据结构
8 区块链中的哈希与签名
9 共识机制
9.1 定义
解决拜占庭场景网络环境下分布式数据一致性问题的一类算法
9.2 常见共识协议
先写入后共识
如POW、POS、DPOS、POX
- POW: hash(B)< targetl nounce ,hash=sha256
- POS: hash(B)< target * balance i nounce, hash=sha2563
- .DPOS: topN(sort(candidate’ s votes))
- 4.POX: Proof of X
先共识后写入
如PBFT及BFT变种:
- Chained-BFT
- Tower-BFT
- TBFT、XBFT等
10 区块链运行原理
获取更多干货内容,记得关注我哦。