區塊鏈學習筆記(一)

2022-10-11 16:36:11 字數 1718 閱讀 3269

位元幣是一種加密虛擬貨幣,但是位元幣本身不加密,利用hash進行加密。是乙個分布式的支付系統。每個節點都維護乙個賬本,每次交易需要半數以上的節點通過,從而防止某個節點篡改賬本。

位元幣中用到的密碼學方法有兩個——hash和簽名

hash是整個區塊鏈的基礎。在位元幣中利用hash的hash resistance、hiding和puzzle friendly特性來實現加密

hash resistance就是指不存在高效的方法製造hash碰撞。hash resistance是理論上的。並不能證明,只是實踐上,對於乙個hash函式,沒有人找到一種高效構造hash碰撞的方法,那麼就說這個hash函式是hash resistance的。

hiding簡而言之就是說hash函式不存在逆函式,知道乙個hash值不能夠構造出被加密的值。如果輸入空間非常小,那就可以通過暴力求解的方式來找到輸入。在實踐中常常在前面加一串隨機數擴大輸入空間。

puzzle frendly就是沒有高效的辦法找到一種輸入來構造出所需特徵的hash值。這個特性可以用於工作量證明。挖礦的過程就是在尋找乙個nonce,這個nonce和區塊鏈中區塊頭里的其他元素合在一起取hash值,使hash值小於乙個指定的閾值(target)。想要找到這個nonce就只能暴力列舉。

difficult to solve,but essay to verify性質。就是講乙個nonce是非常難尋找的,但是找到之後將其發布出去,其他節點非常容易驗證。

位元幣中使用的hash函式是 sha-256

位元幣使用非對稱加密體系來實現簽名。每個節點有乙個發布出去的公鑰和乙個不發布的私鑰。公鑰用於加密,私鑰用於解密。如果節點a要給節點b傳送資訊,那麼就用b的公鑰進行加密,b拿到加密後的資訊後,再用私鑰進行解密。

在數字簽名技術中,對交易簽名(加密)用的是私鑰,驗證(解密)用的是公鑰。比如a發布了一次交易,那麼a用自己的私鑰對這次交易進行簽名,然後把簽名和交易資訊都發布出去,其他節點利用a的公鑰、簽名、交易資訊來進行驗證,就可以確定這筆交易確實是由a發布的。

位元幣的每個節點都要維護乙個共同的賬本,這個賬本就是區塊鏈的形式。

hash指標不僅儲存了乙個區塊的位址,也儲存了前一區塊的hash值。區塊鏈通過hash指標將一堆區塊連線起來。 每個hash指標儲存了前乙個區塊(包含前乙個區塊的hash指標在內所有資訊)的hash值。因為hash指標的這種計算方法,所以一旦修改了某乙個block中的內容,那麼這個block後面所有區塊的hash指標都會改變。想要驗證整個區塊鏈是不是被篡改該,只要比對一下最後乙個hash指標就可以了。這樣就只需要儲存最後乙個hash指標

merkle tree就是乙個二叉樹的形式,用hash指標來代替普通的邊。tx表示每個交易,對每個tx進行一次hash之後得到底層的hash值,然後每層都將下面兩層的hash值拼接起來取hash值得到父節點的hash值,最後得到乙個root hash。

在位元幣系統中,大部分節點都是輕節點,輕節點只儲存最近幾次交易的hash值。全節點儲存區塊鏈中的所有資訊。那麼如果a與b進行交易,a對b進行了一次轉賬交易,在圖中表示為黃色tx,然後a將這個交易帶上自己的簽名發布了出去,那麼b如果是乙個輕節點,如何驗證a確實進行了這次交易呢?b從附近全節點中獲取到所有紅色hash值。然後b計算出黃色的hash值,就可以得到綠色hash值,然後與a給的紅色hash值合併得到上方hash值,最終得到了根hash值,與全節點中儲存的根hash值進行比對,如果沒有問題說明確實進行了這次交易。

區塊鏈學習筆記(一)

1.區塊鏈到底有什麼意義?解決了哪些現有技術無法解決的問題?網際網路是資訊高速公路,解決了資訊互聯問題 區塊鏈是價值高速公路,解決了價值互聯問題。區塊鏈關鍵特徵就是 去中心 當然還有其他特徵如 分布式 放篡改 等,但去中心是最關鍵特徵。現有技術無法解決去中心問題。那為什麼非要去中心呢?這就不得不提到...

區塊鏈入門學習筆記(一)

1.位元幣產生的動機 2.基礎設施搭建 1 賬簿公開機制 賬簿不記錄餘額,只記錄交易。賬簿由私有改為公開。2 身份與簽名機制 公鑰加密系統 不使用真實身份交易,使用乙個唯一的代號進行交易 保密印章 印章掃瞄器 3 成立虛擬礦工組織 挖礦群體 礦工以組為單位,一組可以是單獨的一戶,也可以是幾戶聯合成一...

區塊鏈學習筆記

關於區塊鏈的概念早在2012年就聽說過了,但是當時並未引起重視,當下雖然很流行,但是仍無法看到應用在何方,粗略了解,先學習一點咯,只做一些筆記用來學習下吧 先過概念 區塊鏈是 分布式資料儲存 點對點傳輸 共識機制 加密演算法等計算機技術的新型應用模式。所謂 共識機制是區塊鏈系統中實現不同節點之間建立...