比特币原理-区块链

区块链是技术,比特币是应用,区块链的技术也可以使用在其他的领域,包括电力、银行、农业等。

什么是区块链?

首先引用一下人民日报对区块链的图文解释。这张图主要是从应用的角度来解释区块链。本篇更多的从技术角度透析区块链。
在这里插入图片描述

什么是区块?

区块是按照一定数据结构组织的数据块。比特币的区块的结构如下:
在这里插入图片描述
这个数据对象和Java等面向对象开发语言中的类的定义类似。只是该类对象有一个特殊的id属性:Hash。 这个属性的值是对该数据块使用哈希算法得到的摘要。而且该摘要值还有一个特性,就是满足前面位数的值是0。

区块的内容

区块里存储的是交易的数据,和HTML以及Email的格式类似, 区块也分为区块头(header)和区块体(body)。
区块头存储区块链相关的元数据:
包括:

  1. 前一个区块的哈希值
  2. 区块的时间戳
  3. 随机数

区块体存储的就是比特币交易记录。

区块的大小

A向B转账,则产生一笔交易信息。 一个区块包含多少交易数据呢?
通常,一笔交易大概是500个字节,一个区块包含2000笔左右的交易数据,大概占有1M的存储空间。

区块与区块链

下一个节点通过存储上一个节点的指针,将区块链接起来,其特性有:
特性:

  1. 历史的区块无法改变
  2. 只能在旧区块后生成新区块

将多个区块有序的链接在一起,类似List的数据类型,从字面上来看,将区块数据链接起来就是区块链,这个理解尚不能完全解释区块链技术的核心。这里忽略了一个重要的概念——节点。

节点

节点指的是区块链网络中的终端,包括计算机、手机、服务器以及矿机等。

区块链的理解

对区块链的理解要结合节点,也就是区块链是分布式存储系统, 网络中的每个节点都存储了完整的数据。
在软件中常见的存储系统是:

  1. 简单应用, 一个应用服务器, 一个数据库服务器, 数据存储在数据库中。
  2. 单个数据库安全性不高,容灾性差, 于是使用冗余,使用多个数据库, 每个数据库同步相同的数据。但是有数据同步和效率的问题。
    在数据库集群中,可以设置主从数据,在主数据库上管理集群。

区块是存储数据的空间,把很多节点使用链表连接起来,每个节点都保存全部数据,每个节点的地位都是一样的, 没有中心。这样问题就来了:
3. 每个节点保持相同的数据, 是不是很浪费
4. 保持多个节点数据一致, 写入效率应该很低。

区块链取中心化,结构图如下:
在这里插入图片描述

比特币的分支

通过以上原理介绍, 比特币是通过区块链技术将交易数据打包成块,再链接起来。对交易进行有效确认的记账人有机会获取比特币作为奖励。接下来就有一个问题?这个链上的数据可以认为的去控制吗? 也就是这个链可以出现分叉和分支吗?实际上是可以的,自比特币诞生以来,产生了很多的分支,比如国内知名的BCH(比特币现金),而最纯正的比特币的简写是BTC。完整的分支图谱如下:
在这里插入图片描述
国内,币圈的大佬有孙宇晨和吴忌寒, 孙宇晨在2019高价拍下了与巴菲特的午餐, 也是在2019年,吴忌寒和詹克团爆出了对比特大陆的控制权之争。正式这个吴忌寒,发起了比特币现金(BCH)的分叉。
也有很多其他的人和组织出于巨额理论的趋势,分叉了BTC,比如比特币黄金、比特币上帝等,有的还存活着,有的已经消亡了,要注意区分,有的完全是垃圾。

发布了606 篇原创文章 · 获赞 497 · 访问量 465万+

猜你喜欢

转载自blog.csdn.net/oscar999/article/details/104423655