什么是区块链?
区块链这个名字,听起来完全是丈二和尚摸不着头脑,不知道是个什么东西。我觉得是因为名字起得不好, 比较形象的名字应该叫做分布式账本, 一听就知道是个账本, 账本就是一条条的交易记录, 记录起来。
先不去管它叫什么名字, 我觉得它具有的特性如下:
1. 去中心的, 没有谁拥有绝对的权利来影响整个系统, 系统的状态是网络中每个人共同参与的结果
1. 分布式系统, 其中的每个节点都保存着一份数据
2.数据是不可篡改的
到这里很简单,但是想要达成上面的特性, 有以下工作需要做:
1. 去中心并且每个节点都保存一份数据, 需要共识机制来保证大家的数据都是一致的
2. 保证数据不可篡改, 需要用一种链的方式来组织数据
大致用到以下的技术和知识来做上面的工作。
1. 共识: PoW, CFT, BFT, PBFT
2. 密码学, 包括哈希, Merkle Tree, 数字证书, 公钥, 私钥, HTTPS, TLS