区块链其实是一种数据库,因为它是数字账本,并且在区块的数据结构上存储信息。数据库中存储信息的结构被称为表格。它们虽然都是存储信息的,但是设计却完全不同,所以不可以互换。
以太坊每隔一段时间把交易数据和验证信息打包在一个块里,依次串接起来,就成为一个链。每个块的块头(验证信息)里,保存了前一个块的块头哈希值(ParentHash,父块哈希)。这样区块链里的块就彼此联系了起来。假如我们更改了前间某个块的内容,后面块的父块哈希就和它对应不上,这种块就无法被共识。这就保证了区块链数
如果你是一个中心化的服务,区块链不会给你带来任何东西,你不可能放弃使用一个成本便宜上千倍的中心化数据库。如果你是一个去中心化的服务,那么你很可能是在欺骗自己,而不是去思考你的系统中单一节点的故障。在真正的去中心化的服务中,根本不会有“你”。
区块链的本质其实是一个多活的分布式数据库,区块链中的很多技术,在数据库的漫长演进过程中也曾得到很多的应用和实践,为了能更好的理解区块链,我概述了从2000年开始这十几年主流系统架构的演变。
它是基于区块链技术而产生的货币。其中,每个区块都包含前一个区块的哈希值,从而形成一条连续链。每个区块都包含多笔交易。区块链技术的运行中使用了多项密码学函数。让我们看一下其中一些主要的函数:哈希算法、 签名、工作量证明、零知识证明。
区块链在设计上是安全可靠的(至少是最好的)。但弱点是人。人作为用户或作为服务设计者和操作者,都是容易犯错的。而区块链不能解决这个问题。
除了区块链本身漏洞,为了提升TPS而引入DPoS(授权股权证明)机制的EOS,也存在着当选超级节点过于中心化,可能引发被黑客攻击利用的缺陷。
IPFS储存方式很特别。举个例子来说,如果我们要通过IPFS储存一张照片,IPFS会将照片分解成一百万份,然后又将这分解完的每一份复制成一万份,分别发给全球各地一万个人的电脑里进行储存。因为是每个电脑中的图片都是碎片化的、而且被分解的很小很小,所以根本看不懂图片的内容。
目前而言所有区块链项目都在建立一套孤立的系统,这些孤立的系统使得很多原本开源的数据变得更加封闭了,使得互联网原本的效率变得更低。
如果单纯的做钱包功能,去中心化的会更容易取得用户信任;如果扩展交易、理财等功能,中心化钱包的用户使用体验会更好,整个流程操作更便捷。当然,也可以两种形式都提供给用户,由用户自主选择所倾向的钱包类型,更多元化的覆盖用户需求。
区块链技术可以创造出无法篡改的数据轨迹,并且能够安全地记录论文出版过程中的一系列节点,因此可以改善可重复性和同行评议过程。当我们使用HTTP进行网络查找的时候,寻找的是文件在网络上的位置,但这个位置取决于服务器管理者,用户只能寄希望于服务器没有关闭,文件维持在原来的地方没有被移动。而使用IPFS,我们
密码学,民主共识,数据结构和算法,博弈论,经济学,心理学,等等,让区块链赢得了人类的信任。可以看出,区块链解决的是人们对它的信任,而不是解决的人和人之间的信任。