Hyperledger Fabric之区块链介绍

参考官方Key Concept文档, 结合个人理解介绍区块链

https://hyperledger-fabric.readthedocs.io/en/release-1.2/blockchain.html

1.什么是区块链?

(1)  区块链源于比特币bitcoin

参考中本聪论文https://bitcoin.org/bitcoin.pdf

(2) 分布式的记账本

区块链本质上是一个分布式的记账本。它常说的去中心化实际就是点对点网络, 节点协同复制保持数据的一致。

除此之外, 记账本的交易记录一旦生成则不能篡改, 有点像我们平时说的流水账, 即使交易是出了差错,也只能通过追加额外的交易记录修正, 因为这种不变化性, 区块链记录可以作为系统交易的凭证。

(3)智能合约

区块链网络通过智能合约控制和采访(例如交易和查询等)记账本。通俗点说, 就是我们可以和区块链签个合同, 区块链就会提供些权限和接口给我们查询或交易数据。 Hyperledger Fabric里面智能合同通过chaincode(go, nodejs语言)实现,  有点点像数据库里面的存储过程。

通过智能合约, 我们就可以维护交易和资源的状态了。

(4) 共识

一个节点发起的交易需要区块链其它特定节点同意, 而每个节点的记账本追加交易记录的时候,需要以一样的顺序更新, 这个过程称为共识。

共识机制是区块链数据一致的基础。比特币和以太坊都可以匿名接入, 使用PoW(Proof of work)工作量证明, 耗时耗能计算争夺记账权。 作为联盟链的Hyperledger对接入点严格控制, 为提供效率, 使用SOLO或Kafka 共识, IBM的PPT宣传的性能是1000TPS, 腾讯云TBaaS白皮书宣传单链可达3000TPS, 华为的是1000-2000TPS。

 

2. 区块链能做些什么?

(1) 当今系统的记录

参考下图, 当今大多的业务网络的成员使用各自系统和数据库维护交易数据, 每个成员之间的交易都需要用双方约定的方式验证身份才能产生交易, 这种信息交换的是费力的。

以企业内部的信息化实施为例, 开始可能没很好的规划, 先上了CRM, OA, 为了进销存又接了ERP, 结果发现每个人都有三个账号, 更麻烦的是一些审批, 票据甚至一些业务数据三个系统还不能共用。等到业务膨胀了必须要打通各个系统的时候, 互通的方式各显神通, 有些企业是让系统供应商各自对外提供接口甚至是直接开放数据库, 形成网状的相互调用; 有些企业是以ERP为中心数据尽量往ERP集中共用, 周边系统调用ERP的web service等接口; 有些是走ESB总线或服务化。 如果没好的规划, 企业内部的信息化整合是费力的。

而当企业要跟其它企业单位进行交易或数据互通, 又一层层的下来需要验证采访人的身份, 验证数据合法完整一致等等。

(2) 区块链的不同之处

区块链使用成熟的数字签名等加解密技术可以统一业务网络中成员的身份, 可执行交易和存储数据, 交易数据一旦生成则不允许修改, 可作为资源来源的凭证。

业务网络的每个参与的成员都一份复制的账本, 账本的信息会一致共享,更新账本的流程也是共享的,而现在的系统,大多是参与者使用私有的程序去更新自己的账本或专有数据库。区块链网络提供了信任和公开, 可以减少时间,开销和减低风险。

 

Hyperledger Fabric官方对于区块链的介绍相对客观些, 并没有描述成能解决任何事情的银弹。

就个人的理解, 区块链在技术上最大的价值是分布式网络中, 去中心化, 交易数据却能传输一致的共识机制。

在商业模式上最大的价值是这个链路带来的信用机制,一交易是不可篡改的,受其它参与者监管和跟踪。 信用机制一旦建立,就好像芝麻信用一样,去中介免押金等等,对社会和个人都会影响深远。

现实也是冷酷的,区块链的十年,除了发币,并没有产生多少杀手级应用,但前景是美好的,区块链可是上了国家信息化的十三五规划的, 所以同志们仍需努力。

而在实际的产品中,我们也得先说服自己,用传统的数据库或NOSQL数据都可以实现啊, 为什么一定要上区块链。再者就是发币和区块链行业应用差别很大, 如果对发币感兴趣, 请参考比特币或以太坊, 这里主要学习的是Linux基金会的Hyperledger Fabric超级记账本。后面的章节我们先介绍下Hyperledger Fabric的功能和组件。

Enjoy it

更多更新请关注“Hyperledger Fabric实践”

猜你喜欢

转载自blog.csdn.net/zealVampire/article/details/81609170