區塊鏈入門教程


區塊鏈入門教程

一, 區塊鏈介紹

  1, 區塊鏈的最大特點

  2, 區塊鏈的組成

二,Hash加密算法

  1, 什么是hash?

  2,Hash最后的推論

三, 以太坊

  1,什么是以太坊

 四,智能合約

  1,什么是智能合約

前言:

  17年底后區塊鏈迅速成為一個熱門的話題,最近在入門學習區塊鏈,在網上和書籍上整理了一些知識寫成文章分享給大家,文章參考書籍《區塊鏈技術指南》機械工程出版社。

   

一,區塊鏈

1,區塊鏈介紹

區塊鏈的本質,區塊鏈是什么?一句話就是它就是一個分布式存儲數據庫,是一個不可篡改的,區塊鏈主要是存儲數據信息,只要需要都可以存儲在區塊鏈中,你也可以向區塊鏈讀取數據,所以它是一個特殊的數據庫。

任何人都可以架設服務器創建自己的節點,加入區塊鏈網絡成為當中的一個節點,在區塊鏈中是沒有中心節點的,每個節點都是平等的,你可以向任何一個節點寫入(需要有區塊)或讀取數據,最后所有節點數據都會更新同步,數據都會保持一致。

 

2,區塊鏈的最大特點

去中心化:區塊鏈是一個完全去除中心化的,在區塊鏈中是沒有中心節點的,每個人都是管理員,如果有人想對它添加審核,是實現不了的,因為區塊鏈最初的設計就是去除中心化,防止出現居於中心地位的管理員當局。

去中心化說白了就是,比如現在你所使用的QQ,它的中心就是騰訊所管理的, 如 果騰訊服務器一癱瘓,QQ整個就是不能用的,但是在區塊鏈中是不存在 的只要一 個節點存活區塊鏈就不會掛掉。

人人都能參與進區塊鏈:在區塊鏈中只要你創建節點,連接其他節點,你就是區塊鏈的一員了。

 

 

3,區塊鏈的組成

區塊:區塊鏈是由一個個區塊(block)組成的。區塊就是數據庫,每次寫入數據就是創建一個區塊。每個區塊分為兩個部分:

區塊頭(head):記錄當前區塊的特征值。

區塊體(body):實際數據。

·區塊結構

區塊頭包含當前區塊的多項特征值:

· 生成時間(時間戳)

· 實際數據(即區塊體)的哈希

· 上一個區塊的哈希

區塊鏈的鏈接其實跟數據結構中的雙鏈表挺像的。這里你需要理解什么是哈希(hash),這是理解區塊鏈必需的。

 

二,什么是哈希(hash?

Hash是密碼學中的一門技術,稱之為散列函數或散列算法又稱哈希函數(英文:Hash Function),散列函數把消息或數據壓縮成摘要,使數據變小,將數據的個數固定下來,然后將數據打混亂,重新創建一個叫做散列值(hash value)的指紋,散列值通常用一個短的隨機字母和數字組成的字符串代表。好的散列函數在輸入域中很少出現散列沖突。

所謂“哈希”就是隨機數可以對如何內容,計算出一個長度相同的特別的值。區塊鏈的哈希長度是256位,這就是說不管原始內容是什么都會計算出一個256位的二進制數字。而且可以保證只要元原始內容不同,對應的哈希也一定是不同的。

哈希是不可逆的,比如字符串“123”加密后將生成一竄字符“a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0”,

字符串“123”可以獲得“a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0,

但是“a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0”獲得不到“123”原始值。

(理論上,其它字符串也可能獲得同樣的hash值,但是這樣的概率很低,可以說是不存在的)

最后的推理:

1,每個區塊的哈希都是不一樣的,所以可以使用hash來標識。

2,如果區塊變了,hash也會跟着改變。

三,什么是以太坊?

以太坊(Ethereum)是建立在區塊鏈技術之上去中心化的應用平台,它允許任何人在平台上建立和使用通過區塊鏈技術去中心化應用。

在沒有以太坊之前開發區塊鏈應用是這樣的:拷貝一份比特幣的代碼,然后去更改底層的加密算法,公識機制,網絡協議等。

以太坊平台對底層區塊鏈技術進行的封裝,讓區塊鏈應用開發可以直接基於以太坊開發,開發者只要專注於應用本身的開發,從而降低了難度。

以太坊具有4中專用語言:Serpent(受Python啟發)   Solidity (受JavaScript啟發)  Mutant  (受go啟發)

 

 

 

四,什么是智能合約?

 

智能合約是一套以數字形式定義的承諾,承諾控制着數字資產並包含了合約參與者約定的權利和義務,由計算機執行。

也可以理解為是個雙方打賭的中間人,比如,你規定合約內容是,明天中午12點判斷天氣是否和天氣預報一樣,如果是多雲天氣的話,超過一半雲就算多雲,否則不算。當第二天中午12點合約執行,如果你贏了,錢會自動打到你賬上。一切解決。

例子舉得比較簡單,但你可以領會到智能合約能解決的一些問題。

 

 

 

 

總結:區塊鏈是一個無人管理的數據庫,目前以運行8年之久,沒有出現過大問題。這證明它是可行的。

為了數據的可靠性,區塊鏈也要付出代價,一是效率 數據存入區塊鏈,最少需要等待10分鍾,數據才能才能同步在全部節點上。二是能耗,區塊的生成需要礦工進行無數無意義的計算,這是非常消耗能源的。

因此,區塊鏈適應環境其實非常有限。

1,不存在所以成員都信任的管理當局。

2,寫入的數據不要求實時使用。

3,挖礦的收益能夠彌補本身的成本。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM