自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

比特幣挖礦技術(shù):分布式數(shù)據(jù)存儲、點對點傳輸、共識機制、加密算法...

存儲 存儲軟件 區(qū)塊鏈 分布式 算法
區(qū)塊鏈具有數(shù)據(jù)運行公開、不可篡改、可溯源、跨國際、去中心化的特點。因此越來越多地被應(yīng)用在各個領(lǐng)域。區(qū)塊鏈主要技術(shù)包括:分布式數(shù)據(jù)存儲、點對點傳輸、共識機制、加密算法,將在下面一一介紹。

1. 說明

區(qū)塊鏈具有數(shù)據(jù)運行公開、不可篡改、可溯源、跨國際、去中心化的特點。因此越來越多地被應(yīng)用在各個領(lǐng)域。區(qū)塊鏈主要技術(shù)包括:分布式數(shù)據(jù)存儲、點對點傳輸、共識機制、加密算法,將在下面一一介紹。

2. 點對點傳輸

點對點技術(shù)(peer-to-peer, 簡稱P2P)又稱對等互聯(lián)網(wǎng)絡(luò)技術(shù),它依賴網(wǎng)絡(luò)中參與者的計算能力和帶寬,而不是把依賴都聚集在較少的幾臺服務(wù)器上。最典型的應(yīng)用就是電驢。在這里它提供了***層的去中心化支持。

[[222413]]

3. 分布式數(shù)據(jù)存儲

先看看對區(qū)塊鏈最直觀的感覺:當***次運行比特幣錢包時,會下載很多數(shù)據(jù),2017年10月有150G左右,且還在不斷增加。數(shù)據(jù)存儲在data/blocks目錄下,blk*.dat這就是區(qū)塊block。

***個問題是:為什么建礦池需要下載這么多數(shù)據(jù)?區(qū)塊鏈本質(zhì)上是一個去中心化的數(shù)據(jù)庫,我們下載的是比特幣所有數(shù)據(jù)所組成的數(shù)據(jù)庫,因此很大。去中心化的數(shù)據(jù)庫,數(shù)據(jù)并不是保存在某一個服務(wù)器上,而且在P2P的每個節(jié)點上都需要保存一份。對于中心化的數(shù)據(jù)庫,數(shù)據(jù)庫可能被宿主或者黑客篡改,因而可靠性變差。而去中心化數(shù)據(jù)庫就像一個公共帳本,所有人都能查看,但沒人能私自修改以往數(shù)據(jù),因為它不可能修改分散在其他人機器上的數(shù)據(jù)庫。在某個數(shù)據(jù)與其它數(shù)據(jù)庫不一致時,則以大多數(shù)一致的為準,這就是所謂的“共識機制”。

隨著交易增加,錢包還會不斷變大。太大之后,會用到硬分叉技術(shù)。也就是啟用一個全新的網(wǎng)絡(luò)并讓所有的用戶大規(guī)模遷移。

4. 區(qū)塊鏈(blockchain)

區(qū)塊鏈是一串使用密碼學(xué)方法相關(guān)聯(lián)產(chǎn)生的數(shù)據(jù)塊,每一個數(shù)據(jù)塊(block)中包含了一次比特幣網(wǎng)絡(luò)交易的信息,用于驗證其信息的有效性和生成下一個區(qū)塊(根據(jù)一個生成下一生,構(gòu)成鏈chain)。

所謂挖礦就是計算出一個滿足規(guī)則的隨機數(shù),從而獲得本次記帳權(quán),發(fā)出本輪需要記錄的數(shù)據(jù),然后向全網(wǎng)廣播,每個節(jié)點都會將收到交易信息,并記錄到一個區(qū)塊中,然后鏈接到現(xiàn)有的區(qū)塊鏈上。

5. 算法

哈希算法是一個字符串到一個(有限位數(shù)的)數(shù)的映射。

Block的算法是根據(jù)上一個block的hash值,尋找滿足某些hash結(jié)果的字符串,簡單的說就是不停地拼湊字符串,計算SHA256哈希值(碰撞哈希值),直到找到產(chǎn)生合適的哈希的字符串,這個字符串就是解。具體公式如下:

  1. SHA256(SHA256(version + prev_hash + merkle_root + ntime + nbits + x )) < TARGET 

挖礦就是求解上述方程中的x。

其中,version是block的版本,prev_hash是上一個block的hash值,merkle_root是需要寫入的交易記錄的merkle樹的值(merkle樹被應(yīng)用在了交易的存儲上,其基本原理就是將葉子節(jié)點(每筆交易的hash)兩兩配對做哈希運算生成父節(jié)點,不斷迭代這一過程最終生成唯一的根節(jié)點merkle root),ntime是更新時間,nbits是當前難度,TARGET根據(jù)當前難度求出。x的范圍是0~2^32,這就是個求解x的問題,一旦你找到了x,你就可以廣播一個新的block。

