什麼是區塊鏈

2021-09-27 04:57:38 字數 3049 閱讀 4361

什麼是區塊鏈?目前沒有看到很好的定義和介紹,網上要麼是講一些區塊鏈意義的空泛文章,比如「區塊鏈技術顛覆誰誰誰」、又或「網際網路已顛覆世界,區塊鏈要顛覆網際網路等等」,要麼就是通篇介紹位元幣,礦工,挖礦等。那麼區塊鏈到底是個什麼東西?它跟位元幣又有什麼關係呢?

其實區塊鏈本質上是乙個去中心化的分布式賬本資料庫。其本身是一串使用密碼學相關聯所產生的資料塊,每乙個資料塊中包含了多次交易有效確認的資訊。而位元幣就是基於區塊鏈技術的乙個應用。

這裡先丟擲幾個問題:

1、什麼叫去中心化的分布式資料庫?

2、資料區塊裡都有什麼?

3、如何利用密碼學保證區塊裡資料不會被篡改?

4、資料是不斷增加的,怎麼保證新增的資料被其他節點認可?

先看乙個中心化與分布式案例,搞it程式設計的都知道,目前版本控制軟體最流行的乙個是svn,乙個是git那它倆有什麼區別呢,如下圖:

svn是乙個集中式的伺服器,**的版本變更資訊都儲存在svn server服務端,每個客戶端磁碟裡只有眾多版本中的其中乙個版本,假如服務端壞掉了,那我們就丟失了版本變更記錄。

而git不一樣,它是沒有中心伺服器的,每個人機器上都是乙個完整的庫,裡面就有各個版本的變更資訊,我們開發完**以後先commit到本地倉庫,在push推送到遠端伺服器,假如遠端伺服器壞掉了,只需要把本地倉庫重新push一次即可,版本變更記錄還在。

區塊鏈也是這樣,沒有中心,分布在全球各地、能夠協同運轉的資料庫儲存系統,任何有能力架設伺服器的人都可以參與其中。來自全球各地的掘金者在當地部署了自己的伺服器,並連線到區塊鏈網路中,成為這個分布式資料庫儲存系統中的乙個節點。一旦加入,該節點享有同其他所有節點完全一樣的權利與義務(去中心化、分布式的特徵)。與此同時,對於在區塊鏈上開展服務的人,可以往這個系統中的任意的節點進行讀寫操作,最後全世界所有節點會根據某種機制的完成一次又依次的同步,從而實現在區塊鏈網路中所有節點的資料完全一致。

區塊作為區塊鏈的基本結構單元,由包含元資料的區塊頭和包含交易資料的區塊主體構成。

區塊頭包含三組元資料:

用於連線前面的區塊、索引自父區塊雜湊值的資料;

挖礦難度、nonce(隨機數,用於工作量證明演算法的計數器)、時間戳;

能夠總結並快速歸納校驗區塊中所有交易資料的merkle(默克爾)樹根資料。

大概每隔10分鐘,就會有乙個新的頁(區塊),所有的參與者都可以在這頁(區塊)上記賬,誰先最快記完賬,就可以把這個頁(區塊)新增到賬本(主鏈)裡,並得到一筆獎勵(比如位元幣,這就是所謂的挖礦)。而其他沒完成的參與者手裡的頁(區塊)就會作廢,只能繼續等待另乙個區塊產生,然後重新開始記賬。挖出每個區塊中也包含了前乙個區塊的id(識別碼),這使得每個區塊都能找到其前乙個節點,這樣一直倒推就形成了一條完整的交易鏈條。從誕生之初到執行至今,全網隨之形成了一條唯一的主區塊鏈。如下所示

這裡用到密碼學裡兩個東西:雜湊演算法和非對稱加密。

雜湊演算法有兩大特點:不可逆和無衝突。

所謂不可逆,就是當你知道x的hash值,無法求出x;

所謂無衝突,就是當你知道x,無法求出乙個y, 使x與y的hash值相同。而且只要x稍微有一丁點變化,計算出的hash值與x的hash值完全不一樣。

常見的加密演算法有兩種:對稱加密和非對稱加密。

對稱加密:該演算法在加密和解密時使用的是同乙個秘鑰,常見演算法有des、aes等。特點:加密解密簡單,速度快,一般用在資料量大又不太注重安全的場景。

