導航:首頁 > 觀區塊鏈 > 區塊鏈ruanyifeng

區塊鏈ruanyifeng

發布時間:2023-01-21 08:52:56

① 漫畫圖解 什麼是區塊鏈

漫畫圖解:什麼是區塊鏈

什麼是區塊鏈?
區塊鏈,英文 Blockchain,本質上是一種去中心化的分布式資料庫。任何人只要架設自己的伺服器,接入區塊鏈網路,都可以成為這個龐大網路的一個節點。
區塊鏈既然本質是資料庫,裡面究竟存儲了什麼東西呢?讓我們來了解一下區塊鏈的基本單元:區塊(Block)。
一個區塊分為兩大部分:
1.區塊頭
區塊頭裡面存儲著區塊的頭信息,包含上一個區塊的哈希值(PreHash),本區塊體的哈希值(Hash),以及時間戳(TimeStamp)等等。
2.區塊體
區塊體存儲著這個區塊的詳細數據(Data),這個數據包含若干行記錄,可以是交易信息,也可以是其他某種信息。
剛才提及的哈希值又是什麼意思呢?
想必大家都聽說過MD5,MD5就是典型的哈希演算法,可以把一串任意長度的明文轉化成一串固定長度(128bit)的字元串,這個字元串就是哈希值。
而在我們的區塊鏈中,採用的是一種更為復雜的哈希演算法,叫做SHA256。最新的數據信息(比如交易記錄)經過一系列復雜的計算,最終會通過這個哈希演算法轉化成了長度為256bit的哈希值字元串,也就是區塊頭當中的Hash,格式如下:

區塊與Hash是一一對應的,Hash可以當做是區塊的唯一標識。
不同的區塊之間是如何進行關聯的呢?依靠Hash和PreHash來關聯。每一個區塊的PreHash和前一個區塊的Hash值是相等的。
為什麼要計算區塊的哈希值呢?
既然區塊鏈是一個鏈狀結構,就必然存在鏈條的頭節點(第一個區塊)和尾節點(最後一個區塊)。一旦有人計算出區塊鏈最新數據信息的哈希值,相當於對最新的交易記錄進行打包,新的區塊會被創建出來,銜接在區塊鏈的末尾。
新區塊頭的Hash就是剛剛計算出的哈希值,PreHash等於上一個區塊的Hash。區塊體的Data存儲的是打包前的交易記錄,這部分數據信息已經變得不可修改。
這個計算Hash值,創建新區塊的過程就叫做挖礦
用於進行海量計算的伺服器,叫做礦機
操作計算的工作人員,叫做礦工。
計算哈希值究竟難在哪裡?咱們來做一個最粗淺的解釋,哈希值計算的公式如下:
Hash = SHA-256(最後一個區塊的Hash + 新區塊基本信息 + 交易記錄信息 + 隨機數)
其中,交易記錄信息也是一串哈希值,它的計算涉及到一個數據結構 Merkle Tree。有興趣的小夥伴可以查閱相關資料,我們暫時不做展開介紹。
這里關鍵的計算難點在於隨機數的生成。猥瑣的區塊鏈發明者為了增大Hash的計算難度,要求Hash結果的前72bit必須都是0,這個幾率實在是太小太小。
由於(最後一個區塊的Hash + 新區塊基本信息 + 交易記錄信息)是固定的,所以能否獲得符合要求的Hash,完全取決於隨機數的值。挖礦者必須經過海量計算,反復生成隨機數進行「撞大運」一般的嘗試,才有可能得到正確的Hash,從而挖礦成功。
同時,區塊頭內還包含著一個動態的難度系數,當全世界的硬體計算能力越來越快的時候,區塊鏈的難度系數也會水漲船高,使得全網平均每10分鍾才能產生出一個新區塊。
小夥伴們明白挖礦有多麼難了吧?需要補充的是,不同的區塊鏈應用在細節上是不同的,這里所描述的挖礦規則是以比特幣為例。
區塊鏈的應用

比特幣(BitCoin)的概念最初由中本聰於2008年提出,而後根據這一思路設計發布了開源軟體以及建構其上的P2P網路。比特幣是一種P2P形式的數字貨幣。點對點的傳輸意味著一個去中心化的支付系統。
什麼是P2P網路呢?
傳統的貨幣都是由中央銀行統一發行,所有的個人儲蓄也是由銀行統一管理,這是典型的中心化系統。
而比特幣則是部署在一個全世界眾多對等節點組成的去中心化網路之上。每一個節點都有資格對這種數字貨幣進行記錄和發行。
至於比特幣底層的數據存儲,正是基於了區塊鏈技術。比特幣的每一筆交易,都對應了區塊體數據中的一行,簡單的示意如下:
交易記錄的每一行都包含時間戳、交易明細、數字簽名。
表格中只是為了方便理解。實際存儲的交易明細是匿名的,只會記錄支付方和收款方的錢包地址。
至於數字簽名呢,可以理解為每一條單筆交易的防偽標識,由非對稱加密演算法所生成。
接下來說一說比特幣礦工的獎勵:
比特幣協議規定,挖到新區塊的礦工將獲得獎勵,從2008年起是50個比特幣,然後每4年減半,目前2018年是12.5個比特幣。流通中新增的比特幣都是這樣誕生的,也難怪大家對挖掘比特幣的工作如此趨之若鶩!
區塊鏈的優勢和劣勢
區塊鏈的優勢:
1.去中心化
區塊鏈不依賴於某個中心節點,整個系統的數據由全網所有對等節點共同維護,都可以進行數據的存儲和檢驗。這樣一來,除非攻擊者黑掉全網半數以上的節點,否則整個系統是不會遭到破壞的。
2.信息不可篡改
區塊內的數據是無法被篡改的。一旦數據遭到篡改哪怕一丁點,整個區塊對應的哈希值就會隨之改變,不再是一個有效的哈希值,後面鏈接的區塊也會隨之斷裂。
區塊鏈的劣勢:
1.過度消耗能源
想要生成一個新的區塊,必須要大量伺服器資源進行大量無謂的嘗試性計算,嚴重耗費電能。
2.信息的網路延遲
以比特幣為例,任何一筆交易數據都需要同步到其他所有節點,同步過程中難免會受到網路傳輸延遲的影響,帶來較長的耗時。
幾點補充:
1.本漫畫部分內容參考了阮一峰的博文《區塊鏈入門教程》,感謝這位大神的科普。
2.由於篇幅有限,關於Merkle Tree 和 非對稱加密 的知識暫時沒有展開細講,有興趣的小夥伴們可以查閱資料進行更深一步的學習。