TARGET越小,解出x的難度就越大,每產(chǎn)生2016個block(約14天),網(wǎng)絡(luò)會根據(jù)這段時間產(chǎn)生新block的平均間隔調(diào)整之后的TARGET,以保證每10分鐘產(chǎn)生一次的速度。因此,隨著網(wǎng)上算力的不斷增加,計算難度會越來越大,礦也越來越難挖了。

如果兩人同時挖到,block chain會出現(xiàn)分叉,客戶端在眾多分支中找到符合當前難度且最長的。

6. 安全機制

1) 私鑰

私鑰是形式如下的一段字符串:

5KYZdUEo39z3FPrtuX2QbbwGnNP5zTd7yyr2SC1j299sBCnWjss。只要是正確支持比特幣協(xié)議的應(yīng)用都可以把這段字符串識別為私鑰,轉(zhuǎn)換成公鑰,再轉(zhuǎn)換為地址,如果對應(yīng)的地址上面有比特幣,就可以使用這個私鑰花費上面的比特幣。一般被盜指的都是私鑰被盜。

2) 公私

公鑰是由私鑰生成的,一個私鑰經(jīng)過橢圓曲線變換之后會生成一個65個byte的數(shù)組,一般我們會看到這樣形式的一個公鑰:04a34b99f22c790c4e36b2b3c2c35a36db06226e41c692fc82b8b56ac1c540c5bd5b8dec5235a0fa8722476c7709c02559e3aa73aa03918ba2d492eea75abea235

操作是用私鑰簽名的,只有對應(yīng)的公鑰才能解開,地址也是從公鑰生成的,這樣就可以驗證操作是不是屬于這個地址的。

3) 地址

地址是由公鑰產(chǎn)生的,生成的過程是,先對公鑰做一次SHA256,對得到的結(jié)果做一次RIPEMD160,再從結(jié)果中取20個byte的數(shù)組,這個得到的數(shù)組就是得到的hash160,形如:9a1c78a507689f6f54b847ad1cef1e614ee23f1e

4) 流程

從你這里發(fā)出的數(shù)據(jù)都是由私鑰加密的(包括挖到礦的廣播,轉(zhuǎn)帳等等),傳數(shù)據(jù)的時候也會傳一個公鑰,通過這個公鑰解密。如果公/私鑰能對上,就可以證明你的身份。公鑰是大家可見的,而私鑰被盜,那么別人就可以用你的身份交易了。具體加解密和密鑰導(dǎo)入導(dǎo)出方法請見后續(xù)“錢包”篇。

7. 挖礦與深度學(xué)習(xí)

1) 組織算力

挖礦和深度學(xué)習(xí)都需要組織算力。在運算量大時都需要構(gòu)建集群,拆分計算,集成結(jié)果等等。

2) 硬件基礎(chǔ)

挖礦和深度學(xué)習(xí)都是數(shù)學(xué)模型計算,它們對于大規(guī)模學(xué)習(xí)的解決方案都是:顯卡,F(xiàn)PGA,ASIC。當然功能并不完全相同,深度學(xué)習(xí)需要矩陣乘法,卷積等基本運算,而挖礦主要是hash碰撞。都需要并行性、多線程和高內(nèi)存帶寬等特性,雖然功能相近,但硬件還是有不少的差別。硬件說明詳見后續(xù)“控制器與礦機”篇。

責(zé)任編輯:武曉燕 來源: 算法學(xué)習(xí)
相關(guān)推薦

2018-05-23 16:00:10

2018-12-24 10:04:32

區(qū)塊鏈數(shù)據(jù)存儲分布式記賬

2018-08-30 18:30:19

區(qū)塊鏈思維中心化

2021-03-04 17:55:27

算法Raft分布式

2018-11-08 10:10:17

區(qū)塊鏈數(shù)字貨幣比特幣

2021-11-10 15:23:48

比特幣加密貨幣貨幣

2018-10-09 10:45:40

2018-03-23 08:29:55

存儲系統(tǒng)區(qū)塊鏈分布式

2022-01-21 16:30:45

比特幣挖礦加密貨幣

2021-03-09 09:53:19

分布式存儲雙重RAID機制

2021-08-13 15:14:04

比特幣虛擬貨幣加密貨幣

2022-06-08 13:11:35

比特幣挖礦區(qū)塊鏈

2019-12-18 14:45:56

區(qū)塊鏈技術(shù)存儲

2023-08-04 07:28:00

2022-10-21 13:55:18

Paxos分布式系統(tǒng)

2018-11-15 16:45:54

2015-05-20 15:54:04

Openstack分布式存儲

2019-10-10 09:16:34

Zookeeper架構(gòu)分布式

2018-05-03 20:55:47

區(qū)塊鏈分布式數(shù)據(jù)庫

2021-08-16 15:54:55

算法比特幣加密貨幣
點贊
收藏

51CTO技術(shù)棧公眾號