主讲人:Tom ni
故事发生的起点是一个村庄,名为围脖二村。
围脖二村民雇佣了Alice负责全村的记账工作,例如20X2年07月03日,全村的账目如下:
Alice的账本:20X2年07月03日
| 发送方 | 接收方 | 数额 |
|---|---|---|
| John | Bob | 5 |
| Bob | Tracy | 3 |
| Ben | Jack | 1 |
原本简单直接的记账方式没想到却接二连三的出了问题:
1)Tracy原本约好向Bob支付工程款,但因无法入账迟迟不能交割;
2)Bob需要调出20X2年07月03日的记录,证明他已向Tracy支付了3元材料费了。
这一切都因为Alice的生病无法执行。
Alice的账本*:20X2年07月03日
| 发送方 | 接收方 | 数额 |
|---|---|---|
| John | Bob | 5 |
| Bob | Tracy | 3 |
| Ben | Jack | 1 |
| 邻村 | 围脖二村 | 100 |
通过偷偷写入账本,伪造了自己已向围脖二村支付了100元建设费用的证据。
这一记账系统如此薄弱,最根本的原因在于中心化。
由Alice单点控制的账本,一旦Alice出现问题便不再可用,对于别有用心之人单点也相对容易突破。
<aside> 💡 衍生到一个更普遍的例子,中心化的服务器:
1)用户数据其实并不掌握在自己手中,服务器产生问题(例如宕机)或者访问限制(例如各类拒绝访问),都将使得用户失去对自己数据的可用性;
2)中心化的数据存储,安全性也相对薄弱,例如屡见不鲜的程序员删库跑路事件。
</aside>
针对这一问题,围脖二村的长老们开启了紧急会议,他们睿智的想到:如果问题的根源在于中心化,那么从由Alice单点记账,发展至多点共同记账、维护账本,问题其实就解决了。