今天是看《Mastering Bitcoin》的第3天伐债,每天20頁,并同步筆記。
《精通比特幣》(《Mastering Bitcoin》)全書182頁附鸽。
預(yù)計完成時間:1 week
昨天和今天著重看了這兩個算法。比特幣使用的是哈希加密瞒瘸,發(fā)現(xiàn)這些算法的具體內(nèi)容已經(jīng)忘記坷备。
往好處看,大學(xué)時代學(xué)過的好處就是情臭,看到這些術(shù)語不會發(fā)憷省撑,反而有點親切。
——? “Hey俯在,咱們又見面了竟秫!”
看到自己寫下了“Byte”,還花了幾秒鐘確認(rèn)“1個字節(jié)到底是4還是8個比特跷乐?”
私鑰->公鑰
【私鑰 -> 公鑰】
公式:K = k * G
運算:橢圓曲線方程
【公鑰 -> 比特幣地址】
公式:比特幣地址 A = RIPEMD160(SHA256(K))
運算:哈希函數(shù)
比特幣的區(qū)塊鏈里比較常用的有RIPEMD160和SHA256肥败。做雙層的哈希運算。
【哈希加密算法】
HASH算法是密碼學(xué)的基礎(chǔ)愕提,最重要的兩條性質(zhì)馒稍,就是不可逆和無沖突。
-- 所謂不可逆揪荣,就是當(dāng)你知道x的HASH值y筷黔,但無法求出x;
-- 所謂無沖突仗颈,就是當(dāng)你知道x佛舱,無法求出一個y, 使x與y的HASH值相同挨决。
一個函數(shù)必然可逆请祖,且由于HASH函數(shù)的值域有限,理論上會有無窮多個不同的原始值脖祈,它們的hash值都相同肆捕。哈希做到的是求逆和求沖突在計算上不可能。也就是正向計算很容易盖高,而反向計算運算量太大慎陵,比如窮盡人類所有的計算資源還需要50年眼虱?
密碼學(xué)的幾個算法(HASH、對稱加密席纽、公私鑰)授予了弱小的個人在強權(quán)面前信息的安全捏悬。舉個例子,只要你一直使用https與國外站點通訊润梯,并注意對方的公鑰沒有被篡改过牙,G**W可以斷開你的連接,但它永遠(yuǎn)不可能知道你們的傳輸內(nèi)容是什么纺铭。
數(shù)據(jù)編碼格式
【Base58Check編碼】
好處是:1寇钉、提高可讀性,2舶赔、自帶校驗降低出錯率
所謂Base58編碼就是從Base64編碼(26小寫字母+26個大寫字母+10個數(shù)字+'+'+'/' = 64個字符)中去掉容易誤讀的扫倡,剛好還剩58個,加上生成的校驗竟纳,頭上加上版本號镊辕,成為最終的編碼數(shù)據(jù)。
明天繼續(xù) 蚁袭。征懈。。