主页 > imtoken钱包苹果 > 比特币与区块链的关系:比特币使用区块链技术,但区块链不等同于比特币

比特币与区块链的关系:比特币使用区块链技术,但区块链不等同于比特币

imtoken钱包苹果 2023-06-04 07:22:06

首先要明确一个问题——比特币是区块链,但区块链不是比特币。

所以,在区块链这个问题的回答中,“矿工”、“挖矿”、“最长链”、“分叉”等词其实是不准确的。

写一点上个月的讲座内容——我个人认为大部分的答案,包括在google或者wiki上找到的,都不能很好的解释什么是区块链。 因为说比特币的人很多,懂比特币的人也很多,但是说到区块链,并没有一个明确的定义什么是区块链。 基本上所有的介绍都是这样的:

比特币 --> 区块链是比特币的底层技术。

或者

比特币 --> 比特币是一个区块链。

区块链起源于比特币a对b错_哈比特币区块链_区块链与比特币的联系

具体什么是区块链,目前还没有很好的定义和介绍。 它更多的是笼统地讲述区块链意义的一篇空文,或者说是矿工与矿工的结合体。 矿业。 那么我从纯理论的角度谈谈我个人对区块链的定义:

1. 区块链是一个放置在非安全环境中的分布式数据库(系统)。

2. 区块链使用密码学确保现有数据不可篡改。

3. 区块链使用共识算法对新数据达成共识。

具备以上三个属性的系统就是区块链。

首先,区块链是一个放置在非安全环境中的分布式数据库(系统)。

区块链与比特币的联系_哈比特币区块链_区块链起源于比特币a对b错

这里有两个要点:(1)分布式,(2)非安全环境。

首先,这是一个分布式的、去中心化的系统。 因此,有一个中央服务器或节点,而不是区块链。 节点是安全且无恶意的,因此这不是区块链。 同样,从应用的角度来看,如果你的应用必须使用中心节点(比如使用超级计算机进行深度学习)或者不需要考虑节点的不安全性(比如安全工厂中的传感器),那么就有无需考虑区块链技术。

至于后面的“数据库”这个词,大多数成熟的区块链都是数据库。 比如比特币是一个分布式账本,而账本其实就是数据。 那么,根据数据的格式,可以分为三种——

1、数据完全无关,只是达成的共识,没有有效和无效的区别;

2、数据具有一定的逻辑结构。 比如在账本中,一笔交易其实除了金额之外,还有输入和输出,这与之前的交易是有联系的。 这些数据需要经过逻辑验证(比如在交易中,节点需要验证输入的交易是否有效);

3、数据具有图灵完备逻辑,验证需要通过节点使用算力。 每笔交易可以有不同的输出和状态。 每个节点需要做的不仅仅是验证交易的真实性和输入的正确性,还需要按照交易中的逻辑读入值,进行校验,然后验证结果。

区块链与比特币的联系_区块链起源于比特币a对b错_哈比特币区块链

比特币的系统是第二种,也叫分布式账本; 以太坊是第三种。 第三个可以支持智能合约。

以比特币为例,1、它是一个完全去中心化的系统,2、它被放置在一个不安全的环境中,不要求所有使用比特币的人都是无恶意的。

其次,区块链使用密码学来确保现有数据无法被篡改。

这是最容易被误解的部分,因为很多人一提到区块链就想到这个。 当然,这部分很重要,区块链的名字也确实来自于它,但这只是区块链定义的一部分。

这部分的两个核心点是:(1)密码哈希函数,(2)非对称加密。

都是密码学的基本概念,网上都有很明确的定义。 我就简单的说:

哈比特币区块链_区块链起源于比特币a对b错_区块链与比特币的联系

(密码学)哈希函数:一个函数Y=H(X),它具有以下性质: 1、容易用X计算出Y; 2、无法用Y计算出X; 3、不可能找到另一个X和Y'使得H(X')=Y; 3.5,如果X和X'相差很小,H(X)和H(X')完全不相关。

这个东西主要是用来验证信息的完整性——把这个信息的hash值放在一条信息后面,这个值很小,比如256bit,很容易计算。 接收方收到消息后,再次计算哈希值,将两者进行比较区块链起源于比特币a对b错,即可知道消息是否被篡改。 如果被篡改过,哪怕只是一点点,整个哈希值都会完全不同。 根据哈希函数的性质,任何人都无法伪造出另一条具有相同哈希值的消息,也就是说,被篡改的数据是完全不可能通过哈希校验的。

非对称加密:这个东西很好理解——对称加密是一把钥匙,可以理解为安全钥匙,你把消息加密成密文,没人能看懂是什么,然后用同一个钥匙解密成原来的消息。

非对称加密是指有两个密钥,一个称为公钥,另一个称为私钥。 如果一个用于加密,另一个只能用于解密,反之亦然。 另一个重要的特性是,给定密文、明文和其中一个密钥,您仍然无法弄清楚另一个密钥是什么。 该原理基本上是基于一些困难的数学问题,例如因式分解和离散对数。 常用的有RSA、Diffie-Hellman和ECC(椭圆曲线)。 比特币使用椭圆曲线。

非对称加密除了像对称加密一样用于信息加密之外,还有一个用途,就是身份验证。 因为通常我们假设有一对公钥和私钥区块链起源于比特币a对b错,公钥是公开的,而私钥只有这个人拥有,所以如果一个人有对应的私钥,我们就可以认定他就是这个人。 其中一个重要的应用是数字签名——在一条消息之后,发送方对消息进行哈希运算,然后用私钥对其进行加密。 然后接收方首先对消息进行哈希运算,然后使用对应的公钥解密数字签名,然后比较两个哈希值。 如果相同,就说明这条消息是他发的,没有被篡改过。

以上是基础知识。 至于区块链是如何实现的,很简单:

区块链起源于比特币a对b错_区块链与比特币的联系_哈比特币区块链

交易(数据)以块的形式写入。

第一个块称为创世块,你可以写任何东西。

从第二个区块开始,每个区块的第一部分都有前一个区块的哈希值。

此外,区块中的每笔交易(数据)都有发起方的数字签名,以保证真实性和合法性。 因此,由于上述原因,前一个块中的任何数据都不能被篡改。

说到这里,可能有人会问:为什么需要链? 直接给所有的数据加上一个hash值不就好了吗?

因为 - 这个数据库不是静态的。

数据库中的数据会增加,每增加一个数据就是一个块,所以这些不同生成时间的块以这种形式链接在一起。