共識(shí)機(jī)制之POC(容量證明)

1、POC簡介: POC(Proof of Capacity),通俗來講是容量證明,類似于比特幣的POW共識(shí)機(jī)制,但與POW共識(shí)機(jī)制不同的是,POC共識(shí)機(jī)制采用磁盤空間存儲(chǔ)(相當(dāng)于使用緩存)代替內(nèi)存算力計(jì)算的方式挖礦,事先將算好的Hash值存儲(chǔ)到硬盤中(也稱為P盤),挖礦開始后,礦工根據(jù)最新區(qū)塊hash,上一區(qū)塊簽名,Target(類似于比特幣中的網(wǎng)絡(luò)難度)計(jì)算出deadline,然后跟錢包中查詢的deadline比較,若小于錢包中的deadline,則該挖礦挖礦成功(稍后詳細(xì)講解挖礦過程)。因此你的存儲(chǔ)空間越大,存儲(chǔ)該Hash的可能性越大。目前采用POC挖礦的主要有Burst、BHD、Volume等項(xiàng)目。Burst和BHD極為相似,都在POC的基礎(chǔ)上增加了條件,只有滿足條件才能,稱為CPoC(Conditioned-Proof of Capacity)。

2、POC的Plot文件生成與挖礦過程

? ? ? ?Plotting過程也稱為P盤,即是將生成的nonce存儲(chǔ)到磁盤文件的過程,相應(yīng)的文件又叫Plot文件,每一個(gè)Plot文件存儲(chǔ)著很多nonce,每一個(gè)nonce占據(jù)256KB的存儲(chǔ)空間。下面先闡述一下nonce如何神奇生成的,以及優(yōu)化過程。欲知nonce的生成,還是先來簡單了解一下Shable256函數(shù)吧。Shabal 算法也是一種hash算法,相對(duì) SHA256 或者其他 hash 算法,計(jì)算比較慢(存入硬盤花費(fèi)時(shí)間較多,計(jì)算較慢的話,不用等待即可存入),輸出為32個(gè)字節(jié)。也正是這樣,這個(gè)算法比較適合做 PoC 共識(shí)。是時(shí)候切入正題哦,nonce的生成,如下圖1->圖2->圖3所示。其中Plotter ID是賬戶ID(當(dāng)?shù)V工創(chuàng)建plot文件時(shí)必須提供賬戶ID),nonce nr為8字節(jié)的隨機(jī)數(shù)。一個(gè)nonce包含了8192個(gè)hash,為了加快查找,將8192個(gè)hash兩兩分組,每個(gè)分組為一個(gè)scoop,最終得到4096個(gè)分組,scoop 會(huì)被分配一個(gè)從 0 到 4095 的標(biāo)號(hào)數(shù)字。每次scoop的生成都在上個(gè)scoop的基礎(chǔ)上生成的,當(dāng)哈希函數(shù)輸入值(前幾輪的哈希結(jié)果+ID+隨機(jī)數(shù))大于4096字節(jié)后,之后將只取最新的4096個(gè)字節(jié)來進(jìn)行Shabal運(yùn)算。

圖1:第一輪 Shabal256(plotter, nonce)
圖2:第二輪?Shabal256(Hash #8191, plotter, nonce)
圖3:第三輪?Shabal256(Hash #8190 ,Hash #8191, plotter, nonce)??
圖4: 計(jì)算Final Hash??Shabal256(?Hash #0-Hash #8191)? ?


圖6: 獲得最終0-8191的hash


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 早上起床后婆婆說要回老家種菜, 二寶聽到了。 自己忙著找衣服找水瓶, 然后挎著奶奶的包朝著爸爸大聲吆喝: "爸爸爸...
    阿娟1979閱讀 395評(píng)論 0 1
  • 燕子覺得她自己無法確定適當(dāng)?shù)墓ぷ鞯攸c(diǎn)時(shí),仿佛有征求我意見的意思,而此時(shí)我頗強(qiáng)烈地感到我是不能要求別人做什么或做到什...
    冉冉狐生竹閱讀 175評(píng)論 0 0
  • 最近讀完了一本書《陪孩子一起閱讀》,是臺(tái)灣的一位牙醫(yī)和兩個(gè)雙胞胎女兒一起閱讀的故事,書中記錄了父女三人,平時(shí)閱讀、...
    冰鋒冰鋒閱讀 338評(píng)論 0 1
  • HTTP分為URI,HEADER,Body三個(gè)部分。每個(gè)部分都可以包含請(qǐng)求信息,那么每個(gè)部分是否都有請(qǐng)求大小限制呢...
    曹波波閱讀 16,476評(píng)論 1 4

友情鏈接更多精彩內(nèi)容