如何认识区块链分布式系统

区块链可以说是对分布式存储的一种全新定义,并随着比特币的推广而兴起的一种全新的技术,它其中的加密算法是它的亮点之一。当然,入门区块链技术也不是一朝一夕能够完成的事情,所以这个也可能变成一个系列了,所以做好入门前的起步工作会事半功倍。学习刚刚起步,定时分享一些心得,只要能进步就行。

简单看了一下区块链的底层技术,可以看作是一个分布式系统,于是所有分布式系统都避免不了CAP原理,区块链的设计放弃了CAP中的一致性,采用最终一致性。这个一致性类似于很多分布式协调中间件的算法,基本可以理解为是另一个Paxos算法的变种,倒是没有什么稀奇的。

可以这样说,区块链的核心是:分布式,去中心化,不可逆,防篡改。对于海量数据的传输与存储提供和很多好的解决方案。

其实去中心化应该叫弱中心化,尚学堂•百战程序员陈老师指出去中心化在技术底层是所有单独的节点,没有master的概念,cassandra,redis cluster都有去中心化的概念,通过谣言方式进行数据同步,P2P通信应该就是一个RPC调用,这两块倒是也没有多少稀奇。

但是之所以不是一个完全的去中心化,主要考虑到区块链未来的应用场景不仅仅是技术底层,而是需要有一定的现实生活场景做依托,所以在现实场景中,如果没有一个强大的中心化机构做背书,很难得到大家的信任,所以这个中心化机构起到一定的背书作用。

其实我比较感兴趣的是区块链如何做到了,不可逆防篡改。

基本看来还是结合了数学知识加上计算机密码学知识,结合Hash方式,加上随机数达到一定的随机目的,加上时间戳可以做到防篡改。

比如每隔10分钟全网会进行一次有一定难度的hash计算力比拼,只有提交自己hash结果并通过网络验证的一个节点加入新的链中,这个过程叫做工作证明。而验证过程则通过Merkle树验证。如果上升到博弈论动机来说,主要基于篡改的成本远大于收益的策略,成本是重建一个更长的区块链,同时需要更大的计算力。所以随着区块链的普及,相信未来的计算机硬件也会有相应的提升。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180408A0PQV100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券