区块链快速入门(一)--原来这就是区块链
區塊鏈火了有幾年了,由于項目需要,本社畜需要了解區塊鏈背景及主要原理。因此,時隔幾年,再次從csdn上撰文,力求用簡單的語言對區塊鏈進行描述,邊學習邊整理,用不太學術又不太業余的語言描述區塊鏈。下面 ,我將以問答的方式,解釋區塊鏈中幾個關鍵的問題。
1.什么是區塊鏈?
可以從三個粒度進行理解:
(1)區塊鏈是一種數據庫。
(2)區塊鏈是一種分布式賬本數據庫。
(3)區塊鏈是一種去中心化的分布式賬本數據庫。
區塊鏈由一個個區塊鏈接而成,當前區塊通過存儲上一區塊的哈希值實現鏈接,每個區塊中都記錄著一條條交易記錄,而每個交易記錄都有雙方的數字簽名。區塊鏈還具有時間戳。可通過區塊上的交易記錄追溯交易流程。
或許現在你還不能理解標紅的詞是什么意思,別擔心,接下來我會一一解釋。
2.什么是分布式賬本?
所謂的分布式賬本,就是同時在不同地方記錄同樣的事情。這樣做的好處是可以有效防止數據被篡改,畢竟篡改數據也需要成本。
3.什么是去中心化?
去中心化指的是區塊鏈的分布式結構。通常,一個機構或系統是有中心的,其他所有節點都要聽從中心的指揮,中心可以監管節點。而區塊鏈自身的機制決定了它的安全性和可靠性,無需監管,因此其每個節點的權力是相同的,沒有中心。
4.什么是挖礦?什么是礦工?
挖礦是一種創造區塊的過程,試圖參與挖礦過程的節點被稱為礦工。
5.什么是數字簽名?
數字簽名是一種早已存在的技術,分為基于哈希值的數字簽名和不基于哈希值的數字簽名。我們假定要基于一段報文進行數字簽名,分別介紹。
基于哈希值的數字簽名:首先把報文通過哈希函數映射成一個固定長度的哈希值。報文發送者用私鑰加密哈希值,形成數字簽名。把報文和數字簽名一起發給接收者。接收者用公鑰對數字簽名進行解密,并用同樣的哈希函數將報文映射成哈希值。對比兩個哈希值,如果一樣,證明報文沒有被篡改。
不基于哈希值的數字簽名:報文發送者用私鑰加密報文,形成數字簽名。把報文和數字簽名一起發給接收者。接收者用公鑰對數字簽名進行解密,得到還原的報文。對比兩個報文,如果一樣,證明報文沒有被篡改。
數字簽名是一個相對復雜的技術,若想了解詳情請移步某位大佬的csdn專欄:
密碼學基礎_磚業洋__-CSDN博客
順便解釋一下數字簽名技術涉及到的兩個其他技術:
哈希函數可以把任意長度的報文映射為一個固定長度的哈希值。
非對稱加密算法有公鑰和私鑰一對密鑰。如果用公鑰加密報文,則需要用私鑰解密。如果用私鑰加密報文,則需要用公鑰解密。通常,公鑰是所有人都知道的,私鑰只有自己掌握。
6.什么是共識算法?
共識算法是一種規則,用來從挖礦周期中選擇礦工的優勝者。因為區塊鏈的分布式賬本特性,區塊鏈是同時在多個主機上構建的。可能有多個主機都創建了新的區塊,以誰的區塊為準(標準的那個區塊鏈稱為主鏈)需要一種裁決算法,這種算法就是共識算法。
7.什么是智能合約?
智能合約是一段寫在區塊鏈上的代碼,事件觸發其條款時自動執行特定程序。其作用是輔助共識算法,當前主機可自動化地和主鏈同步。
閱讀了上述問答,你應該和我一樣,已經明白了區塊鏈中幾個常出現名詞的意思。那么,區塊鏈的構造是什么?它是怎么運行的?我們下篇文章再詳細說明。
總結
以上是生活随笔為你收集整理的区块链快速入门(一)--原来这就是区块链的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ETL工具(kettle) 与 ETL产
- 下一篇: Containerd【轻量级容器管理工具