非對稱加密:非對稱加密需要兩個金鑰來進行加密和解密,這兩個秘鑰是公開金鑰(public key,簡稱公鑰)和私有金鑰(private key,簡稱私鑰)。非對稱加密除了使用者資訊加密之外,還有乙個作用就是,身份驗證。過程如下,訊息傳送者先對訊息做雜湊運算,接著用私鑰加密處理。最後再把原訊息和加密後的訊息及公鑰傳送出去,訊息接受者先對訊息做雜湊運算,然後用公鑰解密訊息得到雜湊值,如果兩個雜湊值相同就代表訊息沒有被篡改過。常見演算法有rsa、dsa等。特點:加密解密速度慢,但是安全性較高,非對稱加密最經典的應用就是數字簽名。

上面的內容屬於密碼學基礎知識,接下來我們就看下在區塊鏈裡的應用:

第乙個創世區塊被建立以後,裡面有什麼無所謂。

從第二個區塊開始,區塊頭包含前乙個區塊的雜湊值,及這段時間內全網索引交易記錄(10分鐘左右),且每筆交易都有簽名,可以保證沒有被篡改過,區塊一旦被挖出,區塊裡的資料就不會在改變。否則區塊的雜湊值就會改變,而如果雜湊值改變,整個區塊鏈條就不再完整。

區塊鏈的邏輯很簡單,就是比誰更快。誰先計算出並新增到張波就給誰一定的獎勵。那如果有人做假賬,搞故意破壞怎麼辦,我們來看一下區塊鏈如何解決作弊行為:

1、交易資料驗證:上面介紹了非加密演算法,交易資訊都是使用非對稱加密演算法在節點之間傳輸,可以保證資料不會被篡改。

2、區塊驗證:區塊是前後相連的,修改之前區塊之後雜湊值變化無法再連到主鏈上,如果偽造最後乙個,後面所有區塊都要偽造,工作量太大。

3、分布式儲存:任何乙個節點都擁有全部交易資料,假如有人修改了某頁資料,必須得到51%以上節點的認可。

4、鏈有效性:如果有兩個節點同時計算出,這時候區塊主鏈會分叉,但是區塊鏈規定,誰先挖出6個區塊,就以誰為準,其他分叉作廢。

區塊鏈優缺點:

優點:1、去中心化,不需要第三方權威機構。

2、資料不可篡改,資料一旦存入區塊,將永久儲存,資料具有極高的穩定性和可靠性。(此特點也是缺點,資料不可撤銷。)

3、自製性,演算法公開透明,人為干預不起作用。

4、開放性,資料完全開放,任何節點都可以查詢區塊鏈內所有資料。(此特點也算缺點,可以查詢某個賬戶所有交易資料。)

5、匿名性,交易時無需公開身份讓對方相信自己。(此特點也算缺點,由於無需公開身份交易,又無需擔心交易過程,受到不少不法分子的喜愛。)

根據以上特點,區塊鏈應用場景並不是很多:

1、對資訊保安要求高但是對速度要求不高的金融,保險領域。

2、電子貨幣行業,比如位元幣、火牛幣等,這些幣種央行並不承認,無法兌換人民幣,投資有風險,購入需謹慎。

什麼是區塊鏈

區塊鏈又叫blockchain,是位元幣的核心技術與基礎架構。區塊鏈是乙個分布式網路,可以幫助多個節點達成共識。技術特徵 1 塊鏈式資料結構 2 分布式公式演算法 從技術層面杜絕了非法篡改技術的可能性。3 密碼學方式 保證資料傳輸和訪問的安全。儲存在區塊鏈上的交易資訊是公開的,賬戶的身份資訊是高度加...

什麼是區塊鏈

礦池,是位元幣礦工為了使挖礦收益更為穩定而結成的共同挖礦團體。現在單人挖礦已經不太可能挖出位元幣了。由於全網的算力增漲很快,單個礦工挖得位元幣的概率越來越低。當然,並不是沒有可能,只是概率很低。這意味著單個礦工需要很長時間才能挖到位元幣。而加入礦池,可以按自己貢獻的算力,從整個礦池的每份收益中分得一...

什麼是區塊鏈?

區塊鏈是什麼?本質上就是乙個分布式的資料庫 區塊鏈作用 1 訪問資料 2 去中心化 任何人都可以架設伺服器,加入區塊鏈網路,成為乙個節點。區塊鏈的世界裡面,沒有中心節點,每個節點都是平等的,都儲存著整個資料庫。你可以向任何乙個節點,寫入 讀取資料,因為所有節點最後都會同步,保證區塊鏈一致。分布式資料...