蓝大这篇文章,切中区块链技术的核心,公共记账薄、区块机制。读完,受益匪浅。
#常识#区块链技术中很核心的一部分是它的账本数据库。要理解区块链,很重要一点就是理解它的数据库,而跟传统的数据库进行对比,是理解它的一个好办法。
中心化与去中心化
传统数据库使用CS(client-server)网络结构。这样,用户可以修改数据。同时,数据库的控制权也在一个中心机构,比如公司或机构,它们对客户端身份验证之后,就会提供对数据库的访问权限。这个中心机构(公司或组织等)负责数据库等管理,是明确的主体,如果黑客对数据感兴趣,一旦机构遭到攻击,安全受到威胁,数据就有可能被改变甚至被删除。同时内部操作的风险也会存在。
传统的数据库有明显中心化服务的痕迹。区块链数据库则不同,它由多个分布式去中心化的节点组成。所有节点都参与数据管理,在账本数据库增加任何数据,都得到节点确认,这些账本对于所有节点都是公开和透明的。就像比特币的账本中要增加交易数据,必须取得共识,在节点们确认后才能进入区块。这种共识算法保证了网络的安全,也让它不可篡改。共识的机制除了算力竞争的POW,还是POS和DPOS等。
操作简化
传统的数据库中,可以对数据进行创建、读取、修改和删除操作。区块链设计更为简化,把对数据修改和删除操作去掉。用户只能在区块上增加数据,所有进入区块的确认数据将不能更改。也就是它只有读和写的操作:可以从区块链中查询和检索数据,可以写入增加更多的数据到区块链上。无法对数据进行修改和删除操作。
所有历史记录数据永久保留
区块链允许交易的确认和写入。一个交易就是改变区块链上数据状态的一个操作。旧的记录永远保持不变,新的纪录则改变过去的数据状态。假如说,你用法币购买了100个btc,这些都会永久记录在区块链上,有一天,你用10个比特币购买了一辆汽车,这个交易的数据会记录在区块链上,你的比特币钱包余额就剩下90个btc。不过,区块链数据库会保存所有的记录,你之前拥有100个btc历史也会被永久保留下来。而传统数据库一般都是升级到最终的数据状态。
数据透明
传统的数据库一般都是私密的,但是区块链数据公开可验证,保证完整和透明。用户可以确认自己检索的和查阅的区块链数据是完整的,没有被篡改的。而传统数据库就很难保证。
小结
传统数据库由于是中心化的管理,任何有机会进入数据库的人都可修改甚至删除数据。区块链数据库是分布式存储,还有共识算法机制,保证了它的安全和不可逆。
当然区块链数据库和传统数据库各有自己的优势,不同的需求可采用不同的方案。