人的思维方式抽象出了区块链技术
背景
最近两年区块链特别火爆,很多大的小的公司,高校中的教授,还是普通程序员上班族,都在研究区块链,或者在炒币。对于区块链技术的研究的人相对来说还是比较少的,一般都是在校人员,程序员等。研究的比较深入的更为少之又少。因为区块链涉及到的学科知识比较多,而现在社会分工很细,拥有综合知识体系的人相对较少,想从不同的角度去研究阐述区块链技术的人不多。所以就导致区块链技术很神秘,也很复杂。
我是曾是一名程序员,对于计算机的技术,比一般的外行人要更懂,大学学习过金融会计,毕业后有自己有过创业经历,个人对于哲学也是比较喜欢的,最近一段时间在研究人的思维方式。所以我想用自己有限的知识,来阐述个人与区块链技术的理解,以及区块链技术的应用。希望能够帮助行外的人能够感性的学习一下区块链的知识。对于正在研研究区块链技术的人希望也能够有所帮助。
为什么会将区块链和人的大脑联系到一块?
谈到区块链必然会谈及到区块链的底层相关的技术,首先想到的就是链式数据。我一直在思考中本聪是如何想到会使用链式数据这种数据结构,他是从现实生活中的什么东西得到的启发。我给学生们讲=系统架构和数据模型,会找到对应到现实生活中的事物,以便于学生理解。但是谈到链式数据架构,共识,加密等区块链技术的时候,我一时半会想不到生活中有什么样的事物能够将区块链的全部技术对应到它的体系中。
直到我看到武志红老师心理学的某一篇文章,文章中有一句话,大概意思:人所看到外在世界是内在世界的投影。中本聪能够写出区块链这样的系统架构,这种架构的来源就应该是内在世界的某一件事物的投影。经过一番苦思冥想,我终于想通了。
区块链技术架构的设计来源是人大脑的处理数据的方式。
区块链的链式数据结构和人脑中的记忆结构
链式数据结构其实是模拟人的记忆,当我们在记忆一件事情的时候基本都是要依赖于时间去记忆的,比如说我记得自己大学二年级的时候,大学三年级的事情。存储在大脑中的记忆数据结构是:时间+事件。然后再将记忆按照时间排序。这里在我们的记忆中会有一个时间的概念,
区块链系统中的时间作用和人脑中的时间观念
人认识一件事情的基础是时间和空间,时间是因为运动而产生的一个概念,对于中国人来说,我们使用的时间是北京时间,如果我们忘记了时间就会看一眼手表,或者手机的时间,而手表或者手机的时间是北京时间,全国统一。而美国人或者其他地方的人使用的时间是和其他的时区时间点校对的。这样我们中国人在时间这个维度上就达到了共识统一。另外一个概念就是空间,空间在计算机中是RAM,RAM就是记忆的意思。计算机的内存就是计算机的记忆。在区块链分布式系统中,每个服务器的事件就必须要统一起来,如果没有统一的事件,分布式系统的业务就会出现大的问题。
区块链的加密技术和人脑中的秘密不可知
每个人大脑中的记忆数据不会被其他人所知道,除非他亲自说出口,别人才会知道。为了在区块链中实现这种机制所以需要使用加密算法。每个用户或者设备将自己的数据加密后放入去区块链系统,共识的过程就是将自己的数据拿出来和其他的节点达成相同的目标
区块链的达成共识和人的概念观念达成共识
当人们在谈一单生意的时候往往是概念,理念,观念达成一致的时候这单生意才能有可能谈成,谈成的过程就是达成共识的过程,这个过程则是多有参与者概念数据的累计到自己大脑的过程,此过程可能有以下几个策略
PoW,代表者是比特币 (BTC),简单来说就是谁的钱多听说的
弊端:
矿池的出现,一定程度上违背了去中心化的初衷,同时也使得51%攻击成为可能,影响其安全性。
存在巨大的算力浪费,看看矿池消耗大量的电力资源,随着难度增加,挖出的不够付电费
PoS,代表者是以太坊 (ETH),从PoW过度到PoS,简单来说就是谁的小弟多,人多听说的
弊端:
破坏者对网络的攻击成本很低,拥有代币就能竞争
另外拥有代币数量大的节点获得记账权的概率会更大,会使得网络共识受少数富裕账户支配,从而失去公正性
DPoS,代表者是柚子(EOS)
弊端:
选举固定数量的见证人作为记账候选人有可能不适合于完全去中心化的场景
在网络节点很少的场景,选举的见证人的代表性也不强.
PBFT 拜占庭容错,联盟链中常用
弊端:
不适合公有链,适合联盟链