美文网首页我爱编程蓝精灵区块链知识
区块链里面的密钥与数字签名是什么

区块链里面的密钥与数字签名是什么

作者: allandonly | 来源:发表于2018-04-16 13:17 被阅读0次

    密钥

       区块链中的密钥分为公钥和私钥两种

        公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。

    一把私有的钥匙,仅有用户才拥有。

        一把公开的钥匙,可公开发行配送,只要有要求即取得。

        每支钥匙产生一个被使用来改变属性的功能。私有的钥匙产生一个私有改变属性的功能,而公开的钥匙 产生一个公开改变属性的功能。这些功能是反向相关的,例如,如果一个功能是用来加密消息,另外一个功能则被用来解密消息。不论此改变属性功能的次序为何皆不重要。公开的钥匙系统的优势是两个用户能够安全的沟通而不需交换秘密钥匙。例如,假设一个送信者需要传送一个信息给一个收信者,而信息的秘密性是必要的, 送信者以收信者的公开的钥匙来加密,而仅有收信者的私有的钥匙能够对此信息解密。公开的钥匙密码学是非常适合于提供认证,完整和不能否认的服务,所有的这些服务即是我们所知的数字签名。

        说了这么多,可能没听懂,我就举个比喻吧:

        张三给李四转了1BTC

        然后广播告诉大家说:“我给李四转了1BTC啊,大家都记下来。存进区块链中”

        王二跳出来说,凭什么相信你给李四转了1BTC,你有证据吗?

        张三说:

        我把公钥给你,这个公钥能证明我拥有对应的私钥,完成了交易。

        因为私钥可以生成公钥(两者一一对应),只要你看到了公钥就知道我有对应的私钥,基于密码学这一步是很容易验证的。

        但是你又看不到我的私钥具体是什么,因为无法通过公钥来倒推私钥。

        这样既保证了私钥的安全性,又能证明我拥有私钥。

        王二说:的确,那你的这笔交易我就记下来了。

        好了,简单总结一下:

        私钥是完成交易的唯一不要条件,为了给其他人(网络中的其他节点)证明你拥有对应的私钥,完成了对应的交易。

        就需要将公钥发给大家,来证明你拥有对应的私钥。

        因为私钥可生成公钥,但是公钥无法倒推私钥,所以这种方式即能证明交易成功,又能保证私钥的安全性。

    数字签名

       数字签名是什么?

       数字签名,就是只有比特币转账的转出方生成的,一段防伪造的字符串。

    最通俗的讲就是,数字签名就是每笔交易的证明

    就好比银行的交易流水

    数字签名的用处?

    用处就是通过验证该数字串:

    一方面证明该交易是转出方发起的。

    另一方面证明交易信息在传输中没有被更改。

    数字签名通过数字摘要技术把交易信息缩短成固定长度的字符串。

    举个例子:

    小李发起一笔比特币转账,需要先将该交易进行数字摘要,缩短成一段字符串,然后用自己的私钥对摘要进行加密,形成数字签名。

    完成后,小李需要将原文(交易信息)和数字签名一起广播给记录“账本的人”也就是矿工。

    矿工用小李的公钥进行验证,如果验证成功,说明该笔交易确实是币姐发出的,且信息未被更改,是完整的。

       同时,数字签名加密的私钥和解密的公钥不一致,采用非对称加密技术。

       看起来好复杂的样子,其实我们实际操作的时候,只要输入转账密码就瞬间完成了。

      就像你去银行转账一样,只要输入银行卡密码,钱就转出去了

    相关文章

      网友评论

        本文标题:区块链里面的密钥与数字签名是什么

        本文链接:https://www.haomeiwen.com/subject/ivtekftx.html