参考:https://www.zhihu.com/question/37290469/answer/107612456
目录:
1.去中心化
2.拜占庭问题
3.技术的诞生
4.
区块链本质上是一个去中心化的分布式账本数据库(在与比特币相关的区块链应用中可使用这一术语,但区块链技术可能并不包含“账本”)。其本身是一串使用密码学相关联所产生的数据块,每一个数据块中包含了多次比特币网络交易有效确认的信息。
(1)去中心化
淘宝交易流程
你把钱打给支付宝,支付宝收到款后通知卖家发货
卖家发货,你确认收货,支付宝把钱打给卖家


此时,你和商家都需要把你们各自的信息都“泄露”给支付宝,另外,如果在交易过程中,X宝跑路了,商家和你都悲催了。
而区块链能够实现,点对点交易、交互
(2)基础难题
上述的例子有一个很大的潜在问题:没有了权威的中心化代理,怎样保证每笔交易的准确性和有效性呢?
拜占庭将军问题反映到信息交换领域中来,可以理解为在一个去中心的系统中,有一些节点是坏掉的,它们可能向外界广播错误的信息或者不广播信息,在这种情况下如何验证数据传输的准确性。
(3)技术的诞生
利用广播,让所有节点知道
广播的内容可以是借钱,还可以是别的,比如“我创造了10个克拉”
但是我怎么证明“我创造了10个克拉”呢,打个标记(创世区块的标记是001)
后期我跟其他节点交互的时候,比如我给了X节点,1个克拉,那我就喊出来,并附上额外的“这1克拉来自记为001的那条记录,我的这条记录是002”。(当然这些概念及其顺序是可以更换,实际上代码里的顺序是这样的,这句话编号,上句话编号,我给了某某1个克拉)。


几个问题:
1)人家凭啥帮你记?
给奖励
你记录了这句话之后,要马上告诉其它人你已经记录好了,让别人放弃继续记录这句话,并给你自己的记录编号让别人有据可查,然后你再把我的话加上你的记录编号一起喊出来,供下一个人记账(记录)。
当这个规则定下以后,这个系统中一定会出现一批人,他们开始竖着耳朵监听周围发出的声音,以抢占第一个记账的权利。对的,你脑海中是不是又浮现出了“比特币挖矿”的字眼?
值得一提的是,关于比特币挖矿, 举了一个很形象的例子:
单身汪们要找女票,国民岳母说我有好多女儿,这样吧我给你们出点题目,解出一个就给其中一个姑娘的微信号。
单身汪们疯狂竞争,想破脑袋去解题。只要其中一只汪解出一道题,就立马得意洋洋地昭告天下,示威全部单身汪,这个姑娘是我的啦,你们放弃吧。其他单身汪们即使不服也没有办法,惆怅懊恼也不是个事儿啊,还是麻溜地立马去解下一道题目吧。这只喜赢姑娘的幸运小汪被岳母认可后还能得到25个货币单位的彩礼,简直人生赢家。
2)两人/或多人同时搞定了(抛硬币),听谁的?
如果你对上述我的解决方法感兴趣,你可以对照我上面的比喻去了解以下知识:
“听谁的”——中本聪破解“拜占庭将军问题”的算法
“在小本本上记录”——比特币挖矿
“脱鞋用脚写字”——比特币挖矿难度
“脱鞋写字速度”——算力
“新的规则”——工作量证明链
3)双花问题
通过前面的问题,其实双花问题就自然不存在了。