這篇文章是為那些對(duì)區(qū)塊鏈感到好奇但又不知道它到底是什么的人準(zhǔn)備的。這張文章的目的旨在讓你理解區(qū)塊鏈?zhǔn)鞘裁匆馑肌?/p>
如果你了解區(qū)塊鏈技術(shù)是什么,那么我的目的就達(dá)到了。
提示:為了更好地理解區(qū)塊鏈技術(shù),不要忽略本文中提到的圖像。圖像非常重要。
區(qū)塊鏈?zhǔn)鞘裁矗?/p>
是的,區(qū)塊鏈= 區(qū)塊 + 鏈 = listOf(區(qū)塊)。
在這里,我們從一個(gè)類比開始,將錢從我的賬戶轉(zhuǎn)到你的賬戶。記住,區(qū)塊鏈有很多用途,轉(zhuǎn)賬系統(tǒng)就是其中之一。
假設(shè),我從我的賬戶向你的賬戶進(jìn)行了一筆交易。
當(dāng)我將一個(gè)賬戶與您的賬戶進(jìn)行交易時(shí),必須有一個(gè)地方記錄著所有相關(guān)的交易信息。
那地方我們稱之為“塊”。
在塊中,我們把信息寫成:
· 誰把錢轉(zhuǎn)給誰了?
· 與該交易相關(guān)的金額。
· 其他一些信息,比如簽名。
public class Block {
public String data;
public String hash;
。..
}
因此,塊是一個(gè)類似于銀行支票的信息持有者。
除了信息(I)之外,塊還持有唯一的哈希(H)。哈希(H)是一個(gè)非常重要的概念。
因?yàn)橛泻芏嘟灰?,所以?huì)有很多塊。這些塊通過鏈連接形成區(qū)塊鏈。
為什么這些塊是相互連接的?
為了保證信息的安全性,這些塊被連接起來。
已連接:當(dāng)前塊的哈希依賴于前一個(gè)塊的哈希。
讓我們通過下面的示例來理解這一點(diǎn)。
假設(shè)我們有3個(gè)塊,信息如下:
塊1將I1作為哈希成為H1的信息。塊2將I2作為哈希成為H2的信息。塊3將I3作為哈希成為H3的信息。
H2由H1和I2組合而成。類似地,H3是由H2和I3組合而成。
H2 = someCryptoFunction(H1, I2)
H3 = someCryptoFunction(H2, I3)
H1從何而來。首先,我們需要使用默認(rèn)值H0。
H1 = someCryptoFunction(H0, I1),其中H0為默認(rèn)值。
目前,上述區(qū)塊鏈?zhǔn)欠€(wěn)定的。
現(xiàn)在,假設(shè)有人將信息從I2更改為I2‘,并將塊2的哈希值從h2更改為h2’,并將其他塊保留為先前的狀態(tài)。
在這種情況下,區(qū)塊鏈將變得不穩(wěn)定,如下所示。
這樣,任何修改都需要端到端修改和驗(yàn)證。因此黑客想要修改數(shù)據(jù)并不容易。
如果黑客操控,區(qū)塊鏈將變得不穩(wěn)定,并且會(huì)被抓住。
List《Block》 blockList = new ArrayList();
我們將這些塊保存在一個(gè)像上面這樣的列表中,這樣,從當(dāng)前塊的位置,我們可以通過塊列表很容易地找到前面的塊。獲?。ㄎ恢? 1)。有許多方法來存儲(chǔ)塊。
安全性是這些塊連接的主要原因。
區(qū)塊鏈?zhǔn)鞘裁矗繀^(qū)塊鏈?zhǔn)且粋€(gè)分布式、分散的賬本,它存儲(chǔ)交易等數(shù)據(jù),并在其網(wǎng)絡(luò)的所有節(jié)點(diǎn)上公開共享。以上似乎是對(duì)區(qū)塊鏈的一個(gè)非常復(fù)雜的定義。
好了,不要擔(dān)心。我們將詳細(xì)地理解每一個(gè)。
分類帳
分類賬是保存數(shù)據(jù)塊列表的主要記錄持有者。
存儲(chǔ)數(shù)據(jù)
塊存儲(chǔ)數(shù)據(jù)(信息)。數(shù)據(jù)可以是我們能想到的任何東西或任何類型。這里,我們以交易信息作為數(shù)據(jù)。
分布式賬本
通常,有一個(gè)中央機(jī)器負(fù)責(zé)處理所有數(shù)據(jù)。但是在區(qū)塊鏈中,有許多機(jī)器(因此它不是集中式的),所有的機(jī)器都是彼此點(diǎn)對(duì)點(diǎn)連接的。所有這些機(jī)器都有相同的賬本。因此,區(qū)塊鏈?zhǔn)且粋€(gè)分布式和分散式的賬本。
換句話說,區(qū)塊鏈作為賬本本身分發(fā),并與使用相同區(qū)塊鏈網(wǎng)絡(luò)的每個(gè)人共享。每個(gè)人都得到一份完整的分類賬的副本,并將在任何地方添加?xùn)|西時(shí)得到更新。
在其網(wǎng)絡(luò)的所有節(jié)點(diǎn)上共享
有一個(gè)網(wǎng)絡(luò),其中每臺(tái)機(jī)器都相互連接。每個(gè)節(jié)點(diǎn)(機(jī)器)都有相同的分類帳副本。這意味著該分類賬在其網(wǎng)絡(luò)的所有節(jié)點(diǎn)上都是共享的。
區(qū)塊鏈?zhǔn)侨绾喂ぷ鞯模?/p>
展示區(qū)塊鏈工作原理的步驟:
· Mayur想進(jìn)行一筆交易。
· Mayur創(chuàng)建交易。
· Mayur將交易提交給網(wǎng)絡(luò)。
· 網(wǎng)絡(luò)中的一臺(tái)機(jī)器驗(yàn)證交易并給予批準(zhǔn)。
· 在區(qū)塊鏈中為Amit的交易創(chuàng)建新塊。
· 更新后的區(qū)塊鏈廣播給網(wǎng)絡(luò)中的每個(gè)人。
· 轉(zhuǎn)賬完成了。
如果區(qū)塊鏈?zhǔn)欠植际降?,那么區(qū)塊鏈?zhǔn)侨绾伟踩哪兀?/p>
它使用密碼學(xué)來生成數(shù)字簽名。使用數(shù)字簽名時(shí),存在私鑰和公鑰的概念。
我們每個(gè)人都有自己的私鑰和對(duì)方的公鑰。
私鑰:此密鑰只能由該密鑰的個(gè)人所有者訪問。
公鑰:我們每個(gè)人都可以訪問彼此在網(wǎng)絡(luò)中的公鑰。
假設(shè)我想創(chuàng)建一個(gè)新交易。我用自己的私鑰加密信息以創(chuàng)建數(shù)字簽名。
然后,我將交易(信息、公鑰、上面創(chuàng)建的數(shù)字簽名)提交給網(wǎng)絡(luò)審批。
在此過程中,網(wǎng)絡(luò)使用提供的公鑰解密數(shù)字簽名并從簽名中提取信息。
如果原始信息與從上述圖像中提取的簽名信息相匹配,則表示同意,否則拒絕。
如果信息不匹配,可能出現(xiàn)以下情況:
· 原始信息在這之間的某個(gè)地方被篡改了。
· 數(shù)字簽名是使用與提供的公鑰不對(duì)應(yīng)的私鑰生成的。
這就是網(wǎng)絡(luò)如何能夠捕獲操作。因此,區(qū)塊鏈?zhǔn)前踩摹?/p>
來源: 區(qū)塊網(wǎng)
評(píng)論
查看更多