區(qū)塊鏈筆記2.1

區(qū)塊鏈技術筆記第二彈(BTC)

共識機制之POW算法實現(xiàn)

PoW的目標是找出一個符合特定條件的數(shù)字龙致,這個數(shù)字很難計算出來,但容易驗證顷链。

以太坊Pow算法可以表示為如下公式:

RAND(h, n) <= M / d

其中RAND()表示一個概念函數(shù)目代,代表一系列的復雜運算。其中h和n為輸入,即區(qū)塊Header的哈希榛了、以及Header中的Nonce在讶。M表示一個極大的數(shù),此處使用2^256-1霜大。d构哺,為區(qū)塊難度,即Header中的Difficulty战坤。

因此在h和n確定的情況下曙强,d越大,挖礦難度越大(關聯(lián)開頭由多少個0位結尾途茫,位數(shù)越多難度越大)碟嘴,即為Difficulty本義。即不斷變更Nonce囊卜,使RAND(h, n)滿足RAND(h, n) <= M / d娜扇,即完成Pow。

我們先從一個簡單的demo入手進行學習栅组。

規(guī)定難度為00開頭雀瓢,隨機數(shù)設為P,當P遇PRE_DATA合并的數(shù)值Hash256后滿足難度笑窜,即完成解致燥。偽代碼如下:

def pow(DATA_HASH):? {

?proof=0

Now_proof=f'{DATA_HASH},{proof}'.encode()

NP_Hash=hashlib.sha256(Now_proof).hexdigest()

while NP_Hash[:2]=="00" ? is? False:

{

??????? proof+=1

??????? Now_proof=f'{DATA_HASH

??????? {proof}'.encode()NP_Hash=hashlib.sha256(Now_proof).hexdigest()????????

}

return? proof

}

當難度固定好后,采用不斷碰撞的方式來解出值排截,有了工作量機制作為驗證,再配以“節(jié)點定義”辐益、“發(fā)送交易”断傲、“挖礦”、“分布式統(tǒng)一”即可完成景點BTC的雛形結構

在BTC還有其他很多對于整個網(wǎng)絡的調(diào)節(jié)智政,具體詳見官方文檔认罩。如果有時間我會在后續(xù)文章簡要為大家剖析。

共識機制之挖礦原理(如何記賬)

所有的計算和存貯是需要消耗計算機資源的续捂,既然要付出成本垦垂,那節(jié)點為什么還要參與記賬呢?在中本聰(比特幣之父)的設計里牙瓢,完成記賬的節(jié)點可以獲得系統(tǒng)給與的一定數(shù)量的比特幣獎勵劫拗,這個獎勵的過程也就是比特幣的發(fā)行過程,因此大家形象的把記賬稱為“挖礦”矾克。

由于記賬是有獎勵的页慷,每次記賬都可以給自己憑空增加一定數(shù)量的個比特幣(當前是12.5比特幣,博文寫作時每個比特幣是4萬人民幣以上,大家可以算算多少錢)酒繁,因此就出現(xiàn)大家爭相記賬滓彰,大家一起記賬就會引起問題:出現(xiàn)記賬不一致的問題,比特幣系統(tǒng)引入工作量證明來解決這個問題州袒,規(guī)則如下:

一段時間內(nèi)(10分鐘左右揭绑,具體時間會與密碼學難題難度相互影響)只有一人可以記賬成功。通過解決密碼學難題(即工作量證明)競爭獲得唯一記賬權郎哭,其他節(jié)點復制記賬結果他匪,不過在進行工作量證明之前,記賬節(jié)點會做進行如下準備工作:

1. 收集廣播中還沒有被記錄賬本的原始交易信息

2. 檢查每個交易信息中付款地址有沒有足夠的余額

3. 驗證交易是否有正確的簽名

4. 把驗證通過的交易信息進行打包記錄

5.添加一個獎勵交易:給自己的地址增加12.5比特幣(白皮書規(guī)定彰居,一定區(qū)塊后改變)

如果節(jié)點爭奪記賬權成功的話诚纸,就可以得到12.5比特幣的獎勵。

驗證

