时间:2022-02-23|浏览:437
如果分散化不能解决上述认证和防伪问题,区块链的不可篡改性只是一堆不可篡改的交易,但没有证据。
所以Cryptography (密码学)和Hash Function哈希值)诞生了!区块链重要技术赋予区块链不可篡改和分散的意义。
Cryptography密码学
如今,随着信息的发展,密码学实际上隐藏在我们日常生活的每一个地方,比如登录电子邮件和社区…所有这些都需要输入自己的密码,罗马人早就说过了Kryptosgraphia(密码学) 也就是说Kryptos (hidde) Graphia (message) 隐藏的讯息,是不是很有趣呢?
区块链使用的密码学技术是Public Key Cryptography (公钥密码学),又称Asymmetric Cryptography (非对称式密码学)。从Public Key (公钥)可以知道一定有Private Key (私钥)的存在,公钥和私钥的区别在于私钥不能给别人看,要自己保管;公钥是可以发布给大家的信息。
可以进行公私钥匙encryption (加密)或decryption (解密),两对配对(因此称为非对称密码学),一个私钥产生一个公钥,只有成对的公钥才能相互解密。
当公钥加密成锁时,私钥是他的解决方案,反之亦然,形成两种不同的资安用途:
公钥加密,私钥解密:保护传输的信息本身,证明只有私钥所有者才能阅读。
例如:Alice 向银行传递信息Jack,她用Jack而公钥加密Jack解锁公钥就是Jack私钥代表银行信息只有Jack有办法解密阅读。
2. 私钥加密,公钥解密:保护公钥持有人,证明出版商(私钥持有人)的合法性。
例如:Digital Signing (数字签名 )。Jack他是一家公司的老板。今天,他想以他的名义向公众发布信息。如何确保他是Jack老板的本尊怎么样?Jack用他的私钥加密,然后知道Jack大众可以解密公钥获取信息。
注:使用公共和私钥的目的不同于第一个保护秘密信息,但为了确保出版商的信息在传输过程中没有被篡改,因为如果被篡改,公众使用Jack公钥时便会解密失败。
更简单地说,使用公钥加密就像我们的电子邮件一样,这样任何人都可以向我们发送他们想要保密的信息。只有有了电子邮件钥匙,我们才能看到信息; 另一方面,私钥加密的目的是确保出版商的身份digital signature (数字签名)。
现下常见的Public Key Cryptography公钥密码学
RSA加密算法:Rivest Shamir Adelman (RSA) Algorithm
ECC加密算法:Eliptic Curve Cryptography (ECC),比特币和以太坊使用的公钥密码学更受欢迎ECC较RSA更有效地处理。
关键笔记:Public Key Cryptography 公钥密码学
公钥密码学解释了为什么钱包被用于区块链,币安(Binance)被转换,身份认证机制被解释。
只有输出公钥的当事人才会拥有私钥,生成公钥是一个不可逆转的过程。当别人知道你的公钥时,不可能把原来的私钥推回去。(计算机操作能力如此之大)
加密的信息就像乱码,需要相应的钥匙(一把公钥和一把私钥)or一把私钥和一把公钥解密可以把乱码打回原形。
Hash Function 哈希函数
区块链的哈希函数是什么?
区块链的哈希函数是一种可以接收各种档案形式(数字、文字、图像、电影、电子书、合同…等等),档案大小,经杂数方程式计算,压缩后,输出一串固定大小的数字。
「嘿,数字?为什么我还看英语?」
因为哈希函数是基于16进位的,不同于我们生活中每天使用的16进位~9后代表的数字10~15,就是ABCDEF。
哈希函数也有非常多种,随便举几个例子MD5 (128-bit) 、 SHA-256 (256-bit) 、 SHA-512 (512-bit) 。括弧中的几bit代表档案压缩后,产出那串数字的大小,而bit越大代表可能产生的数字越多种,区块链也就越安全。试想要是今天档案压缩后只有2²=4种可能,跟另一个256 bits的哈希函数大约有2²⁵⁶=1.15 x 100000000000000000000000000000000000000000000000000000000000000000000000000000 (没错,有77个0这么多)种可能相比,哪个更安全,更不容易被骇客破解呢?
除了将各种档案压缩成一串大小相同的数字外,哈希函数还有几个特点:1. 产量很快,好奇的朋友可以亲自玩SHA-256哈希函数; 2. 即使只是相差一个字,数字也相差十万八千里(试着输入dog和dog3.看看会发生什么。!)因此,如果智能合同中有标点符号、英文单词或数字发生变化,则会立即发现 ;
3.最后也是最重要的一点,真的很重要。区块链使用的哈希函数是一种one-way(单向)方程式,也就是说,没有人能从输出的密码中推回原始文件。你觉得似曾相似吗?是的,上面提到的私钥输出公钥的过程是使用哈希函数计算的结果,所以在向公众打开公钥后,你不必担心你的私钥有一天会被破解。在这里,我真的想向想出该操作规则的聪明工程师致敬。
关键笔记:Hash Function哈希函数
哈希看起来像一堆毫无意义的乱码。
哈希函的目的是压缩档案,并量化各种档案。
哈希函数具有快速输出、不易重复(因为只有一个字完全不同)、单向的特点。
通过哈希函数加持的密码,被吓的概率很小; 通过哈希函数加持的数据也不能被篡改。
用戶喜愛的交易所
已有账号登陆后会弹出下载