区块链是什么,如何简单易懂地介绍区块链?

时间:2024-06-18  分类:电子
比特币〉区块链是比特币的底层技术。


或者


比特币〉比特币是一种区块链。


具体到什么是区块链的问题,目前没有看到很好的定义和介绍,更多的是大而化之地讲区块链的意义在哪里的空泛文章,要不然就是一水的矿工和挖矿。


所以我来从纯理论角度说一下我个人对区块链的定义:


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


2,区块链采用密码学的方法来保证已有数据不可能被篡改。


3,区块链采用共识算法来对于新增数据达成共识。


具有以上三个性质的系统,就是区块链。


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


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


首先,这是一个分布式的,去中心化的系统。所以,有一个中心服务器或者节点的,不是区块链。节点都是安全的,无恶意的,那这不是区块链。同理,从应用的角度讲,如果你的应用必须要使用中心节点(例如要用超级计算机做深度学习)或者没必要考虑节点不安全的情况(例如某个安全的工厂里的传感器),那么并不需要考虑区块链技术。


至于后面的词数据库,目前大部分成熟的区块链都是数据库,例如比特币就是一个分布式账本,而账本其实就是数据。然后,根据数据的格式,又可以分三种1,数据是完全不相关的,只是达成的共识,没有有效无效之分;2,数据有某些逻辑结构,例如账本中,一笔交易实际上除了金额,还有输入和输出,连接到之前的交易,这些数据需要通过逻辑验证(例如交易中,节点需要验证输入的交易是否有效);3,数据拥有图灵完备的逻辑,而验证的时候需要通过节点使用算力运算,每笔交易可以有不同的输出和状态,每个节点要做的不仅仅是验证交易的真实性和输入的正确性,还要根据交易里的逻辑读入数值,进行验算然后再验证结果。


比特币的系统就是第二种,又叫分布式账本;


以太坊是第三种。第三种可以支持智能合约。


用比特币举例的话,


1,它是一个完全去中心化的系统,


2,它放在一个非安全的环境,它并不要求所有使用比特币的人都没有恶意。


3,区块链采用密码学的方法来保证已有数据不可能被篡改。


这个是误解最多的部分,因为很多人一提到区块链就只觉得是这个。诚然,这部分很重要,而且确实区块链也因此得名,但这只是区块链的定义的一部分。


这个部分的两个核心要点是:


(1)密码学哈希函数,(2)非对称加密。


两个都是密码学的基础概念,网上都有非常清晰的定义,我只简单说下:


(密码学)哈希函数:一个函数Y=H(X),


有如下性质:


1,有X可以很容易算出Y;


2,有Y不可能算出X;


3,有Y不可能找到另一个X'使得H(X')=Y;


4,如果X和X'相差很小,H(X)和H(X')则完全不相关。


这东西主要用于验证信息完整性在一个信息后面放上这个信息的哈希值,这个值很小,例如256bit,而且计算方便。收到信息之后收信人再算一遍哈希值,对比两者就知道这条信息是否被篡改过了。如果被篡改过,哪怕只有一bit,整个哈希值也会截然不同。而根据哈希函数的性质,没有人能够伪造出另一个消息具有同样的哈希值,也就是说篡改过的数据完全不可能通过哈希校验。


非对称加密:这东西很好理解对称加密就是有个密钥,可以理解成保险箱钥匙,你把消息加密变成密文,没有人能看懂这是啥,然后同一把钥匙解密成原来的消息。


非对称加密就是有两把钥匙,一把叫公钥,一把叫私钥,用其中一把加密的话,只能用另一把解密,反之亦然。另一个重要的性质是,给你密文,明文和其中一把钥匙,你还是解不出来另一把钥匙是啥。原理基本上是基于一些困难数学问题,例如因数分解和离散对数,常用的有RSA,Diffie-Hellman和ECC(椭圆曲线),比特币用的是椭圆曲线。


非对称加密除了和对称加密一样用于信息加密之外,还有另一个用途,就是身份验证。因为通常情况我们假设一对公私钥,公钥是公开的,而私钥只有本人有,于是一个人如果有对应的私钥,我们就可以认定他是本人。其中一个重要的应用就是数字签名某个消息后面,发信人对这个消息做哈希运算,然后用私钥加密。接着收信人首先对消息进行哈希运算,接着用相应的公钥解密数字签名,再对比两个哈希值,如果相同,就代表这个消息是本人发出的而且没有被篡改过。


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


交易(数据)写在区块里。


第一个区块叫创世区块,写啥都行。



-->> 2/3 文章未完,请继续阅读

以上就是区块链是什么,如何简单易懂地介绍区块链?的全部内容,望能这篇区块链是什么,如何简单易懂地介绍区块链?可以帮助您解决问题,能够解决大家的实际问题是非常好学习网一直努力的方向和目标。