一、共享账本
首先我们来了解一下三个概念∶
中心化,即完全依赖于一个中心,这个中心 所做的任何记录、任何决定都被认为是正确的,所有人都需要依赖于中心中转以完成与他人的连接。
去中心化,一般人可以通过数个中转节点来与其他人交流,几个中转节点之间也保持联通,几个中转节点共同做的记录、决定会被认为是正确的。
分布式,每一个人都可以通过任何一个其他人获得所有人的信息,所有节点共同记录、共同做决定,人人平等,没有任何一个节点有高于他人的决定权。
接下来我们通过一个银行记账的例子,来认识下分布式账本,或者说共享账本。
我们不妨从生活中的角度来看,某客户分别在两个银行存了钱,也就是说客户被银行A和银行B欠了钱,那么,这个事实是由谁来记录的呢?是银行A和银行B。这看起来很平常,我们在银行里存钱,银行告诉我们说,我们会记录下你在我们这里存了多少钱。
但仔细一想,会发现客户必须在相信银行有偿还能力的同时还相信银行有准确的记录,这事实上是一种利益冲突。
举个极端点的例子,路人甲问你借了100块,然后和你说,相信我,我到时候一定还得起,还说,别担心,我会记下来的。这时候你是不是就感觉到了信任危机。
所以有两种有意思的现象,存款者必须相信他们的银行有偿还能力,并正确记录下各项来往数据。同时,银行自身也得花费很多的时同和金钱去开发这样的一个系统,并且需要花费更多的时间和金钱与其他银行之间互相检查,以确保他们的系统在同一个事实情况下达成一致,也就是银行系统之间的对账。
这种多个实体间在记账和对账的过程上相当复杂,维护费用也相当高昂。
那么,我们该怎么解决呢。
于是,就要用到区块链所说的共享账本了。
用一个单一的账本记录所有的事情。
然后把这个单一的账本同时分发给所有参与者。
在这个模式里,所有的参与者都有账本的备份,但只能修改与他们自己相关的记录。
这个账本既是复制型的,也是共享的。
在区块链的共享账本体系里,所有参与者,不论是银行还是客户,都能够同时负责账本的维护,并且保护它的安全。通过公开每一个人的身份和信息,来确保共同对某一作弊方进行惩罚。
因此,区块链实际上是让每个人都可以为系统的安全进行贡献,从而取代了一个单一的强大的"安全"实体。
二、共识机制
共享账本是需要将账本更新信息复制给网络上的每一个节点的,那么到底由谁来广播这个更新信息,让大家“以此为准呢”?
因为既然是每个人都能记账,也就意味着每一个人都可以宣称自己的账户余额增加了。
但是因为网络维护的是一个总账,一个人的余额增加意味着擅自剥夺了别人的财产,于是别人就不会认可你记的假账。
最后就变成你记你的我记我的,大家互不认同,也就无法正常更新账本来完成交易。
为了解决这博弈困境,区块链创造了共识机制。
所谓共识机制,就是大家共同认可的一种以谁为准的机制。
比特币创造了一种叫作工作量证明的共识机制,也就是说,记账最努力的那个人会获得一次记账决定权,但谁都不知道别人会不会比自己努力,因此大家只能埋头若干,希望自己能成为那个幸运儿。
于是这个过程就变成了一种随机事件,每一次系统算法都会找到那个最努力的记账员,然后奖励他一定数量的比特币,由于在网络上进行交易的人需要向记账员支付非常微小的一笔验证费用,因此记账勤快除了可能成为获得比特币奖励的幸运儿之外,还能获得更多笔数的验证费用。
这个记账的过程在比特币中被称为挖矿,人们通过自己电脑、专业矿机或者云算力参与这个挖矿的过程,也同时成为比特币区块链上不可或缺的一部分。
这种激励大家共同努力工作的机制成为维护比特币安全与公信力的最大基础。
共享账本去除了中间环节,共识机制创造了比特币的公信力基础,从而建立起一种乌托邦式的全新组织。