在節(jié)點成功找到滿足的Hash值之后陈惰,會馬上對全網(wǎng)進行廣播打包區(qū)塊畦徘,網(wǎng)絡的節(jié)點收到廣播打包區(qū)塊,會立刻對其進行驗證抬闯。

如果驗證通過井辆,則表明已經(jīng)有節(jié)點成功解迷,自己就不再競爭當前區(qū)塊打包溶握,而是選擇接受這個區(qū)塊杯缺,記錄到自己的賬本中,然后進行下一個區(qū)塊的競爭猜謎睡榆。

網(wǎng)絡中只有最快解謎的區(qū)塊萍肆,才會添加的賬本中,其他的節(jié)點進行復制胀屿,這樣就保證了整個賬本的唯一性塘揣。

假如節(jié)點有任何的作弊行為,都會導致網(wǎng)絡的節(jié)點驗證不通過宿崭,直接丟棄其打包的區(qū)塊亲铡,這個區(qū)塊就無法記錄到總賬本中,作弊的節(jié)點耗費的成本就白費了葡兑,因此在巨大的挖礦成本下奖蔓,也使得礦工自覺自愿的遵守比特幣系統(tǒng)的共識協(xié)議,也就確保了整個系統(tǒng)的安全讹堤。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吆鹤,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蜕劝,更是在濱河造成了極大的恐慌檀头,老刑警劉巖轰异,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異暑始,居然都是意外死亡搭独,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門廊镜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來牙肝,“玉大人,你說我怎么就攤上這事嗤朴∨渫郑” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵雹姊,是天一觀的道長股缸。 經(jīng)常有香客問我,道長吱雏,這世上最難降的妖魔是什么敦姻? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮歧杏,結果婚禮上镰惦,老公的妹妹穿的比我還像新娘。我一直安慰自己犬绒,他們只是感情好旺入,可當我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著凯力,像睡著了一般茵瘾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上咐鹤,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天龄捡,我揣著相機與錄音,去河邊找鬼慷暂。 笑死,一個胖子當著我的面吹牛晨雳,可吹牛的內(nèi)容都是我干的行瑞。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼餐禁,長吁一口氣:“原來是場噩夢啊……” “哼血久!你這毒婦竟也來了?” 一聲冷哼從身側響起帮非,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤氧吐,失蹤者是張志新(化名)和其女友劉穎讹蘑,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體筑舅,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡座慰,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了翠拣。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片版仔。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖误墓,靈堂內(nèi)的尸體忽然破棺而出蛮粮,到底是詐尸還是另有隱情,我是刑警寧澤谜慌,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布然想,位于F島的核電站,受9級特大地震影響欣范,放射性物質(zhì)發(fā)生泄漏变泄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一熙卡、第九天 我趴在偏房一處隱蔽的房頂上張望杖刷。 院中可真熱鬧,春花似錦驳癌、人聲如沸滑燃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽表窘。三九已至,卻和暖如春甜滨,著一層夾襖步出監(jiān)牢的瞬間乐严,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工衣摩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留昂验,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓艾扮,卻偏偏與公主長得像既琴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子泡嘴,可洞房花燭夜當晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 前言 這段時間一直在做區(qū)塊鏈公鏈項目開發(fā)奖慌,主要是基于bitcoin-core源碼進行開發(fā),理解區(qū)塊鏈原理及基礎概念...
    Daemon_Shell閱讀 1,490評論 1 0
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom閱讀 2,701評論 0 3
  • 花香引松靡,蝶聞臨简僧, 魂縈夢繞盛妝迎。 盈盈笑靨撲面吻击困, 綿綿心語相思情涎劈。 ,
    efab227f5376閱讀 262評論 7 31
  • CCTV6的佳片有約阅茶,是我喜歡的欄目菩混,經(jīng)常會看到優(yōu)秀的影片阵谚。 這周的影片還是不錯的,里面的人物角色演繹的很精彩,不...
    9b0f7d7dc19b閱讀 348評論 0 0
  • 新學期開始害碾,每個父母眼里最放心不下的小小孩让腹,將正式踏入新的征程焦读,在這里他將融入新的集體仓蛆,適應新的環(huán)境,結交新的朋友...
    破繭成蝶我最棒閱讀 239評論 1 0