最近的一次pre的总结,关于区块链和边缘计算的基础概念。
什么是区块链
最初的例子
我们可以想象这样一个封闭村庄,在村子里没有真实货币的流通,取而代之的是大家都有一个记账本,用于记录各自拥有的财富。
也就是说,其他人认为一个人有多少钱,这个人就有多少钱。
交易时,交易的两人只要向其他人声明财富的变化,其他人就会在自己的账本上记录两人新的财富。
比如,张三和李四原来各有5元,然后张三付给李四2元,于是他们向全村广播:“张三现在3元,李四现在7元”,于是村民们纷纷掏出小本本记下新的财富分配情况,之后所有人便认为张三有3元,李四有7元,此即交易完成。
之后即使张三想要付出5元,也不会被认可,因为大家已经知道他没钱了。
当村庄大一点的时候
这时候人们发现让每个人都参与记账是很麻烦的,不如让一个人来记账吧,于是账房先生就诞生了。
村民们用一定方式选出了一个账房先生,让他在早上的时候记下每个人当前的钱数,然后记录每笔交易的情况,在这天结束的时候公示出记录的大家的账单结果。
对于家太远的村民,他也可以不看帐房先生的公示结果,而是去看邻居家的抄送,这便形成了网络结构。
如果没有人有异议(也就是说公示的账单正确),那么这天的结果就被确认了。
帐房先生的收入
作为账房先生,他的收入主要来自于大家交易时给他付的佣金。这个规则被大家认可,但很快村民们发现账房先生的收入实在太高了。
动动笔就可以获得高额收入,这工作谁不想做?
于是,大家决定轮流来当账房先生,而账房先生职位的选举一般由当前最会记账的人负责。
对应于现实
网络中,无数交易在世界各地发起,每一个节点便相当于一个村民。利用这样的记账方式,账单难以被篡改,每个节点都得到了保护。
其中,每一任帐房先生记录的账单集合会被打包,这就是区块的概念。
许多区块被放在一起,为了确保过往区块的顺序( 识别真正的区块 )每个区块首尾都有通过随机数和账单加密的编号,只有编号前后对应上,这个区块才会被认可。
挖矿的概念
正如前文所说,在真实世界里,当上帐房先生可以获得高额的利润,因此很多人通过竞争帐房先生的方式来获得利润,也就是所谓“挖矿”。
挖矿通常需要强大性能的计算机,正是因为竞争记账权力的方式一般是比较计算出下一个区块的速度,这需要很强的算力支持。
公有链与私有链
公有链是所有人都可以参与的区块链,著名的比特币便是其中代表。只要有一台设备,便可以拥有交易和竞争记账的权力。
私有链是每个节点接入时需要一定资格的,就像一个村子的交易需要是村民才能参与一样,只有被允许的节点才能参与。
边缘计算
从云计算说起
云计算是终端(手机等设备)将需要处理的数据发送到远程的云端,通过远程的服务器计算后将结果返回终端显示。
这种计算方式要求云端的服务器有很好的性能,而且对服务器有很高的负荷,很多不需要服务器处理的部分也被发送上来了。
用军队举例子,云计算就是一个军队的小兵的站岗报告也要全部交给司令部处理,等司令部批准处理后才能执行,这显然是不够有效率的。
边缘计算
同样用军队举例,明显小兵的日常报告最好交给班长来处理,这样可以最大程度地减轻中央服务器的负担,提高运行速度。
所以,边缘计算就是让一部分计算任务交给边缘服务器来解决,以加快整体运算速度和用户体验。