TP官方网站:btc是啥?)
我们都有在淘宝买东西的经历,
你选中一个商品并支付,这时候商家发货,等你拿到商品并检验完好无缺,确实收货。在整个购物时间中,你支付的钱并没有直接打到商家的账户里,而是交给了第三方(淘宝),因为你和商家都信任它,只有当你确认收货才会通知淘宝,将钱打入商家。中心化给我们好处,不会出现交钱不给货,交货不给钱的情况。但同时也有弊端,你和商家都需要向淘宝提供必要信息确认身份,让它相信你是诚信的。但是这里还是有问题,首先,中心化就是安全的吗?淘宝就不会跑路吗?用户提供信息就是准确的吗?并且中心化的维护成本较高,不管你是小额支付,还是大额支付。
所以,比特币(BTC)被设计出来解决以上问题,它一种基于加密证明而非基于信任的电子支付系统,允许任意双方在不需要信任第三方的情况下直接交易。笑来老师用了很好的类比,
把比特币先理解成一家世界银行,这家叫Bitcoin的世界银行发行了一个叫作BTC的货币。我们知道银行最关键作用是,记账和发币。
记账就是我们说的交易,张三给李四100元,传统世界,可以用现金交易,也可以网银转账,因为我们相信国家是诚信的,是万无一失的,央行帮你记账也是准确的。但是在数字加密货币不一样,又加上数字货币BTC都是一连串二进制文本,完全可以复制一模一样的,没有中心化机构记账,那么不诚实的人可以将同一份BTC可以多次使用,这叫做“双重攻击”。
为了防止“双重攻击”,设计一套共识协议来帮忙记账,共识协议本质上就是,多节点争夺记账权。那么用什么来决定来决定他有记账权呢?算力。也就是你的工作量证明,简单来说,去解决一个数学难题(俗称“挖矿”,挖矿的人叫“矿工”),通过计算机能力,看谁优先算出来,谁就有记账权。该节点就把交易打包,形成区块。
为了防止这个“账本”被篡改,又设计出计算出的区块要与前一个区块有强联系,就好像,一个区块紧接着一个区块,它们之间不可能用简单方法让它们断连,也就是常说的“区块链”。这里用来很多密码学知识,感兴趣同学可以进一步的研究。
当一个交易发布在网络中,它会向所有节点广播,每个节点将其打包区块并开始开始计算“难题”,当有个节点解决难题了,将其广播到所有节点。其他节点验证通过,放弃自己目前的区块,转接创建下一个区块,继续解决“难题”……
有人说,这对其他节点不公平,他花了这么时间什么好处都没有。是的,但是也没有亏太多,因为解决难题跟你计算时间没有任何关系,哪怕你10天没有算出来,下一秒钟算出来的概率仍然是保持不变的。立刻放弃其他节点已经算出来的区块,是最明智的选择。
但是,人们为什么要给你记账,还浪费能源,金钱,时间……。中本聪在设计BTC也同样设计奖励机制,就是当你有记账权利时候,同样也有铸币权。你可以为自己账号增加一定数量的BTC,但是随着时间推移,获得数量会逐渐减少,直至忽略不计。
还有一部分交易费,当你需要给别人转账的时候,需要支付一定交易费给矿工(帮你打包交易区块的人)。虽然现在还很少,但是随着BTC价格逐渐上涨,交易费比重变大,那么交易费也是可观的收入,总是能激励一些矿工去挖矿。
BTC就是设计共识机制,该系统所有节点遵从一定规则,比如『最长合法链』的原则,只有一条最长主链被节点认可,只要诚实节点占51%算力以上,那么这条主链就是无法篡改的账本,任何攻击都是不划算的,不如加入诚实节点的大军。
BTC系统是个极其复杂的系统,有密码学、分布式系统、计算机网络、数据结构,金融学……把它彻底搞懂也要很长时间,此篇文章做一个抛砖引玉,让知道它是什么玩意,有个概念就够了,如果想进一步学习,可以在B站搜北京大学的肖臻老师《区块链技术与应用》。我看了两遍,可能还有再刷几遍。
参考资料
【1】