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