大話區塊鏈與位元幣

2021-09-24 13:12:33 字數 3997 閱讀 7091

區塊鏈(blockchain)是分布式資料儲存、點對點傳輸、共識機制、加密演算法等計算機技術的新型應用模式。

區塊鏈是位元幣的乙個重要概念,它本質上是乙個去中心化的資料庫,同時作為位元幣的底層技術。

2023年由中本聰第一次提出了區塊鏈的概念。位元幣***英文原版其實並未出現 blockchain 一詞,而是使用的 chain of blocks。最早的位元幣***中文翻譯版中,將 chain of blocks 翻譯成了區塊鏈。這是「區塊鏈」這一中文詞最早的出現時間。

區塊鏈的本質是乙個分布式的公共賬本,任何人都可對這個賬本進行核查,但不存在單一的使用者可以對它控制。在區塊鏈系統中的參與者共同維持賬本的更新:它只能按照嚴格的規則和共識進行修改。

舉例:如果張三借了李四100塊錢,這個時候,張三在人群中大喊「我是張三,我借給了李四100塊錢!」,李四也在人群中大喊「我是李四,張三借給了我100塊!」此時路人甲乙丙丁都聽到了這些訊息,因此所有人都在心中默默記下了「張三借給了李四100塊錢」。這個系統中不需要銀行,也不需要借貸協議和收據,嚴格來說,甚至不需要人與人長久的信任關係(比如李四突然又改口說「我不欠張三錢!」,這個時候人民群眾就會站出來說「不對,我的小本本上記錄了你某天借了張三100塊錢!」)。

這是乙個去中心化的系統,整個系統中沒有了權威的中心化**,資訊的可信度和準確性便會面臨問題。

可能你已經發現了,在上述的模型中,所謂的「100塊錢」已經不重要了。換句話說,任何東西都可以在這個模型中交換,甚至你可以憑空杜撰乙個東西,只要大家承認,你就可以讓你杜撰的東西流通。比如:我在人群中高喊一聲「我創造了10個查克拉!」,我甚至不需要知道查克拉是什麼,也不需要關心世界上是不是真的有查克拉,只要大家都聽到,然後在自己的小本本上記下「某某有10個查克拉」,於是我就真的有10個查克拉了。從此以後,我便可以聲稱我給了某人1個查克拉,只要路人甲乙丙丁都收到並且承認了這一資訊,那我就算完成了這次交易,哪怕世界上沒有查克拉。又比如:「位元幣」,區塊鏈是位元幣的底層技術,真正的區塊鏈和位元幣比上述的模型複雜太多,細節也豐富太多。

但是存在以下問題:假設過了很長一段時間,憑空創造的查克拉已經在這個系統中流通了起來,大家都開始認可了查克拉。但是這個系統中一共就只有10個查克拉,於是有人動了壞心思,他在人群中高呼「我有10個查克拉!」怎麼辦?大家是直接在本本上記下他有10個查克拉麼,這樣不是人人都可以偽造查克拉了麼?

為了防止這種現象發生,決定在我創造查克拉的時候給我的查克拉打上標記(更準確地說,我是給我喊的那句「我創造了10個查克拉」打上標記,比如標記為001),這樣以後在每一筆交易的時候,我在高喊「我給了某某1個查克拉!」的時候,會附加上額外的一句話:「這1個查克拉的**是記為001的那條記錄,我的這句話標記為002!」。我們再抽象一點,某人喊話的內容的格式就變成了:「這句話編號***,上一句話的編號是yyy,我給了某某1個查克拉!」,這樣就解決了偽造的問題。其實上述模型就變成乙個簡化的中本聰第一版位元幣區塊鏈協議。

「憑啥你喊一句話我就幫你記?我的小本本不要錢麼?」。為了激勵大家幫我傳話和記賬,我決定給第乙個聽到我喊話並且記錄在小本本上的人一些獎勵:第乙個聽到我喊話並記錄下來的人,你就憑空得到了1個查克拉,這個查克拉是整個系統對你幸苦記賬的報酬,而你記錄了這句話之後,要馬上告訴其它人你已經記錄好了,讓別人放棄繼續記錄這句話,並給你自己的記錄編號讓別人有據可查,然後你再把我的話加上你的記錄編號一起喊出來,供下乙個人記賬。

當這個規則定下以後,這個系統中一定會出現一批人,他們開始豎著耳朵監聽周圍發出的聲音,以搶占第乙個記賬的權利。比如概念 「位元幣挖礦」。畢竟2023年5月1位元幣=45000元

在這個系統中,如果我和張三幾乎同時地喊出一句:「為了艾澤拉斯!」。由於聽眾所處的位置不同,一定會有人先聽到我說的那句話,而另外一些人則先聽到張三的那句話,如果我們規定只能有乙個人說出這句話,那到底這句話是誰說的?

