区块链技术与应用——学习笔记(一)

比特币

密码学基础

比特币被称为加密货币,但其实加密货币是不加密的。

比特币中主要用到了密码学中的两个功能:哈希和签名

 

1.哈希

密码学中用的哈希函数被称为Cryptographic hash function

有两个重要性质:

  • collision resistance(有的也称为collision free)

人力很难找到y,使得H(x)=H(y)。可以用来防篡改

  • Hiding

哈希函数的计算过程是单向不可逆的,即x→H(x)反之不可,可蛮力求解,输入空间大,且分布均匀可以在一定程度上避免蛮力求解。

       可以用来digital commitment(digital equivalent of a sealed envelope)

  • Puzzle friendly

比特币中用到的hash函数还要求第三个性质:puzzle friendly

       Hash值的计算事先是不可预测的,想要得到想要的hash值,只能一个个输入去尝试。这个性质说明挖矿的过程没有捷径,所以这个过程才可以用来作为工作量证明

比特币中用到的hash函数叫做:SHA-256

2.签名

比特币系统中创建账户:只需在本地创立一个公私钥对。

该公钥、私钥用于签名:用私钥签名,公钥验证。

注意:产生公私钥的时候有一个好的随机源。

 

学习链接:https://www.bilibili.com/video/av37065233?p=2(北京大学肖臻老师《区块链技术与应用》公开课)

你可能感兴趣的:(区块链技术与应用——学习笔记(一))