《精通比特币》第二章节开始提到:与传统银行和支付系统不同,比特币系统是以去中心化信任为基础的。由于比特币网络中不存在中央权威信任机构,“信任”成了比特币用户之间的一种突出特性。
那如何在分布式机制中变得被信任和被接受?
所谓的比特币也好,区块链也罢,首先是一个分布式网络,它并没有超出我们的认知框架。让所有的独立节点想要达成共识去做同一件事情,是区块链在技术上首先要解决的问题。这也是共识过程,也是“去中心化”这个概念的直接来源。
可去中心意味着没有一个公司,没有公司就没有服务器,没有服务器的软件是怎么提供服务的?
也就是说,在比特币的世界里是没有中心服务器的,整个系统直接由用户端的电脑构成,不受某个人的控制,完全是靠大家用自己的电脑拼出来的一个分布式系统。这种情况下,两个人之间的一次比特币交易如何让所有用户相信它的真实性和准确性,达成对交易的共识?
在这之前,我们先了解一下传统中心化的交易业务流程。
如上图,在中心化结构中,不论哪两个人进行交易,大家都将记账权交给银行。所有人的交易信息包括账户余额都保存在银行的中央服务器中,如果发生交易行为,比如Alice向Bob转账10美元,那么银行会从Alice的账户减掉10美元,给Bob的账户新增10美元,同时记录下这笔交易过程。
而去中心化的交易如下图:
在进行交易介绍之前,我们需要先掌握一些必要基础知识。
1.地址
比特币地址由一长串数字和字母组合而成,大概长这样1Cdid9KFAaatwczBwBttQcwXYCpvK8h7FK,或者是一个二维码,类似于中心化结构中的账户地址,用来接收和发送金额,只不过在中心化结构中,账户地址是由中央机构也就是银行给个人分配的,一个账户的所属权和有效性,都由银行决定和验证,也就是银行说了算。
那比特币地址如何来保证它的所属权和有效性呢?这里就需要知道私钥的存在。
2.私钥
我们可以把比特币地址看做一个带锁的信箱,私钥就好比这个锁唯一的钥匙。信箱(比特币地址)是公开的,每个人都可以往这个地址投放信(发送比特币),但只有持有“私钥”的人才能打开这个信箱去使用里面的信件(比特币)。
换句话说,只要知道私钥就可以取走比特币,所以私钥一定要好好保管。
接着我们来看交易流程,比如Alice向Bob付款10个BTC的过程是这样的:
一、首先,需要交易的用户把交易传到网络中。
比如Alice向Bob的地址发送了10个BTC,然后要向全网发送,相当于向所有人吼了一声:“我向能打开这把锁的人发送了10个BTC”。
Bob在网络中会马上收到这条信息,于是拿出私钥试试能不能打开这把锁。上面说了,只有Bob钱包的私钥才可以匹配这个地址,所以只有Bob能兑换这笔钱。
既然发生交易,就要进行记账,那谁来记账,该记在什么地方?
这里又不得不提,取代了原来中心化结构中银行的记账权,现在所有人都参与记账,共同维护一个大账本,那么这样做的意义何在?
1.去中心化协同系统,保证没有任何一个成员是不可替代的,发生交易信息时,记账者是谁并不重要,由于经济机理原因,总会有人记账和打包。
2.交易数据信息透明可查询。任何人在账本中都可检索到某一交易信息,安全可靠。
3.交易数据难以篡改。
回到交易流程,Alice向Bob付款10BTC的交易信息必须要被送到比特币网络中,成为总账本的一部分。这个账本就叫做区块链。一个“区块”里面记录了一段时间内的所有交易信息,“链”则是因为所有的历史数据块会一个个串联起来。
因为比特币的账本是分布式的,网络中的每个节点都在帮助记账,Alice向Bob付款10BTC的时候,只需要向身边的节点大吼一声,收到信息的节点又迅速向自己的邻居发送这个消息,一传十十传百,只要几秒钟就能传遍整个网络。于是,所有人都知道“Alice向Bob付款10BTC”,这个过程也就是全网传播。
二、这笔交易在比特币网络中传播开来,那如何才能被记录在总账本中呢?
这时候就得知道,网络上的有些机器叫记账节点,他们会通过比拼计算力的方式竞争记账权,也叫“挖矿”。
挖矿的过程是将过去一段时间内的交易记录打包成一个区块,这个过程同时也会创造新比特币。
《精通比特币》中提到:描述挖矿的⼀个好⽅法是将之类⽐为⼀个巨⼤的多⼈数独谜题游戏。⼀旦有⼈发现正解之后,这个数独游戏会⾃动调整困难度以使游戏每次需要⼤约10分钟解决。
想象⼀个求解一个⼏千⾏⼏千列的数独,确实有难度,但是,如果给你⼀个已经完成的数独,你可以很快地验证它。
“解起来困难而验证容易”是比特币解密游戏的最大特点,但通过这种方式,一笔交易需要通过解题构建区块来证明它有效,矿工们都在齐心协力地为这个区块贡献计算量,计算量越多意味着更多的人信任这笔交易是有效的。
三、最后,获得记账权的节点,会把待记账的交易进行计算打包,并向全网广播。收到新的记账包的节点会对其进行验证,验证通过后加入自己的区块。
至此,Alice向Bob付款10BTC的这笔交易全部完成,一次去中心化的交易过程也便结束。
【一起入门区块链】是一个系列文章,立志于把区块链专业复杂的内容变得简单易于理解,从程序员的理性逻辑思考进行输入,用易于理解的感性直白语言进行输出,让刚入门毫无方向的小白直接起航。
感谢您的阅读,欢迎你的关注,希望我们一起深耕,一起收获!
-------------------------------------------------------------------------------------------------------------------
我是(币圈娜姑娘)李拉拉(微信号:lina_lala),一个职业编程妹子、区块链研究者、跑步健身爱好者,期望与您一起学习,一起进步!
喜欢记得点赞关注哦!