如果不加任何條件,那麼上述的情況一定會這樣發展:一部分人認為這句話是我說的,在聽到這句話之後開始記賬,之後他們所做的所有事情都是基於這個事實,並且隨著這個資訊一次次的傳下去,這條資訊鏈會越來越深;而另外一群認為是張三先說這句話的人,也會按照這樣的趨勢發展。這樣,原本是一條唯一的資訊鏈在我們喊出「為了艾澤拉斯」這句話之後,分叉了?

現在的規則是,新節點總是採用最長的那條區塊鏈。如果區塊鏈有分叉,將看哪個分支在分叉點後面,先達到6個新區塊(稱為」六次確認」)。按照10分鐘乙個區塊計算(後面會講為什麼是10分鐘),一小時就可以確認。

從前的信任靠的是信譽、靠百年老店、權威機構等,如果運用上區塊鏈的技術,就能從技術的角度實現的,例如:個人信用,防偽溯源手段、貨幣等。同時區塊鏈具有多方共識,交易溯源,不可篡改等技術特點,使它在確保資訊可信、安全、可追溯等方面具有傳統技術不可比擬的優勢。

(1) 區塊鏈的本質

區塊鏈是一種特殊的分布式資料庫。

首先,區塊鏈的主要作用是儲存資訊。任何需要儲存的資訊,都可以寫入區塊鏈,也可以從裡面讀取,所以它是資料庫。

其次,任何人都可以架設伺服器,加入區塊鏈網路,成為乙個節點。區塊鏈的世界裡面,沒有中心節點(去中心化),每個節點都是平等的,都儲存著整個資料庫。你可以向任何乙個節點,寫入/讀取資料。

(2) 區塊鏈的最大特點

區塊鏈沒有管理員,它是徹底無中心的其他的資料庫都有管理員,但是區塊鏈沒有。如果有人想對區塊鏈新增審核,也實現不了,因為它的設計目標就是防止出現居於中心地位的管理當局。

沒有了管理員,人人都可以往裡面寫入資料,怎麼才能保證資料是可信的呢,這就是區塊鏈奇妙的地方。

(3) 區塊

區塊鏈由乙個個相連的區塊(block)組成。區塊很像資料庫的記錄,每次寫入資料,就是建立乙個區塊。

每個區塊包含兩個部分:

區塊頭(head):記錄當前區塊的元資訊

區塊體(body):實際資料

(4) hash 的不可修改性區塊與 hash 是一一對應的,每個區塊的 hash 都是針對」區塊頭」(head)計算的。

區塊頭包含很多內容(包括上乙個區塊的hash、當前區塊體的hash等,見上圖)。這意味著,如果當前區塊的內容變了,或者上乙個區塊的 hash 變了,一定會引起當前區塊的 hash 改變。

如果有人修改了乙個區塊,該區塊的 hash 就變了。為了讓後面的區塊還能連到它,必須同時修改後面所有的區塊,否則被改掉的區塊就脫離區塊鏈了。hash 的計算很耗時,同時修改多個區塊幾乎不可能發生。

正是通過這種聯動機制,區塊鏈保證了自身的可靠性,資料一旦寫入,就無法被篡改。這就像歷史一樣,發生了就是發生了,從此再無法改變。

(5) 採礦

區塊鏈的發明者故意讓新增新區塊,變得很困難。他的設計是,平均每10分鐘,全網才能生成乙個新區塊,一小時也就六個。

這種產出速度不是通過命令達成的,而是故意設定了海量的計算。也就是說,只有通過極其大量的計算,才能得到當前區塊的有效 hash,從而把新區塊新增到區塊鏈。由於計算量太大,所以快不起來。

這個過程就叫做採礦,因為計算有效 hash 的難度,好比在全世界的沙子裡面,找到一粒符合條件的沙子。計算 hash 的機器就叫做礦機,操作礦機的人就叫做礦工。

原文出自:

區塊鏈與位元幣

我對位元幣的理解分為兩個方面,既是一種交易體系,也是貨幣單位。而區塊鏈是是一種分布式資料庫,具有高度安全性。我先從區塊鏈談起,再介紹位元幣。區塊鏈技術是一種分布式資料庫。我們生活中經常與分布式資料打交道,例如雲儲存,伺服器架構等等。對於這種應用,安全性的考量都是出自於硬體安全,例如一台伺服器崩了,資...

區塊鏈 位元幣與區塊鏈學習

什麼是位元幣 位元幣是中本聰2009年提出的乙個點對點的數字加密貨幣系統。但是,這個定義背後的內涵和外延非常豐富。遠不是這一句話能夠概括的。我們可以從多種不同的視角,不同的方面,不同的層次去看它,看到不一樣的東西。打個比方,就像乙個建築物,可以從物理,力學,建築學,文化,社會等等角度去看它,都可以看...

位元幣 區塊鏈

區塊鏈 一種實時記錄全部交易的去中心化公開資料 庫,在區塊鏈上進行支付時全網計算機共同查詢區塊鏈資料,共同驗證這筆支付交易是否有效。確認支付後將寫入區塊鏈並產生一條不可篡改記錄。區塊 區塊大小是1m,包含父雜湊 merkle根 時間戳 難度目標 隨機數。程式上近似每10分鐘增加乙個block,blo...