位元幣原理1

2021-08-21 03:33:32 字數 1409 閱讀 3542

雜湊函式:原始資訊 = > 摘要資訊同樣的原始資訊用同乙個雜湊函式總是能得到相同的摘要資訊,原始資訊的微小變化都會雜湊出面目全非的摘要資訊,從摘要資訊無法逆向推算出原始資訊。hash(序號,時間戳,交易資訊) => 雜湊值,雜湊函式的怎麼實現的?區塊:序號,時間戳,雜湊值 + 交易資訊10分鐘出塊雜湊值

hash(hash值 a, 上乙個區塊) = > hash值 b,以此為規則,根據交易次數傳遞下去可以實現區塊。

賬戶所有權問題

賬戶  < -   位址,json格式轉賬記錄

"付款位址 ": "da5dsa5g54rjk9"

"收款位址":「f8g75h3ht9rmh」

"金額"      :   "0.2btc"

乙個位址就是乙個賬戶,乙個位址有乙個私鑰,私鑰是怎麼產生的呢?rsa加密演算法,實現rsa加密演算法?

私鑰經過兩次雜湊運算可以得到賬戶位址,但是反過來就不行。

那麼問題是,賬戶所有者怎麼證明擁有這個賬戶,也就是說證明自己擁有這個私鑰,而又不洩露私鑰呢?通過非對稱 

加密技術做交易簽名 。簽名過程:

hash(交易記錄) => 摘要

hash('

"收款位址":「dad34sdafg」

"金額"       :  "0.2btc"

') -> 8a9dg5f1jh7h87

sign("摘要","付款方位址(私鑰)") -> 簽名;(簽名函式實現過程?)

交易發生後,付款的節點會在整個網路中廣播,廣播內容包括交易記錄 + 簽名,節點傳遞廣播內容,其他節點驗證交易記錄。

節點驗證過程:

verify("簽名資訊","付款方位址(公鑰)") -> 摘要(verify函式實現?)

if(verify("簽名資訊","付款位址")

== hash('

"收款位址":「dad34sdafg」

"金額"       :  "0.2btc"

#寫入賬本(競爭記賬,挖礦)

#廣播else:

#do nothing

挖礦:記賬的節點會獲取位元幣獎勵,記賬獎勵的過程就是位元幣發行的過程、一次記賬獎勵12.5btc。位元幣10分鐘記賬一次

通過工作量證明競爭獲得唯一記賬權。其他節點複製記賬結果。

工作量證明:

hash(上乙個hash值,交易記錄集) = hash值

hash(上乙個hash值,交易記錄集,隨機數) = 滿足前18位是0的雜湊值。最新找打滿足條件的hash值的節點就獲得唯一記賬權(給自己挖礦獎勵的轉賬)。

共識機制:如果兩個節點同時完成工作量證明,使用誰的區塊?節點工作量只有在其他的節點認同才是有效的。

累計工作量最大的區塊鏈。(工作量怎麼度量?)

如果鏈出現分叉,會在廣播過程中發現最長的子鏈。

位元幣原理詳解

一 什麼是位元幣 位元幣是一種電子貨幣,是一種基於密碼學的貨幣,在2008年11月1日由中本聰發表位元幣 文中提出了一種去中心化的電子記賬系統,我們平時的電子現金是銀行來記賬,因為銀行的背後是國家信用。去中心化電子記賬系統是參與者共同記賬。位元幣可以防止主權危機 信用風險。其好處不多做贅述,這一層面...

位元幣原理一(四個問題)

一 賬本如何驗證 哪乙個賬本是有效的 假如有這樣乙個賬本 賬號收入 支出餘額 王二100 100張三 10030 李四120 90110 趙五300 600這樣的乙個賬本,分別存在於王 二 張三 李 四 趙五的電腦中。在這時可能有人會增加自己的餘額,比如張三偷偷把自己的餘額從30改為300,這樣網路...

一段程式看懂位元幣原理

自從位元幣火起來以後,網上對位元幣的解釋可謂汗牛充棟,紛繁複雜。但對於程式設計師來說,最直接的方式莫過於直接看程式 了。嫌位元幣 龐雜沒關係,我找到一段簡明扼要的 用來理解位元幣再好不過了。以下這段程式 知乎上wu hao的回答。function mine function sendbtc amou...