概述
区块链最常见的用途是消除交易双方的中间环节。举个例子来说,学位认证的过程。当你投递简历到企业时,企业一般需要验证你的学位在类似于学信网等第三方验证平台可查,这相当于依托第三方验证平台验证你的过往的学习证明。MIT首推出基于区块链技术的学位证明不需要借助于第三方平台的验证,学生可以通过去中心化区块链应用向雇主提供在校学习的学位证明。简单的说,基于区块链的以太坊提供由学生自治的(控制)、并获得全区块链认可的、不可篡改的、可随时访问的电子学位证明。
以上提及到了区块链的三种用途:自治性应用,去中心化应用和去中介化应用。而这些应用则是相当地依赖于加密技术。
在计算机领域,有着两类型的加密技术:对称加密和非对称加密。
对称加密是指在加密和解密过程中使用同一个密钥。这指多人共享同一个密钥,即当你将加密的信息发送给第三方时,第三方使用同样的密钥解密所接受的加密信息。这是也称之为密钥加密。
非对称加密是指在加密和解密过程中使用两个密钥:公钥和私钥,我们可以理解为公钥和私钥均可以加密和解密交易信息。举个例子,A使用B的公钥加密一个信息,然后发送给B;B接受信息后,使用自己的私钥对加密信息进行解密。这就是非对称加密的常见应用场景。
除了上述的非对称加密技术,区块链的加密技术还会应用到两个概念:散列和数字签名。
散列是指将输入的数据转换成一个固定长度的随机字符串(散列值)的过程。散列也被称为数字指纹,它具有三个特征:一是,对输入数据进行散列后的散列值无法反向推导出或识别出原始输入数据;二是,输入数据的长度可以是任意的,但散列后的散列值长度是固定;三是,两个不同的输入数据经过散列后无法生成为一模一样的散列值。
数字签名经常用于资产或加密数字货币的所有者对交易进行签名确认,即用于确认信息在传递过程中不被篡改。
例如,当A用户发送加密信息给B时,在A用户端进行了以下过程:
- A使用自己的私钥对信息进行散列加密,得到了加密的散列值m;
- A使用自己的公钥进行散列加密,得到的加密散列值k(数字签名)附加在散列值m之后,得到散列值n;
- A将加密信息(散列值n)发送给B。
B用户收到A的加密信息,即散列值n后,在B用户端进行了以下过程:
- B用户使用A用户的公钥提取数字签名并解密验证A用户的数字签名;
- B用户使用B用户自己的私钥对加密信息(散列值k,n = m + k)进行解密,并读取信息。
如此,A用户完成加密信息的传递,而B用户确认了信息在传递过程中没有被篡改过。
|