② 怎麼讓自己模塊可以實現npm安裝 阮一峰

npm install 命令用來安裝模塊到node_moles目錄。

$ npm install <packageName>

安裝之前,npm install會先檢查,node_moles目錄之中是否已經存在指定模塊。如果存在,就不再重新安裝了,即使遠程倉庫已經有了一個新版本,也是如此。
如果你希望,一個模塊不管是否安裝過,npm 都要強制重新安裝,可以使用-f或--force參數。

③ 什麼是區塊鏈土豆鏈Potato chain又是什麼

關於這個問題,其實建議你去游說社區看一下(網頁鏈接),那裡有大佬大V為你解答。這里我為你分享一篇阮一峰老師的文章,應該能對你的問題作出解答。

一、區塊鏈的本質

區塊鏈是什麼?一句話,它是一種特殊的分布式資料庫。

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

由於新區塊的生成速度由計算能力決定,所以這條規則就是說,擁有大多數計算能力的那條分支,就是正宗的區塊鏈。

九、總結

區塊鏈作為無人管理的分布式資料庫,從2009年開始已經運行了8年,沒有出現大的問題。這證明它是可行的。

但是,為了保證數據的可靠性,區塊鏈也有自己的代價。一是效率,數據寫入區塊鏈,最少要等待十分鍾,所有節點都同步數據,則需要更多的時間;二是能耗,區塊的生成需要礦工進行無數無意義的計算,這是非常耗費能源的。

因此,區塊鏈的適用場景,其實非常有限。

  • 不存在所有成員都信任的管理當局

  • 寫入的數據不要求實時使用

  • 挖礦的收益能夠彌補本身的成本

  • 如果無法滿足上述的條件,那麼傳統的資料庫是更好的解決方案。

    目前,區塊鏈最大的應用場景(可能也是唯一的應用場景),就是以比特幣為代表的加密貨幣。

    ④ Docker 搭建以太坊私有鏈

    首先需要安裝 Docker,Docker 的安裝和使用可以參看阮一峰老師的 《Docker 入門教程》 。
    Ethereum 官方是支持 docker 的,可以參看 官方文檔 。

    centOS

    其中 -v /home/linshan/works/block-chain/ethereum:/root 是把我們當前的 ethereum 目錄,掛到了docker 的 /root 下。
    在 Windows 環境下使用 -v /home/linshan/works/block-chain/ethereum:/root 不能啟動容器,原因不明,所以在 Windows 下先不要使用目錄掛載。

    各欄位具體用途參看 官方文檔 。
    Windows
    Windows 不必創建 start-ethereum.sh 文件, genesis.json 也可以在 Docker 容器啟動後創建。

    centOS

    Windows

    運行成功後執行

    進入 docker 容器命令行
    因為 Windows 沒有掛載共享目錄,所以 root 目錄下沒有 genesis.json 文件,我們要在這裏手動創建 genesis.json 文件,內容要和 centOS 的一致。

    data 用來存放區塊數據

    geth 的參數參看 以太坊客戶端Geth命令用法-參數詳解

    啟動私有節點後進入 geth 命令行執行:

    輸出的內容就是節點信息,我們在手動連接節點是會用到,注意要把「0.0.0.0「換成你自己的IP,然後將這個信息發送給其他節點。手動連接節點有兩種方式:

    當然不管使用哪種方法連接節點都要保證創世區塊文件 genesis.json 一致,還有在啟動時 networkid 也要一致。

    至此以太坊私有鏈已搭建完畢。

    geth命令

    docker命令

    閱讀全文

    與區塊鏈ruanyifeng相關的資料

    熱點內容
    中國禁止比特幣的影響 瀏覽:606
    如何發起比特幣交易 瀏覽:674
    在哪下比特幣勒索補丁 瀏覽:885
    螞蟻礦機額定算力什麼意思 瀏覽:909
    通過知道創宇審核的虛擬貨幣 瀏覽:83
    gcc虛擬貨幣是什麼軟體 瀏覽:546
    以太坊超過比特幣 瀏覽:116
    顯卡人工智慧算力怎麼查看 瀏覽:946
    上海發數字貨幣 瀏覽:424
    注冊礦池時為什麼老說錯誤 瀏覽:598
    相城區數字貨幣去哪裡去申請 瀏覽:929
    數字貨幣存在的問題有哪些 瀏覽:985
    比特幣周日有交易嗎 瀏覽:576
    數字貨幣和紙幣有什麼不同 瀏覽:734
    柚子幣比特幣以太坊的優勢 瀏覽:533
    比特幣去向記錄 瀏覽:993
    礦機和比特幣的關系 瀏覽:562
    中國禁的了比特幣嗎 瀏覽:337
    比特幣抗通脹 瀏覽:733
    比特幣挖礦難度圖標 瀏覽:265