進入P2P網絡,為了保護你的比特幣不被彆人隨意拿走,那必然就需要個密碼。
而比特幣的密碼那可就厲害了。
每個人先會有一個隨機生成的數,這個數介於0-2的256次方之間,出現的可能比全宇宙中原子的數量還多,所以再頂尖的黑客,也不可能去破譯它,安全性極高。
接著出場的是一種叫base58的58進製算法。
啥叫58進製,比如二進製是0和1,十進製是1到10,十六進製實在十進製的基礎上加上了A-F六個字母。
而58進製則是包含了數字,小寫英文字母和大寫英文字母。
通過這種算法把之前所說的那個隨機數變成字符串,看起來和那些“神秘代碼”差不多,但還要複雜上許多。
最終得到的這個字符串就是你得私鑰,也就是你的“賬戶密碼”
既然有了密碼,那就還得有賬戶,在私鑰的基礎上,再通過一種橢圓曲線ET的算法算出一個公鑰,這就是你的賬戶了。
最後再在公鑰的基礎上通過算法算出一個相對較短的字符串作為你的地址,你就可以開始交易了。
需要收錢,就把地址告訴對方,想付錢則需要告訴彆人你的公鑰和地址,其中公鑰的作用是為了檢驗這地址是不是你的。
而想要從公鑰推算出私鑰那是不可能的事情,數字太龐大了。
“還真是越安全的交易方法越複雜。”聽完比特幣的核心機製,吳斌感慨了一句,接著問:“那怎麼解決通貨膨脹問題呢?”
“簡單。”李岩打了個響指,“比特幣的數量是有限的,而這個控製他發行速度和數量的機製,就是所謂的挖礦了。”
“特定算法?”吳斌問。
“嗯,差不多,既然有了大量交易,那就得有人整理賬簿,在比特幣裡,這個賬簿叫做區塊鏈,其中每一個區塊都對應一個賬單,任何交易信息和轉賬記錄都記錄在這區塊鏈中。”
“每隔一個時間點,比特幣係統就會在係統節點上生成一個隨機代碼,互聯網中的所有計算機都可以去尋找此代碼,誰找到此代碼,就會產生一個區塊,隨即得到一個比特幣,這個過程就是人們常說的挖礦。”
說到這李岩敲了敲吳斌電腦屏幕上的顯卡配置,說:“而這個算法,就是要用到顯卡的地方。”
“將這一區塊的版本號,上一區塊的哈希值,交易地址,更新的時間以及當前難度與一個隨機數X進行sha256函數運算,而Sha256函數可以將任意字符串通過加密得出一個64位的16進製數。”
“最終出來的數如果小於給定的目標值,那就是成功了,並獎勵一個比特幣。”
“哦對了,這個挖出來的比特幣,和你聽說的那種一個就能賣好幾千的可不是同一個‘1’,這個比特幣是基於目前的數據結構,被分割到8個小位數的。”
“所以就是0.00000001個?”吳斌想了想說。
李岩點點頭:“是的,預計到2140年,比特幣將發行2100萬個,名副其實的金山,一座座人人可以挖的金山。”說完李岩突然搖搖頭:“可惜啊,這本來是一個挺有意思的數學題,但現在已經被礦場壟斷了,那位創始人想象中的‘去中心化’‘人人平等’‘算力民主’都成了泡沫。”
回憶完,吳斌默默卸載了Bitiner,原本他是想著能不能研究出來一個更好的算法來更快算出結果的。
然而最終他發現所謂的挖礦算法,聽起來複雜無比,其實就是猜數字,固定而簡單,並不存在什麼可以改進的地方。