基础概念
- 区块链
- 狭义上,区块链是一种以区块为基本单位的链式数据结构,区块中利用数字摘要对之前的交易历史进行校验,适合分布式记账场景下防篡改和可扩展性的需求。
- 广义上,区块链还指代基于区块链结构实现的分布式记账技术,包括分布式共识、隐私与安全保护、点对点通信技术、网络协议、智能合约等。
- 交易(Transaction):一次对账本的操作,导致账本状态的一次改变,如添加一条转账记录;
- 区块(Block):记录一段时间内发生的所有交易和状态结果等,是对当前账本状态的一次共识;
- 链(Chain):由区块按照发生顺序串联而成,是整个账本状态变化的日志记录。
技术挑战
- 隐私保护:共享协同信息 与 隐私保护 如何达到合适的平衡点
- 分布式共识:核心的指标将包括支持规模、容错的节点比例、决策收敛速度、出错后的恢复、动态特性等
- 交易性能:核心指标是 吞吐量 和 确认延迟
- 扩展性:通过横向增加节点扩展整个系统的处理能力
- 安全防护:解决因公开化而带来的易受攻击的问题
- 数据存储:是否可以针对区块链存储的特点,设计出针对性的数据库
- 运营治理:如何更好的进行治理投票及权限管控
认知误区
- 区块链是完全创新的新技术:是融合了多项已有技术的创新,是组合创新
- 区块链必然是非中心化的,非中心化一定优于中心化设计:不可能存在某种技术在任意场景下都是最优的,根据场景进行选择
- 区块链离不开加密数字货币:
- 比特币侧重从金融角度发掘加密数字货币的实验和实践意义;
- 区块链则从技术层面探讨和研究分布式账本科技的商业价值,并试图拓展到更多分布式互信的场景。
- 区块链是一种数据库技术:区块链面向的主要问题是多方数据互信协作(Data Collaboration)
- Token 等于加密数字货币:数字凭证只有具备可靠、大范围接受的购买力,才可能成为货币,否则只能作为收藏品在小圈子内流通。
区块链共识
双花问题
拜占庭问题
问题实质:在缺少可信任的中央节点和可信任的通道的情况下,分布在网络中的各个节点应如何达成共识
论文 -> The Byzantine Generals Problem
拜占庭问题是用来解释异步系统中共识问题的一个虚构模型。
拜占庭是古代东罗马帝国的首都,由于地域宽广,假设其守卫边境的多个将军(系统中的多个节点)需要通过信使来传递消息,达成某些一致决定。但由于将军中可能存在叛徒(系统中节点出错),这些叛徒将向不同的将军发送不同的消息,试图干扰共识的达成。
拜占庭问题即讨论在此情况下,如何让忠诚的将军们能达成行动的一致。
一般分布式场景下,拜占庭需求并不多见,但在特定场景下会有较大意义。例如容易匿名参与的系统(如比特币),或是出现欺诈可能造成巨大损失的情况(金融系统)。
对于拜占庭问题来说,假如节点总数为 N,故障节点数为 F,则当 N >= 3F + 1 时,问题才能有解,由 BFT 算法进行保证。
共识算法(BFT 拜占庭容错)
共识算法分类
- 确定性算法:一旦达成共识就不可逆转,即共识是最终结果;
- 概率类算法:共识结果是临时的,随着时间推移或某种强化,共识结果被推翻的概率越来越小,最终成为事实上结果
Proof of Work 工作量证明
工作量证明 (PoW) 是区块链网络的共识算法,是比特币的底层共识模型。
PoW 依赖于将算力转化为区块链的“权重”,这构成了比特币等 PoW 区块链不可伪造的成本,并在此过程中推动激励结构,产生了拜占庭容错 (BFT) 分布式网络。
“工作量证明还解决了在多数决策中如何确定代表的问题。如果基于一个 IP 地址一票的方式选出多数,那么任何能够分配多个 IP 的人都可以破坏投票。工作量证明本质上是一个 CPU 一票。为工作量证明投入最多的将成为最长的链,也将成为多数决策的代表。如果大部分 CPU 算力由诚实节点控制,那么诚实链的增长也会最快,远超任何与之竞争的链。” —— 中本聪的白皮书
POW 具有完全去中心化的优点,在以工作量证明机制为共识的区块链中,节点可以自由进出。
然而,由于工作量证明机制在比特币网络中的应用已经吸引了全球计算机大部分的算力,其他想尝试使用该机制的区块链应用很难获得同样规模的算力来维持自身的安全。
同时,基于工作量证明机制的挖矿行为还造成了大量的资源浪费,达成共识所需要的周期也较长,因此该机制并不适合商业应用。
Proof of Stake 权益证明
POS 也称股权证明机制,类似于把资产存在银行里,银行会通过你持有数字资产的数量和时间给你分配相应的收益。
相比 POW 构建基于权益证明的区块链节点,比起工作量证明节点成本会更低。权益证明不会让每个人都对新区块进行挖矿,因此是会消耗更少的能量。
POS 在一定程度上缩短了共识达成的时间,避免了消耗大量能源挖矿,缺点是必须通过购买等方式获得代币,降低了普通人获得加密货币的门槛,POS 机制的加密货币,信用基础相对不够牢固。
Delegated Proof of Stake 委托权益证明
Proof of History 历史证明
Proof of Reputation 声誉证明
Proof of Capacity 容量证明
Federated Byzantine Agreement 联邦拜占庭
Practical Byzantine Fault Tolerance 实用拜占庭容错
优点:高速、可扩展
不足:较为中心化,适合私有链
Proof of Authority 权威证明
这种共识机制形成的区块链技术主要应用在行业特征明显的联盟链、私有链上