说了这么多,区块链到底是什么呢?区块链真的可以实现这些功能吗?区块链真的能给医疗、金融、供应链和音乐等不同的行业带来新的改变吗?
此外,支持比特币和支持区块链可不可以划等号呢?你会一边夸赞比特币,一边数落它背后的技术吗?
那么区块链是什么呢?技术上来说,区块链是由区块组成的“链”,而区块里又包含交易数据。如果你还不能理解,可以将区块链理解成一个附带其他功能的数据库。
而区块链与普通数据库最大的区别在于,区块链在将数据收入数据库时,需要遵循一套特定的规则。即:所收入的数据不能和库内已经存在的数据发生冲突(一致),数据被计入后不能更改(不可撤回),并且,数据本身会被锁定到唯一的所有者(可拥有)。数据是可复制的,也是可用的。最后,在去中心的情况下(分散的),每个人都认同数据库中数据的真实性(规范的)。
上面提到的“去中心”,正是区块链的精华所在。权力的分散非常具有吸引力,因为它意味着不再存在来自中心化权力机构的威胁。也就是说,没有任何一个机构/个人能够拿走你的资产,或篡改历史信息来满足他们的需求。区块链中你不需要相信任何人,因为有无法被篡改的数据库来保障你的财产和安全,这就是人们使用这项技术希望获得的好处。然而,在这种好处的背后,需要的成本也是巨大的。
不受中心化权力控制的、无法被篡改的数据库肯定是好处多多,但创建这样一个系统需要很多成本。
开发过程严格和缓慢
创建一个可证明的、完全一致的系统,不是一件容易的事。一个小错误就可能破坏整个数据库,或者导致某些数据库与其他数据库不同。当然,损坏或拆分的数据库不具有任何一致性。此外,所有这类系统都必须从一开始就设计得前后一致。如果你破坏了规则,系统就失去一致性,意味着区块链被破坏,变得毫无价值。
你可能会问,那就不能把数据库修复一下,或者重新开始吗?这在中心化系统中确实很好实现,但是在分布式系统中,是难上加难的。因为更改数据库之前,需要获得系统中所有参与者的同意。区块链必须是个不受个体控制的公开资源,或者说如果有人试图在区块链中创建一个中心化数据库,是很困难的。
激励措施设计困难
采取适当的激励措施,并确保系统中的所有行为者都不能滥用或破坏数据库,也是一个重要的考虑因素。如果因为将数据放入区块的成本太低,而导致区块内有很多琐碎的、无用的数据,那这个区块链是没有多大价值的;但是如果因为成本太高,而导致没人愿意把数据存入区块中,那么这个区块链也是没有价值的。
数据的确定性从何而来?如何设计合理的激励制度满足节点需求?怎么样让节点参与保管或更新数据,以及当数据发生冲突时,如何决定选择其中一个数据而不是另一个数据?这就需要采取激励措施。而且激励措施不仅需要在开始时,而且要在未来的所有时刻都保持不变,否则区块链就没有价值了。
同样,你可能会问,为什么不能“修复”一些过时的激励措施?同样,在中心化系统中,这很容易,但在分布式系统中,没有共识,你根本无法改变任何事情。除非每个人都同意,否则就没有“修复”任何东西的可能。
维护费用高昂
传统的中心化数据库只需要写入一次数据,而区块链需要写入成千上万次;传统的中心化数据库只需要检查一次数据,区块链内的数据需要被检查成千上万次;传统的中心化数据库中,只需要传输一次就可以存储,区块链内的数据需要被传输成千上万次。
维护区块链的成本非常高,而这些成本付出的是否有必要,需要用最终实践来证明。大多数应用程序一边希望获得区块链的一致性和可靠性,一边通过使用完整性调查、收据和备份等方式,寻找降低成本的可能。
用户是独立的
这可能是个很好的现象,因为公司一开始就不想持有用户的数据;但如果用户行为不端,那么这也可能是不好的。没有办法阻止那些用垃圾数据来区块链捣乱的用户,也没有办法阻止有人钻空子,利用系统漏洞来非法盈利。所以,又回到上面提到的,要建立一个激励措施,并且这个激励措施最好是无懈可击。因为一旦区块链有漏洞,并且被居心不良的人发现,那么将造成很大的隐患。
你可能会问了,可不可以拒绝为恶意用户服务呢?当然,这在中心化机构里是很好实现的,但是在分布式系统里,没有一个个人/实体有这个权利。区块链必须公正,并且强制每个人都按计算机程序设定的规则执行。如果规则被钻空子,那你就倒霉了,不要指望这里有什么道德感和法律精神。目前来说,还是需要和这些恶意用户打交道,并且可能还要持续一段时间。
所有的升级都是自愿的
强制升级什么的,是不可能存在的。没有任何个人/实体有权利对你的软件进行任何操作。当然,在中心化机构里可能很容易,但是区块链的要点就是去中心化,即不受单个个人/实体控制。强制升级违背了区块链本质精神。
所有升级都必须向后兼容。如果你想要添加新特性,并且,如果还需要进行一下测试的话,那就更加困难。软件的每一版更新都增加了测试矩阵,延长了发布的时间。
同样地,如果是中心化机构,这是很容易做到的,不再服务旧系统就可以了。但是,在分布式系统中就不一样,因为没有人可以强迫其他人做任何事。
规模庞大也是个的问题
最后,与中心化系统相比,在区块链内定标至少要困难几个数量级。原因很显然,一个数据不再只是存放到中心化数据库,而是要存放进数百上千个节点。以前,数据传输、核查、存储只需要缴纳一次费用,而现在,数据的每一次调用都要支付费用。
当然,你也可以通过减少节点的方式来减轻负担。但是,如果真的这样,为什么还需要一个分散的系统呢?如果传输成本是最关键的问题,那为什么不直接建立一个中心化的数据库呢?
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。