——本文是作者自己原创编写的电子书中的部分章节,在此分享给各位CSDN的读者。
第三章 分布式系统
上一章中把Blockchain和Distributed Ledger,分布式系统未必是区块链的技术本质,单纯的分布式实现不会是区块链技术的终点,未来一定会有更高效、更合理的、也很可能会更复杂的方案来实现区块链以达到更理想的效果。
但另一方面,也必须说明分布式至少是区块链技术栈中很重要的部分,而且至少在现阶段是适合大规模推广的区块链技术的必然选择(在很多场景中可能会呈现一定程度的相对中心化)。尽管用上万个 full time 运行的计算机节点来替代一份报纸的一个小小的广告栏,意味着系统运行的成本上涨了数亿倍甚至更多,但也正是这一点点差异就决定了 Surety 是一个半数字化的系统,而bit–coin是一个完全数字化、完全线上运行的系统。也正是用天价成本换来的这一点点差异,导致了后者具备了无限的想象空间而被资本拿来炒作,其影响甚至触及了全球最偏远的角落。也正是这一点点差别,最终导致 Surety(相对的)默默无闻,而bit–coin却声名远播。
所以从这个角度来讲,现阶段把区块链定义成「分布式记账技术」而不是「块链式记账技术」也是情理之中的。
由于分布式系统的知识体系极其庞杂,本章只能简要介绍学习区块链需要了解的一些分布式系统的基础知识,帮助读者理解区块链关于分布式的一些基本特性。如果要更清晰的了解分布式系统发展历程,可以参展本节相关的参考文献部分的论文和文章。如果要更深入、系统的学习分布式系统的话,就需要阅读分布式领域的一些专著了。
3.1 Why 分布式系统
区块链采用分布式的实现是有很多原因的,首当其冲的是去中心化的账本可以提供更高级别的信用。前面讲到了简化的区块链技术实际有两大块:
- 数据完整性技术;
- 分布式技术。
虽然通过 Hash、Merkle 树、单链表这样一套精巧的数据结构可以保证区块数据的完整性,但并不等于区块数据就安全了。如果这样的完整数据只有一个备份的话,虽然篡改起来确实比较困难,但是要破坏/删掉它还