為了解決傳統的支付方式當中存在的「雙重支付」以及信任代價的問題,由中本聰的***當中提出了解決辦法:通過隨機雜湊雜湊並且對每一筆交易加上時間戳記,然後將所有的交易合併到乙個不斷延伸的基於隨機雜湊的工作量證明的鏈條作為交易記錄,除非重新完成所有的工作量證明,否則交易記錄不會改變。
由於傳統線上支付是通過第三方金融機構來進行支付的,金融機構的存在就是為了防止「雙重支付」的問題,該模式受制於基於信任的模型,在進行交易時增加了信任代價,而區塊鏈是基於密碼學的,而非基於信任,可以杜絕回滾。其主要的特點就是乙個基於點對點網路的、分布式的、擁有時間戳記的和伺服器的依照時間進行前後排列並加以記錄的電子交易證明。
交易資訊以區塊的方式存在,對區塊進行隨機雜湊加上時間戳記之後就可以進行全網廣播了,而時間戳記存在的意義是證實資訊在特定的時間是存在的。每乙個時間戳記都將上乙個加入其隨機雜湊值當中,並且對其增強,從而形成鏈。廣播的過程如下所示:
新的交易向全網廣播
將交易納入乙個區塊當中
節點進行工作量證明
當有乙個節點完成了工作量證明,將其向全網廣播
當且僅當在區塊中的所有交易有效且未存在過,則認為是有效的,所有節點認同
在該區塊的末尾,製造新的區塊,將這個區塊的隨機雜湊值加入到新的區塊當中
區塊鏈是由包含資訊的區塊從後向前有序鏈結起來的資料結構,可以被看做是乙個棧,第乙個區塊作為棧底的首區塊,隨後,每乙個區塊被放置在其上,高度表示區塊與首區塊之間的距離,頂部或頂端表示最新新增的區塊。對每乙個區塊進行加密雜湊,生成的雜湊值用來識別區塊鏈當中的對應區塊。每乙個區塊的區塊頭包含父區塊的雜湊值,用來引用前一區塊(父區塊)。
區塊結構
對應功能
區塊大小
用位元組表示該欄位之後的區塊大小
區塊頭表示區塊的各種資訊
交易計數器
表示交易的數量
交易記錄在區塊中的交易資訊
區塊頭內結構
對應功能
版本根據版本來進行後續操作
父區塊雜湊值
引用父區塊的雜湊值
難度工作量難度目標
時間戳記
區塊產生的近似時間
nonce
用來進行雜湊雜湊的數值
merkle
交易的merkle樹根的雜湊值
關於交易以及工作量證明的一些過程還不是特別清楚,學習之後再進行說明。
了解區塊鏈
區塊鏈 區塊鏈 區塊鏈技術是利用塊鏈式資料結構來驗證與儲存資料 利用分布式節點共識演算法來生成和更新資料 利用密碼學的方式保證資料傳輸和訪問的安全 利用由自動化指令碼 組成的智慧型合約來程式設計和運算元據的一種全新的分布式基礎架構與計算正規化。本質 區塊鏈技術就是乙個分布式的資料庫。乙個公開的記錄系...
區塊鏈之以太坊學習
區塊鏈通常被定義為去中心的分布式記賬系統,該系統中的節點無需互相信任,通過統一的共識機制共同維護乙份賬本。在前幾年,大家會關注位元幣而不會單獨談論區塊鏈這個技術。直到2015年,區塊鏈這一概念才被單獨提出來為更多人所了解,且向著更廣泛的應用場景發展。發生在這個時間點的主要原因之一是以太坊的出現和日益...
區塊鏈學習
區塊鏈是乙個分布式賬本,一種通過去中心化 去信任的方式集體維護乙個可靠資料庫的技術方案。2.1 數字簽名 使用數字簽名驗證交易物件身份。2.2 時間戳 位元幣網路採取從 5 個以上節點獲取時間,然後取中間值的方式作為時間戳。2.3 merkle tree 用於校驗資料完整性的二叉樹,葉子節點儲存交易...