比特币是如何运行的

67 阅读6分钟

什么是区块链

区块链首先是一个分布式的网络,或者说是一个去中心化的网络。因为没有中心节点,所以需要解决如何达成共识的问题,说的通俗一点,就是如何确认网络中哪些交易是合法的,哪些交易是非法的,这个共识是去中心化网络首先需要解决的问题。

比如在比特币网络中需要解决的就是如何确认某项交易是合法的,比如你想转给B 10个比特币,在比特币网络中,如何确认这笔交易是合法的,不能你自己说我的交易是合法的就是合法的,必须有一个共识机制,让整个比特币网络确定你的交易是合法或者非法。

区块链是什么

  1. 区块链是一个分布式网络
  2. 区块链有一个共识机制,可以确定区块链中哪些区块是合法,哪些是非法区块。

比特币是如何运行的?

中心化记账

中心化记账其实就是现在的银行记账,所有的记账都是有中心节点进行记账,比如我们的所有交易信息都是在银行那边保存。

中心化记账的问题其实就是一个可靠性的问题,就是如果不是类似于政府这种机构,我们无法保证中心化的权威性和可靠性,一旦无法保证记账的可靠性,那么中心化记账就不是很靠谱。

因为比特币是去中心化的,网络中每个节点都是平等的,没有超级节点,所以就无法使用中心化记账,需要另辟蹊径来解决记账的问题。

比特币使用的方法就是公开记账,任何人都可以记账,通过这样来解决去中心化记账的问题。

假设现在有一个村子,需要设计一个比特币系统来记录村子里边的交易信息

  1. 公开记账 1.1 村子里边每户村民都有一个喇叭,可以向自己的邻居告知自己什么时候向别人转比特币了,转了多少比特币。 1.2 村子里边每户村民都会生成一对公钥和私钥,公钥和私钥可以用来进行加密,比如公钥加密的东西,必须使用对应的私钥来解密才能查看内容,私钥加密的东西,必须使用对应的公钥来解密,才能查看对应的内容。 1.3 每户村民都参与记账,记录每笔交易的信息,比如A村民转给B村民10个比特币

这个时候,因为每个村民都可以记账,所以就需要把整个账本都公开在网络上,每个人都可以查看,同时需要共识机制,确定哪些交易是合法的,可以被记录到账本上,哪些是不合法的,不能被记录到账本上。

还需要解决如何转账的问题?

比如现实中我需要转钱给你的时候,大家可以想想需要哪些信息,才能把钱转给你。

在这里和现实差不多,就是需要一个转账地址(可以理解为你的公钥),我的签名(这个签名是我用我的私钥加密的,所以你用我的公钥解密后就知道是谁转给你的了),转账多少比特币。 这里边如果一些加密的东西,我就用你给我的公钥加密,这样网络上其他人就算看到了,因为没有你的私钥,所以也看不到我使用你的公钥加密的内容。

  1. 创世区块

目前村子里边,所有人手上都没有比特币,这样肯定是不行的,比如现实中如果没有发行人民币,那么市场上肯定就没有人民币流通了,类比比特币,就是如果没有一个人或者结构发行比特币,那么肯定就没有比特币流行了。

这个时候,可以设定第一个区块,就是创世区块,凭空造出100万个比特币,有点类似盘古开天,上帝造人一样,这100万个比特币就是凭空产生的。

这样村子里边就有了100万个比特币,这个时候,可以随机给给村子里边每个人发送比特币,有的人10万个比特币,有的人1万个比特币。

这些交易信息可以都保存在第一个区块中,这样就形成了区块链中第一个区块。

  1. 打包

假设村子里边使用比特币可以购买物品,那么就会产生交易信息,比如A转给B 10个比特币,购买了一瓶酱油,

那么这个交易只要被记录到包含创世区块的区块链上才是合法的,不然B可能会认为A说谎了,A根本没有10个比特币,或者根本没有转给B。

所以A需要证明自己有10个比特币,说明自己10个比特币的来源,同时需要向周围的邻居说明这笔交易,希望周围的邻居可以把交易打包到一个区块中,连接到合法的区块链上。

这里的打包就是指把一些合法的交易保存起来,同时可以连接到当前合法的区块链上。

但是没有好处的事情是没有人做的,村民同样如此,比如村民就会想问凭啥把你交易信息打包进来,我又没啥好处,同时我打包之后,链接到合法链上干嘛,我也没啥好处。

所以为了让村民有积极性打包,然后把打包之后的区块链接到链上,所以这里会给每个打包好的村民一个权利,可以发行一部分比特币,比如每个打包好区块,并且连接到链上的村民,可以凭空发行10个比特币。

因为比特币就是钱,可以购买各种商品,所以村民就会有积极性了。但是这个时候,就会出现另外一个问题,假设有A和B两个村民,都想打包,那谁打包的算合法的呢?

所以这个时候,可以理解为系统给每个区块会分布一个数学题,每个想打包的必须先把数学题解出来,才能说我打包成功了,可以获得发行比特币的权利。

解这个数学题是很困难的,并且没有什么捷径,只能一遍遍的重新尝试,但是如果有一个人找到答案了,其他人验证这个答案是否正确是非常快速的。

当村民打包成功,并且解出数学题之后,需要发布出来给其他村民验证,当其他村民验证成功之后,才能连接到合法的区块链上,并且获得发布比特币的权利。

本文由mdnice多平台发布