主页 > imtoken.im官网 > 1分钟了解区块链本质

1分钟了解区块链本质

imtoken.im官网 2023-01-17 02:05:17

沙龙活动 | 3月31日,京东、微博实战专家与大家共同探讨容器技术实战!

区块链和比特币的概念最近很流行,但是很多人不知道它是什么。我们打算用通俗易懂的语言从技术和架构的角度谈谈楼主的理解。

区块链的本质

究竟什么是区块链?

A:一句话,区块链就是一个存储系统。

在更精细的层面上,区块链是一个没有管理员的分布式存储系统,每个节点都拥有所有数据。

典型的存储系统是什么样的?

A:如上图,一块空间存储数据区块链技术和比特币,一个软件管理数据,提供一个接口写入数据。这是一个存储系统,比如mysql。

比特币区块链龙头股_比特币交易链区块拥堵_区块链技术和比特币

常见的存储系统有哪些常见问题?

答:有两个常见的问题:

将数据存储在一个地方是非常危险的。如果空间损坏,数据将丢失。用技术术语来说,“数据不是高度可用的”。

只有一个写入点,用技术术语来说是“单点控制”

如何保证数据的高可用性?

1分钟了解区块链的本质

比特币区块链龙头股_区块链技术和比特币_比特币交易链区块拥堵

答:要解决高可用,就需要“冗余”。如上图所示,如果可以将数据冗余到多个地方,就可以保证高可用。如果一个地方的数据挂了,那么另一个地方还有数据。比如mysql主从集群和磁盘RAID都是基于这个原理。

这里需要强调两点:

数据冗余往往会导致一致性问题,比如MySQL主从集群的读写延迟

数据冗余往往会降低写入效率,因为同步数据会消耗额外的资源

画外音:更多细节可以阅读《互联网架构,如何保证高可用》。

能不能多写点?

区块链技术和比特币_比特币交易链区块拥堵_比特币区块链龙头股

回答:是的。可以在多个节点上实现写入,例如 MySQL 双主集群,或者多个机房和多个活动数据中心。这里需要强调的是,多节点写入往往会导致写-写冲突的一致性问题。

画外音:双主一致性,可以阅读《MySQL双主架构如何保证一致性》。

多点控制写完之后,其实就是多中心控制了。当数据不一致时,往往需要一种算法来协商如何处理不一致的数据。

例如,当有两个中心节点时,可以同意这样的算法来处理不一致:

以时间戳最小的数据为准,即先到先得

再举个例子,当有多个中心节点时,可以约定这样的算法来处理不一致:

比特币区块链龙头股_比特币交易链区块拥堵_区块链技术和比特币

投票,以多数票的数据为准

什么是区块链?

1分钟了解区块链的本质

回答:

块是一块可以存储数据的存储空间

区块链不仅像链表一样将区块链接在一起,而且还规定了一系列方法来管理这些数据,所以它是一个存储系统

比特币区块链龙头股_区块链技术和比特币_比特币交易链区块拥堵

区块链有很多节点,每个节点都保存着所有的数据,所以它是高可用的

每个中心节点都可以生成区块和写入数据,所以每个点都是一个中心节点,或者说区块链是去中心化的。要控制整个系统区块链技术和比特币,必须控制一半以上的节点。投票,所以这个系统没有管理员

综上所述,区块链实际上是一个没有管理员的去中心化存储系统,每个节点拥有所有数据。只要你愿意,你可以随时成为区块链中的一个节点,参与区块的生成和写入。比特币是一种基于这种分布式存储的电子货币。

由于节点很多,需要同步的数据也很多,所以这个系统的存储容量其实并不大。目前全球用于存储比特币的区块链只有100多GB。

画外音:嗯,有朋友说他们公司的mysql数据库可以轻松上百G。

因为节点多,需要数据一致,这个系统的写入效率也很低。存储比特币的区块链每 10 分钟只产生一个区块,而一个区块只有 1M 的存储空间,仅够写入。2000 次比特币交易的数据。

画外音:比特币全球交易,每 10 分钟只能处理 2000 笔交易。有朋友说他们公司自研的存储系统很简单;它每秒处理 10W 个事务。

关于区块链,本文只谈概念。作为一个存储系统,数据的生成、写入、管理、数据一致性、数据冲突处理方式、数据完整性保证……很多细节在以后都会用到。《流行技术文》与大家分享。

我希望这一分钟,每个人都明白区块链的本质。