個人理解的位元幣
最近幾天,看了一下有關位元幣的介紹,再此做一下筆記,
位元幣的的基本介紹
1.誕生
2008年11月1日,世界金融危機爆發,一位名叫"中本聰"的極客發表《位元幣:一種點對點式的電子現金系統》的文章(稱之為"白皮書"),提出了位元幣的概念和位元幣協議,從而標志著位元幣的誕生,
2.中心思想:一種去中心化記賬系統
現在主流的記賬系統為中心化記賬系統,比如銀行,生活在一個群體里的每個人都不需要知道其他人的賬戶資訊,記賬這一作業交由銀行來進行,
比如,在一個群體里,有A、B、C、D四個群體,A付給B10個BTC(位元幣),這個記賬資訊不必傳給C和D,只用將記賬資訊傳遞給銀行,由銀行來進行管理記賬資訊,

而位元幣是一種去中心化記賬系統,它的形象理解如下圖所示:

當A給B十個BTC后,沒有銀行這個中心記賬系統,A需要將這個交易資訊廣播給這個群體里的每一個人,
位元幣的三個基本問題
1.為何記賬?
2.以誰為準?
3.如何防偽?
1.為何記賬?
在位元幣交易系統中,沒有銀行這個中心記賬系統,為什么群體中的人要浪費時間和精力給你記賬呢?
答案:不是白記賬,有好處——記賬獎勵;規定用戶的其它人記賬會得到一定比率的手續費 ,而且還會有打包獎勵
1.1 關于打包和區塊鏈
如果在群體中A給B10BTC,B給C5BTC,C給D2BTC,這個時候它會生成一個賬單,這時我們將記賬資訊打包成一個"區塊",如下圖所示:

然后將此打包好的記賬資訊與之前的記賬記錄的區塊連接起來,就形成了區塊鏈,

而這個用戶群體里面的哪一個用戶完成了對當前交易記錄的打包,形成了區塊,并與之前的交易記錄連接起來,就形成了區塊鏈,就會得到打包獎勵,并向全網傳播此次完成的區塊鏈,
1.2 挖礦原理
位元幣設計者設計平均每10min打一個包,打包獎勵首四年是一次50個位元幣,然后后面的一個四年為25個,又后面一個四年就是12.個,按此每四年打包獎勵減少一半,總共位元幣的數量為2100萬個,而打包的這個程序就是所說的"挖礦程序",
那么如何挖礦呢?
相關函式:哈希函式:sha256加密:將一個輸入轉換成256為二進制數,加密方法特點:正向容易,反向困難,

如上圖所示,一個新的賬單資訊需要打包,此時又A、B、C三個人在嘗試打包,
挖礦程序就是一個解數學題的程序,具體步驟如下:
1.字串:前塊頭部+賬單資訊+時間+亂數
區塊包含一個頭部和資訊,,而此時用戶打包時,需要解的字串格式如上式所列,前四項是確定的,我們只有通過不斷地改變亂數這一項來進行解密,(故要求電腦運行性能計算能力快)
2.將上述字串通過sha256加密演算法加密,得到256位二進制數hash
3.要求前n(難度等級)位必需是0,若A、B、C三個人如果有人通過改變亂數項完成了要求,算出了規定的字串就形成了一個頭部,完成打包,獲得打包獎勵,挖礦成功,
1.3 難度等級n的設定?
n越大,難度越高,礦越不容易挖,但位元幣設計者規定平均每十分鐘可以打包出一個塊,所以難度等級n并不是一成不變的,而是根據當前算力在進行變化,故要想提高挖礦效率,就需要有更多算力的設備來挖礦,這樣從理論上講,提高了挖礦成功率,
2.以誰為準?
這么多人進行打包,那么最終形成的區塊鏈以誰為準呢?
答:規定以最先完成打包的人形成的區塊鏈為準
3.如何防偽?
1.身份認證
傳統的身份認證方式有:人臉、簽名、指紋
而位元幣采用電子簽名,示意圖如下:

首先用戶注冊,系統會生成亂數,并形成私鑰(注意這個需要保密),私鑰用于加密資訊,然后通過私鑰可以計算出公鑰(通過公鑰推不出私鑰,非對稱加密),公鑰用于解密私鑰加密的資訊,最后還會有地址,
別人給你錢:只需要你的地址
你給別人錢:需要公鑰和地址
eg:A給B十個BTC

首先A給B十個BTC通過加密獲得摘要,然后摘要通過私鑰加密得到密碼,
然后A將此交易資訊廣播出去,如何判斷訊息真偽,首先記錄資訊是已經公開的,通過HASH加密,獲得摘要1,然后還可以通過公鑰和密碼解密出摘要2,將摘要1和摘要2進行對比,看起是否相同就可以查出此條資訊的真偽,
2.雙重支付
1.余額檢查
由于用戶的賬單資訊區塊鏈是公開的,所以可以通過回溯用戶的區塊鏈來獲得該用戶的余額資訊,
2.雙重支付
問題:A給了10BCT給B,同時A又給10BTC給C,由于資訊傳遞速度不同,其他用戶接受到兩條訊息的順序也不同,如何確認那一條資訊為真,并作為區塊鏈呢?
答:等到其他用戶有一個幸運兒成功打包交易資訊,并形成區塊鏈,則以此用戶的訊息為準,其他正在嘗試打包的用戶,放棄打包此條訊息,
3.防止篡改
1.原則:最長鏈原則
用戶已最長的區塊鏈為準,并在此區塊鏈上繼續打包,使其不斷延長,
2.關于篡改

如圖,若當A給B10BTC后,A進行篡改資訊,從當前交易資訊之前開始打包出新的一條區塊鏈,由于最長鏈原則,其他用戶都在A給B10BTC這條打包資訊后進行打包,而A則單獨在另一條鏈上進行打包,此時A就相當于與全世界做對抗,若A新開辟的區塊鏈長于其它用戶共同打包的區塊鏈后,則表明篡改成功,但邏輯告訴我們,此時A擁有全世界超過50%的算力,完全可以沿著長的區塊鏈進行運算,而不會去做出篡改資料這種吃力不討好的作業,效益不高,
至此,位元幣介紹完畢
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/276673.html
標籤:區塊鏈
上一篇:語音識別天池新人賽
