比特币系统或区块链技术并不是单一的技术,即使在密码学层面,也包含了非对称密码算法、哈希函数、安全多方计算等多种技术。 (1)非对称密码算法非对称密码加密过程示意图 传统的对称密码算法在秘密信息传输时双方需要共享同一个会话密钥。秘密信息发送方使用这个会话密钥对信息进行加密之后传输,秘密信息接收方同样需要用这个会话密钥对接收到的秘密信息解密,还原出明文。这个会话密钥同样需要事先通过一个秘密信道进行保密传输,这在很多情况下是困难的甚至是不可能的。 非对称密码算法又被称为公钥密码算法,指的是存在一对数学相关的密钥,使用其中一个密钥对数据进行加密,只有使用另一个密钥才能对该数据进行解密。这对密钥中,对外公开的密钥叫做公钥,不公开的密钥叫做私钥。公钥就像银行的账户,私钥就像是该账户的密码或者账户所有者的签名。 A和B之间使用非对称密码算法进行信息传输,如果这个信息是秘密信息,A就可以用B的公开密钥对信息进行加密,然后发送出去。任何人都可以收到加过密的信息,但只有B可以用自己的私钥对这个信息进行解密,还原出明文。 如果A向B发送消息,发送之前,这个消息用A的私钥加密,任何人都可以用A的公钥解密。这个行为证明,这个消息就是由A发出的,而不是其他人发出的。这个动作在密码学上称为数字签名。 区块链上的有效交易数据包含了交易发起方的私钥签名,该交易的签名可以用交易发起方的公钥进行验证。公钥可以通过算法从私钥中计算得出,但私钥却不能从公钥中推出。 (2)哈希函数哈希函数示意图 哈希函数是一类单向函数,这类函数可将任意长度的输入数据经由该算法转换为一组固定长度的输出数据。这种函数很容易被验证,但是却很难破解。在通常情况下,给定任何一个x作为输入,可以非常容易计算出输出的哈希值y,但却很难由y反向计算出x。此外,只要对x做一点小小的改动,y的变化就会极其明显。 比特币系统中每个区块上的数据除了原始数据或者交易记录,还包括上一个区块上所有数据的哈希函数值。比特币系统采用的是双SHA-256哈希函数,也就是将上一个区块上所有数据用SHA-256哈希函数进行两次运算,再将输出长度为256位的二进制数字存储在下一个区块链的区块头中。 (3)安全多方计算安全多方计算用于解决一组互不信任的参与方在保护各自隐私情况下的协同问题。安全多方计算要确保各参与方输入的独立性、计算的正确性,同时不泄露各输入值给参与计算的其他成员。通俗地说,安全多方计算是指在一个分布式网络中,多个用户各自持有一些数据输入,他们希望共同完成对这些数据的计算,同时要求每个用户除计算结果外均不能获知其他用户的任何输入信息。 基于以太坊实现的智能合约已经能够实现链上计算。但是以太坊的链上数据都是公开透明的,任何人都可以获取这些数据,这也是以太坊迟迟无法跨入企业级和个人金融应用领域的原因。其实质就是以太坊缺乏对多方安全计算的支持,无法保护多方数据计算过程中的隐私。 —- 编译者/作者:天眼 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
比特币系统使用的密码技术
2019-12-22 天眼 来源:区块链网络
LOADING...
相关阅读:
- 比特币上涨突破11700刀时,计算接下来的行情里面主涨趋势还有几波?2020-08-01
- 世界各地的比特币现金爱好者庆祝他们的三岁生日2020-08-01
- 以太坊经典区块链因一名矿工重组而分裂2020-08-01
- 日报丨蚂蚁集团发布国内首款区块链自研软硬件一体机2020-08-01
- 区块链神算子:8.1日比特币晚间分析 单边出现量能或呈V型反转2020-08-01