每個開發人員都應該知道的區塊鏈的五個關鍵組件
如果您對以太坊區塊鏈開發感興趣,請查看我在此處[1]討論的路線圖。
在這篇文章中,我將討論區塊鏈的五個基本概念,每個開發人員都應該知道他們是否想進入 web3 環境。此外,dev.to[2]上的本系列文章將是以太坊區塊鏈開發的完整指南,敬請期待。
?公鑰- 它是一個加密密鑰(一長串十六進制數字),任何人都可以獲得并使用它來加密針對特定收件人的消息或交易,這樣加密的消息只能通過使用第二個密鑰來解密只有收件人知道(私鑰)。
?私鑰——如上所述,私鑰是由相應的公鑰加密的消息或交易的解密器或解碼器。私鑰不得與任何人共享,因為它能夠從您的地址進行交易。
?共識機制——共識機制是指用于在分散的計算機網絡中達成協議、信任和安全的任意數量的方法。在區塊鏈和加密貨幣中,工作量證明 (PoW) 和權益證明 (PoS) 是兩種最普遍的共識機制,區塊鏈通過這些機制同步每個節點的相同數據。
1. 匿名
所以,像以太坊和比特幣這樣的區塊鏈確實是透明的,換句話說,例如,每個 BTC 的歷史都可以從它被開采的區塊到當前存儲它的錢包進行追蹤。同樣,也可以跟蹤所有地址的交易歷史,因為地址是由公鑰識別的,而且這些對每個人都是可見的。
盡管如此,區塊鏈還是以某種方式保持匿名:
化名或假名
假名,意思是某人使用的名字,而不是他/她的真名。區塊鏈做同樣的事情,而不是像傳統銀行系統那樣使用你的原始名字,區塊鏈通過你的地址(公鑰)進行交易。例如,您的真實姓名可以是 Mike,但在區塊鏈環境中,您將被識別為“1ExAmpLe0FaBiTco1NAdDr3sSV5tsGaMF6hd”或其他名稱,更長的名稱。
上圖顯示了傳統銀行系統如何暴露用戶的姓名、地址甚至聯系電話,而區塊鏈交易使用別名即公鑰(錢包地址)進行交易。
區塊鏈是強大的,因此僅僅隱藏我們的名字并不能使我們在這個非常廣闊的環境中安全,因為強大的力量會帶來更大的威脅。觀看這個 5 分鐘的 Youtube 視頻以了解區塊鏈匿名性
https://www.youtube.com/watch?v=4pKBvJEk6Nc
2.權力下放
現在我們經常聽到“去中心化為王”這樣的話。那么,這是什么意思,什么是去中心化?
?去中心化是將控制和決策從中心化實體(個人、組織、政府或其團體)轉移到分布式網絡。
為了清楚地理解它,假設您與您的朋友進行了交易,并且您的朋友收到了這筆交易。現在在這里,交易發生在你和你的朋友之間,但是交易的知識對四個實體是可用的,你、朋友、涉及的銀行(你的和你朋友的),以及支付網絡處理器(VISA、萬事達卡等) .).
支付流程是這樣的(見下圖)。在這個傳統的銀行系統中,假設你向你的銀行“A”發送了一個請求,要求向你的朋友發送 500 美元,現在銀行需要驗證你和你的朋友,但是假設你朋友的賬戶在銀行“B”中,那么銀行“A”無法驗證您朋友的詳細信息,因為銀行不共享客戶信息(由于競爭)。支付網絡處理器(VISA、MasterCard 等)來了,每家銀行都將所有客戶的數據出售給這些公司,他們代表銀行驗證用戶。
這就是為什么去中心化為王,在去中心化系統中,如加密貨幣(BTC、ETH、DogeCoin 等),如果用戶將加密貨幣發送給他們的朋友或任何人,只有發送者和接收者會知道交易。下圖比較了中心化金融(CeFi)和去中心化金融(Defi)。
3.容錯
去中心化的區塊鏈網絡看起來像這樣(見下圖)。世界各地的幾個節點(或區塊)在沒有任何中央當局監管的情況下連接在一起。所有節點都通過共識協議連接,因此每個節點都是同步的,并且在整個區塊鏈網絡中具有相同的交易賬本。由于所有節點中都存在相同的數據,因此如果一個或兩個節點受到威脅或受到威脅,系統仍然不會出現故障。這些故障節點將從網絡中移除,區塊鏈繼續運行。
4.不變性
不可變性是 web3 社區中一個被大量創造的術語。區塊鏈是一個不可變的數據庫,你不能操縱已經存在于區塊鏈中的數據。怎么來的?為此,讓我們看看哈希碼是如何生成的以及塊結構是什么樣的。
Hash Code - 哈希碼是通過各種算法(如 SHA-1)生成的長十六進制序列。只需更改您姓名的字母,哈希碼就會有很大差異。例如,DEV可以散列為“ FA489B5C2003 ”,但是,DAV將變為“ A8DC567B89E ”。因此,黑客試圖操縱區塊鏈中的交易會立即導致哈希碼發生變化,系統會指示節點出現故障。
請參閱下面的猴子 gif,以了解哈希碼通過更改一些內容而變化的范圍。
塊結構- 區塊鏈中的每個塊都包含兩個長哈希碼。一個是區塊本身的哈希值,另一個是前一個區塊的哈希值(見下圖)。前一個塊的哈希值用于將兩個塊連接在一起,類似于鏈表。現在,假設任何黑客更改了任何一個區塊中的交易細節,其哈希碼將被完全更改,從而導致鏈從故障節點中斷。
這就是更新區塊鏈節點如此困難的原因,因為如果有人試圖更新一個節點,所有連續的節點都應該同時更新,因此區塊鏈幾乎是不可變的。
5. 無需信任
無信任是去中心化的特質。區塊鏈網絡被稱為無信任,不是因為你不能信任它,而是因為你不必為你的交易信任任何第三方。加密環境中的交易完全是基于點對點(P2P)的交易,沒有中心化的機構(政府、銀行等)參與。因此,區塊鏈被稱為一個無信任的環境。雖然沒有一個系統可以完全無信任,但在某些時候,我們必須信任任何組織,但在區塊鏈中,任何人都將是一個代碼,而不是一個人。
原文:https://web3maniac.hashnode.dev/5-key-components-blockchain-developer-should-know