区块链是数据库吗?
“分布式数据库”、“分布式账本”常被许多人理解为区块链的另一个名字。很多时候,他们“看起来一样”甚至“用起来也差不多”。那么到底能不能把区块链跟数据库划上等号?来自Cardano社区的一篇文章以数据为关键词探讨了这个话题。stakefish提炼文中的主要观点分享给社区,供大家寻找自己的答案。 人们常说区块链就是一个又慢又贵的数据库,可扩展性还不好。真是这样吗? 确实,区块链永远不会像传统数据库那样快。然而,与数据库相比区块链更胜一筹,我们有必要了解这些优势。 本文中,我们将从数据的角度来讨论区块链到底是什么,然后再来看看区块链和数据库之间最重要的区别。 “块链”到“区块链” 从数据角度来看,区块链用一个个块来存储数据,是一个与“链表(Linked list)”非常类似的结构。链表是一个线性数据结构,入口点称为链表头。链表中每个元素都是一个单独的对象,由数据和指针组成,最后一个块的指针为空。 链表结构 区块链增加了一个功能来防止历史数据被篡改。 1991年,Stuart Haber和W. Scott Stornetta两位作者首次对以加密学为基础的“块链(chain of blocks)”进行研究,想要构建一个不能篡改文档的时间戳系统。 1992年,Bayer、Haber和Stornetta将Merkle树嵌入设计之中,将多个文档证书收集到一个块中,提高了块链的效率。