区块链最近很火、很sex,各行各业都想找她发生点关系。据我愚见,区块链的主要特点:
- 去中心化;
- 不可修改性;
- 共识机制;
- 加密算法;
我的简单理解,就是网络上每个节点都是一台数据库,而数据库中的记录信息,经过全网共识,一旦写入,便不能被再次修改,只能读取,信息的每次变更,都会被记录下来(类似于git、svn这类版本管理软件中的change list)。
基于这些特点,我的疑问是:
- 如果网络上每个节点,都要保存某个区块链应用产生的信息,随着这些信息越来越多,这些节点如何解决「数据存储量」的问题,是通过分布式来保存?如果是这样的话,又如何确保每个结点上的数据都是完整的?
- 随着区块链应用的丰富,每个网络节点,就不仅仅是某个区块链应用的「数据库」,而是若干个区块链应用的数据库。那对这个节点来说,更无法解决「数据存储量」的问题;
- 网络上的节点,承担起区块链应用的「数据库」角色,消耗自身的电力、空间、算力。能给节点带来的好处是什么?
PS:非常希望有明白人,能够我解释上面的几点疑问?谢谢!