理解区块链

利用对等网络和密码技术实现的密码货币系统,交易账单不可逆,不可伪造,不可否认,可验证。

区块链进化史

BlockChain1.0:区块链以数字货币的方式呈现, 为数字化支付、转账、汇款打开新方向,最有名的就是比特币。

BlockChain2.0:区块链进入可编程应用,并延伸 至股票、债券、贷款等资产类型,同时发展出自 治组织和智能合约,最知名的带头者是以太坊, 在这个阶段已经受到金融业相当的重视。

BlockChain3.0:区块链现正迈向更复杂的智能合约、超级帐本。未来,可记录任何能以代码形式 表达出来的事物,应用范围扩展到政府、医疗、 科学、艺术等。

学术界的区块链:

区块链:性能、安全、去中心化、隐私、效率

区块链技术谱系:

密码技术

哈希函数在区块链中的应用

  1. Hash碰撞-挖矿,就是找出一个nonce(幸运值),小于目标target。区块难度的设置,区块的哈希值必须小于给定的目标哈希值,表示挖矿成功。

  2. 以太坊用户地址的生成(生成私钥、生成公钥)

  3. Merkle tree

非对称加密

1976年由Diffie,Hellman提出,被称为公钥密码体系

数字签名

交易的验证目的有两个:1、输入的UTXO确实是付款人的。2、交易信息没有被篡改过。

零知识

共识机制

共识机制的职责就是维护整个区块链账本的一致性:

设计公平的挑选机制,选择某个网络节点(或一群)负责写入数据,以避免区块链账本的数据混乱;设计可靠的验证机制,使得同步数据的时候,可以判断数据的真伪。

分布式共识

分布式节点在某个全局状态达成一致——去中心化的分布式共识

区块链类型与共识协议

私链——Raft:谁快谁当选leader

联盟链——PBFT:有一个节点会被当做主节点,而其他节点都是备份节点

公链——PoW:算力;PoS:一个账户的余额越多,就越容易发现下一个区块

共识安全

双花问题(重复支付),防御:由于硬件设备昂贵,抵御很大程度上取决于其他区块奖励。

51%攻击

智能合约

智能合约的创建

智能合约的调用

去中心化应用DApp

数据存储

比特币:存储系统由普通文件和KV数据库(levelDB)组成。普通文件用于存储区块链数据,KV数据库用于存储区块链元数据

以太坊:区块主要由区块头和交易组成,区块在 存储的过程中分别将区块头和交易体经过RIP编 码后存入至KV数据当中

Fabric:存储系统和比特币一样,也是由普通的文件和KV的数据库(LevelDB/CouchDB)组成

分布式存储及网络

比特币P2P网络

比特币协议:去中心化的对等网络

公共交易总链——区块链

独立交易确认和货币发行的一套规则——共识机制

实现有效的区块链全球去中心化共识机制——工作量证明算法

代表性应用场景

百度超级链–金融、版权、司法(联盟节点)、政务(一链办理,秒办秒批)、溯源(农作物采集的数据实时上链,数字化一站式消费生态)

蚂蚁链–金融、供应链(应收账款资产:全生命周期可靠上链且交易在链上完成)、发票、电子证照、处方流转(智能合约、医生远程开具电子处方,并流转至药房医师审核后,可完成药品配送到家,患者无需去医院即可完成购药)、善款追踪(全链路追踪、可视化公益项目成果反馈、保护公益项目参与者隐私)