我们经常说比特币具有去中心化、不可篡改、不可伪造等特点。这是为什么呢?当然下面的文字其实并没有看起来那么吓人,姑且从三个方面来讲讲,你也要耐着性子听听吧。
1、非对称加密是比特币去中心化的来源
中心化是需要一个类似银行的中心机构来验证交易的。去中心化本质上是让所有的节点都能验证交易的真伪,中本聪用了非对称加密的技术来解决中心化的问题。
非对称加密技术是什么?是指加密和解密的时候使用不同的密钥的加密算法。比如:A要向B发送信息,A和B都要产生一对用于加密的公钥和私钥顾名思义,私钥就是不能公开的,公钥就是要公开的。A发送信息给B时,A就用B的公钥对信息加密,B收到后,B用B的私钥解密A的消息,而其他所有收到这个信息的人都无法解密,因为只有B才拥有这个私钥。
简单的说,公钥和私钥在非对称加密机制里是成对存在的,公钥和私钥可以去相互验证对方,我们可以把地址理解为公钥,把签名输密码的过程理解为私钥的签名。每个矿工在拿到一笔转账交易时,都可以时都可以验证公钥和私钥到底是不是匹配的,如果是匹配的,这笔交易就合法。这样,我们每个人只需要保管好自己的私钥,自己的公钥和对方的公钥就可以安全地进行转账,不需要中心的机构来验证对方发来的比特币是不是真的。
2、工作量证明机制是比特币不可篡改的技术来源
工作量证明 机制,是一种对在差不多时间内发生的事物的先后顺序达成共识的一种算法。监测工作的整个过程通常是效率非常低的,而通过对工作的结果进行认证来证明完成了一定工作的工作量,是一种非常高效的方式。比如我们日常中的各种证 驾驶证 学位证 结婚证就是这样一种有结果获悉完成工作量的证明。
工作量证明 的特点,对于执行方来说难度是适中的,对于验证方来说是非常容易被验证的。矿工们通过哈希计算,最先算出结果,获得记账权,其他节点经过非常简单的验证之后,就可以同样其记账,并同步账本。打上时间戳后,紧接着进行下一轮计算。
如果这时候有人想把某个信息进行修改,他需要做什么呢?他需要从这个区块开始把之后所有的区块都重新计算一遍,把账本再同步给其他人。而在他进行计算的同时,其他矿工们已经在原来的的链上继续往前进行计算了。因为在比特币的网络里,大家认为最长的链才是正确的链。所以,这个恶意篡改的人,需要在很短的时间内赶上现有区块的高度度,让自己的这条链成为最长的链,并让其他矿工误以为自己的这条链是正确的,这基本上是一件不可能的事,除非这个恶意篡改的人拥有超强的算力,至少超过全网的50%。那么我们来算算,现在全网的算力是8亿哈希每秒,也就是每秒进行8乘10的18次方计算,现在市场上流行的主流矿机每台的算力是10T左右,如果你想拥有全网51%的算力,你最少需要40万台最新矿机,如果按1万元每台矿机计算,仅设备就需投入40亿元人民币,加上矿机的供不应求,老矿机算力下降,全网算力的不断上涨等因素,如果不是为了60亿以上的利润回报并有强大的技术做支撑,一般人很难有这个动机和能力。
3、“UTXO”结构是比特币不可伪造的技术来源
先问个问题,如果我发给你1个比特币,你怎么知道这个比特币是真的而不是我伪造出来的,或者我已经同时转给了其他人了呢,这就要说到UTXO结构了。
UTXO(Unspend Transaction Output)是个什么鬼?意思是未花费的交易输出。来个栗子,假设我要给你100元,其中有两张张50元纸钞,一张是隔壁老王给我的,另外一张是小卖部小丽找零给我的,拿到这两张张钞票我需要拿在手上并还未花出去时才能交易给你,这就是未花费的交易输出。而通过这两张钞票往前追溯可以知道是谁交给了老王和小丽,并最终追溯到是由哪家银行发行,什么时候央行批准发行的源头,比特币里也有这样一个原理。在比特币世界里的每一笔转账,都能够追溯到上一笔交易。每一笔付款,都可以追溯到上一笔的收款。一直往上追溯到它诞生时矿工挖出来的那个区块。
这个机制就保证了在比特币网络里,比特币是不可以伪造和重复交易的。在比特币世界里,重复支付被叫做“双花”,就是花费了两次的意思。