简述比特币与区块链

看过很多关于比特币和区块链的文章,有的太专业用到很多具体名词导致阅读门槛非常高,有的太抽象无法把举例内容与比特币和区块链很好的结合,希望这篇文章可以更加友好的帮助大家理解比特币和区块链。

比特币相关名词解释

节点、比特币网络

下载比特币客户端的电脑可以理解为一个节点,而众多节点就构成了比特币网络。

节点与比特币网络

去中心化

其概念与中心化相对,中心化是指所有交易都由一个中心来进行记录以及存储,而去中心化则是每个人都拥有完整的交易记录,所以不需要中心的存在。在比特币网络中每一个节点都保存了完整的交易记录,同时节点也都有平等的记账权利。

中心化与去中心化

区块链

计算机保存数据都会存储在数据库软件里,而比特币网络中,每个节点保存交易记录的数据库用的就是区块链架构,所以区块链是比特币网络应用的一种底层技术。如果把区块链看作一个完整的账本,每个区块就是账本中的一页,节点想要记账就需要把交易记录打包进一个新的区块当中,然后把这个区块挂到区块链的末尾。

区块链简单图解

比特币钱包

有两种含义,第一种指代的是一串字符形式的地址,这个地址类似银行账号,交易双方需要知道地址才可以进行转账操作;第二个含义指代一种软件,它的作用是帮助用户发起交易,并将交易内容广播到比特币网络中,收到交易的节点就会把新的交易记录在区块链中。

比特币钱包的两种含义

为什么是区块链

解释了这些术语后还是有一个关键问题没有解答,那就是为什么要用区块链架构的数据库进行存储操作呢?核心原因还是为了实现去中心化,去中心化需要两个前提,一是每个节点都拥有平等的存储权利,这一点很容易做到,每个节点都保存完整的交易记录就好,而第二点是每个节点都拥有平等的记录权利,这一点很难做到。整个比特币网络中有大量的节点,新的交易发起后并不能在一瞬间通知到所有的节点,而是通过一个节点向周围的节点扩散,需要一段时间才可以通知到全部节点,而同一时间总有大量的交易发起,并且都通知到不同的节点上,那么就无法保证每个节点记录的内容都一样了,A节点可能记录了张三和李四的交易,B节点可能记录了玉田和长贵的交易,这样就导致账本就不一样了,那我们该怎么办呢?区块链架构就是为了解决这个问题而设计的,接下来我们再引入几个新的概念:

POW工作量证明

全称是Proof Of Work,是各个节点通过算力来竞争记账权利的一种机制,可以简单理解为在一段时间内只有一个节点拥有记账权利。由于只有一个节点记账,完成后再广播给其它节点,这样就保证了所有节点中交易记录的一致性。那么POW与区块链有什么关系呢?POW的算力竞争就是基于区块链的架构来进行的,我们接着往下看。

挖矿

挖矿是一种非常形象的比喻,针对各节点竞争记账权利这个过程。这个过程可以简单理解为,各个节点收到交易信息后便开始计算一道很有难度的计算题,第一个计算出来的节点就获得了记账权利,而记账成功后就会得到系统奖励的一定数值的比特币,所以这一过程被比喻为挖矿,同时这也是比特币的发行过程。在一定时间内,只有竞争胜利者才能完成一轮记账,并向其他节点同步新增账本信息,这个过程就是区块产生的过程。由于只有一个人记账,完成后再广播给所有节点,所以保证了所有账目信息的统一,解决了去中心化的第二个问题,平等的记账权利,这就是为什么要用区块链架构的数据库来存储交易信息的原因。

哈希(Hash)

每个节点挖矿时需要做的题目就是哈希运算。哈希(Hash)是把任意长度的输入,变换成固定长度的输出。

哈希举例

节点记账需要将交易数据打包进新的区块,而产生新的区块要做的就是生成新区块的哈希值,这就需要把上一个区块的哈希值、时间戳、要打包的交易以及Nonce值当作输入进行哈希运算来生成新区块的哈希值,而新生成的哈希值需要满足某个标准才算成功,这里的Nonce值是唯一的变量,所谓计算就是不断代入不同的Nonce值,直到得出符合要求的哈希值为止与其说叫计算不如叫猜更准确一些。所以算力更强的节点可以在同等时间内代入更多的数值,算出正确结果的概率也会更高一些。

区块内容

结尾

以上是我对于比特币以与区块链的浅显理解,一定有很多不到位的地方,希望各位可以加以指正。我还会继续丰富相关内容,希望感兴趣的小伙伴可以与我多多交流。

参考

区块链之区块和交易

比特币原理(三):工作量证明(POW)与挖矿

区块链中,交易被如何打包进区块

比特币如何实现去中心化——区块链技术原理介绍

你可能感兴趣的:(简述比特币与区块链)