
快速了解區(qū)塊鏈背后的三項基本技術(shù)
如果問十個人"什么是區(qū)塊鏈技術(shù)?",你可能會得到十種不同的答案。理解區(qū)塊鏈的最佳方法是逐步了解當(dāng)中的基本技術(shù)。
因此在本文中,我將介紹區(qū)塊鏈技術(shù)的三個主要部分:區(qū)塊鏈本身、點對點網(wǎng)絡(luò)和共識機制。一旦缺少任何一個部分,比特幣將無法存在。首先讓我們看到區(qū)塊鏈。
區(qū)塊鏈 (blockchain)
簡而言之,區(qū)塊鏈只是數(shù)據(jù)結(jié)構(gòu)化的一種方式。區(qū)塊鏈是分類賬:記錄賬務(wù)記錄的文件。
可以把這個文件理解為一本永不會完的書。
書上的每一頁都記錄著信息,同時在底部標有頁碼。通過頁碼,你馬上可以知道該頁面所屬的位置,比如49頁顯然位于48頁與50頁之間。
就像頁面一樣,區(qū)塊也都充滿了信息。盡管區(qū)塊沒有確切的編號,但它們附有時間戳,具有與編號相同的功能。新的區(qū)塊總是加在具有最新時間戳的區(qū)塊之后,因此形成了鏈。
區(qū)塊鏈很棒的一點是當(dāng)中使用了加密技術(shù),因此當(dāng)書中某一頁的信息發(fā)生改變時,我們都會注意到。該屬性使區(qū)塊鏈成為很好的數(shù)據(jù)結(jié)構(gòu),用來跟蹤記錄任何有價值的事物。
區(qū)塊鏈的用例
在比特幣的區(qū)塊鏈中,區(qū)塊包含比特幣的交易信息。區(qū)塊中記錄了誰發(fā)送給誰多少比特幣。
由于區(qū)塊鏈從一開始就被用于跟蹤所有比特幣的流向,因此通過檢查分類賬可以明確誰在某個時間擁有哪些比特幣。在任何時間內(nèi)"誰擁有多少"就是所謂區(qū)塊鏈的當(dāng)前"狀態(tài)"。
交易只有在包含到區(qū)塊中,并被添加到區(qū)塊鏈中才會發(fā)生,因此,當(dāng)一個區(qū)塊被添加到區(qū)塊鏈中時,區(qū)塊鏈的狀態(tài)就被更新。畢竟,比特幣發(fā)送了移動。
這意味著如果我想驗證某人是否真的對我做了交易,我必須能夠檢查區(qū)塊鏈的狀態(tài)。為了做到這一點,分類帳必須是公開的。這里就需要用到點對點網(wǎng)絡(luò)。
點對點網(wǎng)絡(luò)
(peer-to-peer networks)
為了將區(qū)塊鏈作為交易數(shù)據(jù)的分類帳,我必須要檢查區(qū)塊鏈,查看是否有人對我的賬號或錢包進行了交易。
如果區(qū)塊鏈僅存儲在一臺計算機上,并且恰好被關(guān)閉了,那么這是很煩人的。因此,區(qū)塊鏈的當(dāng)前狀態(tài)需要能夠下載、同步并能被全球的計算機所提供。
這些計算機被稱為"節(jié)點",它們在點對點網(wǎng)絡(luò)中運行,用來確保區(qū)塊鏈的安全性和最新性。每個節(jié)點都存儲著區(qū)塊鏈完整的最新版本。每當(dāng)添加新的區(qū)塊時,所有節(jié)點都會更新其區(qū)塊鏈。
使用點對點網(wǎng)絡(luò)具有以下優(yōu)點:
·可以隨時查看自己區(qū)塊鏈的狀態(tài);
·無需通過某一方查看區(qū)塊鏈的真實狀態(tài);
·無需依靠一臺服務(wù)器的安全性去確保區(qū)塊鏈是否安全;
·不法分子必須同時攻擊數(shù)千臺計算機,而不是一臺服務(wù)器;
·區(qū)塊鏈不會被刪除,因為它必須被所有節(jié)點刪除。
基于服務(wù)器的模型 vs 點對點網(wǎng)絡(luò)
這很重要,但以上并不意味著區(qū)塊鏈就足夠安全,能夠用于存儲或交易任何有價值的事物。
例如,如何確認區(qū)塊鏈中的(交易)數(shù)據(jù)是正確的?如何確認區(qū)塊中沒有無效的交易?如果存在不同版本的區(qū)塊鏈,如何確認哪個顯示了區(qū)塊鏈的真實狀態(tài)?
這些問題能夠通過共識機制解決,這種機制是通過點對點網(wǎng)絡(luò)實現(xiàn)的。
共識機制 (consensus mechanism)
Napster公司早在1999年就使用了點對點機制。
區(qū)塊鏈在比特幣出現(xiàn)之前就已經(jīng)存在。
比特幣神秘的匿名創(chuàng)始人——中本聰,在白皮書中通過基于密碼學(xué)的共識機制,他巧妙地將兩者結(jié)合起來。共識機制允許點對點網(wǎng)絡(luò)中的節(jié)點一起合作,而不必相互了解或信任。
"共識算法的目的是根據(jù)特定的狀態(tài)轉(zhuǎn)換規(guī)則,考慮到安全的更新狀態(tài),其中執(zhí)行狀態(tài)轉(zhuǎn)換的權(quán)利分布在用戶中,這些用戶能夠通過算法共同進行交易。"
——以太坊創(chuàng)始人 Vitalik Buterin
如果你還是不太懂,那么這樣理解,其實共識機制就是一系列規(guī)則,網(wǎng)絡(luò)中的節(jié)點通過運行網(wǎng)絡(luò)軟件來達成一致。這些規(guī)則確保網(wǎng)絡(luò)正常工作并保持同步。
共識協(xié)議規(guī)定:
· 如何將區(qū)塊添加到區(qū)塊鏈中;
· 區(qū)塊何時被認為是有效的;
· 如何解決沖突。
添加區(qū)塊
不同的區(qū)塊鏈添加區(qū)塊的方式各不相同。其中最廣為人知的共識機制是比特幣的工作量證明(Proof of Work )。
工作量證明的第一條規(guī)則是,平均每10分鐘會在區(qū)塊鏈中添加一個區(qū)塊。
促進這一過程是所謂的"挖礦"。試圖在區(qū)塊鏈中鏈添加區(qū)塊的節(jié)點(稱為"礦工")使用計算機的計算能力嘗試解決密碼"難題"。規(guī)則規(guī)定,只有這個難題被解決時,區(qū)塊才能被添加到區(qū)塊鏈中。
解決這一難題的礦工"挖"新的區(qū)塊,并增加到區(qū)塊鏈中,同時礦工會得到網(wǎng)絡(luò)的獎勵。預(yù)定數(shù)量的新幣將被創(chuàng)建,并獎勵給礦工,以及該區(qū)塊中包含的所有交易的成本。
隨后,所有礦工將開始挖下一個區(qū)塊。
比特幣挖礦設(shè)備。為了獲得足夠的挖掘處理能力,你需要大量的GPU。
比特幣的工作量證明不是唯一的共識機制。分布式賬本中也常使用權(quán)益證明(Proof of Stake)。在基于權(quán)益證明的機制中,某人可以對他的幣進行"下注",以便被選中從而添加下一個區(qū)塊。從某種意義上相當(dāng)于,一位賭徒說:"我用幣打賭我正確添加了這個區(qū)塊。" 如果他說謊就失去幣。
關(guān)于哪種共識機制是最好的仍存在很大的爭論。盡管如此,無論區(qū)塊是如何創(chuàng)建的,網(wǎng)絡(luò)中的其他節(jié)點仍需要決定該區(qū)塊是否有效。
區(qū)塊的有效性
當(dāng)?shù)V工解決這個難題并挖到區(qū)塊時,網(wǎng)絡(luò)中的所有節(jié)點將檢查該區(qū)塊是否有效,并將其添加到區(qū)塊鏈的副本中。節(jié)點首先要對有效性達成一致。只有這樣,網(wǎng)絡(luò)才會同步并更新區(qū)塊鏈的狀態(tài)。
只有當(dāng)遵循共識機制的規(guī)則時,節(jié)點才會將新的區(qū)塊添加到區(qū)塊鏈中。他們運行的軟件將檢查區(qū)塊是否有效。無效的區(qū)塊將被拒絕。
當(dāng)然,區(qū)塊與其中包含的交易有效性一致。以比特幣為例,協(xié)議規(guī)定,如果首先沒從他人那兒收到比特幣,或者挖到比特幣,那么你將無法發(fā)送比特幣。
換句話說,如果發(fā)送者收到足夠的比特幣進行交易,節(jié)點將檢查區(qū)塊中的所有交易。為此,需要檢查網(wǎng)絡(luò)的狀態(tài)。
假設(shè)我已收到1比特幣,我之后將其發(fā)送給Alice。接著我試圖將相同的比特幣發(fā)送給Bob。只要我的第一筆交易被添加到鏈中,所有節(jié)點都會更新區(qū)塊鏈,從而得出我已經(jīng)沒有那個比特幣了。那么我給Bob的交易將會被節(jié)點拒絕。節(jié)點發(fā)現(xiàn)該區(qū)塊不遵循規(guī)則時,則不會將該區(qū)塊更新到區(qū)塊鏈中。
規(guī)則還規(guī)定,交易只有在比特幣所有者的進行數(shù)字簽名時才有效。只有錢幣的所有者才能對交易簽字。因此,只有你可以花費你的比特幣。
如何解決沖突
在偶然的情況下,兩名礦工可能同時向區(qū)塊鏈中添加有效區(qū)塊。想象一下,一部分節(jié)點接受了一個有效的區(qū)塊,其他節(jié)點接受了另一個區(qū)塊。前者包括我與Alice的交易,后者包括我與Bob的交易。現(xiàn)在同時存在兩種不同的區(qū)塊鏈狀態(tài)!
我們將其稱為(無意)的"分叉(fork)":區(qū)塊鏈分成兩個不同的鏈。Alice和Bob誰才收到了我的比特幣?兩條鏈中的哪一條是'真正的'區(qū)塊鏈?
通常會通過一條簡單的規(guī)則解決這個問題:最長的區(qū)塊鏈獲勝。
區(qū)塊鏈分叉的可視化
當(dāng)出現(xiàn)分叉時,一些礦工將開始在其中一條上進行挖礦,而另一些開始在另一條上進行挖礦。不可避免的是,一條區(qū)塊鏈將比另一條擁有更多的礦工,因此添加區(qū)塊的速度會更快。其他的礦工將換到較長的區(qū)塊鏈上,那么分叉的區(qū)塊鏈將會消亡。這對主區(qū)塊鏈沒有任何損失。
為什么會這樣?
因為礦工是以自我利益行事的經(jīng)濟行為者。礦工沒有興趣對會消亡的分叉區(qū)塊鏈進行挖礦。分叉區(qū)塊鏈上的所有交易從未在主區(qū)塊鏈上發(fā)生,這意味著在分叉鏈上挖礦的礦工不會因為其工作而獲得獎勵。
在極少數(shù)情況下,分叉鏈上可能產(chǎn)生大量的挖礦能力。這時則需要一段時間才能確定哪條是主區(qū)塊鏈。一般認為,在6個區(qū)塊后確認交易是明智之舉。
區(qū)塊鏈分叉的可視化。一般不會超過5個區(qū)塊。
在區(qū)塊鏈中添加區(qū)塊需要巨大的處理能力,以及最長的區(qū)塊鏈取勝的規(guī)則,這保證了區(qū)塊鏈的安全性。攻擊網(wǎng)絡(luò)的唯一方法就是回到區(qū)塊鏈中的某個區(qū)塊,進行分叉并從那里挖新區(qū)塊。然而要做到這一點,攻擊者必須重新完成礦工的所有工作,并趕上主區(qū)塊鏈。如果沒有比整個礦工網(wǎng)絡(luò)更多的計算能力,這幾乎是不可能實現(xiàn)的。簡單地說,這種操作所需的電力和GPU成本非常昂貴。
原文鏈接:
https://hackernoon.com/3-steps-to-understanding-blockchain-8a285572daa3
如何掌握區(qū)塊鏈技術(shù)
區(qū)塊鏈創(chuàng)新的推動以及數(shù)字經(jīng)濟的蓬勃發(fā)展離不開人才的培育,而CDA數(shù)據(jù)分析師作為行業(yè)的領(lǐng)頭羊,緊密結(jié)合當(dāng)前區(qū)塊鏈發(fā)展實際與人才需求結(jié)構(gòu),重磅推出CDA區(qū)塊鏈學(xué)院。
掃描二維碼,進入 CDA 區(qū)塊鏈學(xué)院,學(xué)習(xí)區(qū)塊鏈知識,選擇很多,站對未來。
掃描二維碼 加入CDA區(qū)塊鏈學(xué)院
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報考條件詳解與準備指南? ? 在數(shù)據(jù)驅(qū)動決策的時代浪潮下,CDA 數(shù)據(jù)分析師認證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計的實用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實施重大更新。 此次更新旨在確保認 ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點,而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報考到取證的全攻略? 在數(shù)字經(jīng)濟蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗:捕捉數(shù)據(jù)背后的時間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時間維度的精準切片? ? 在數(shù)據(jù)的世界里,時間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準 ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗:數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨特的門控機制,在 ...
2025-07-07統(tǒng)計學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費者需求的重要途徑,而統(tǒng)計學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03