当前位置: 首页 > 科技观察

每个开发人员都应该知道的区块链的五个关键组件

时间:2023-03-19 19:19:34 科技观察

如果您对以太坊区块链开发感兴趣,请查看我在此处讨论的路线图[1]。在这篇文章中,我将讨论区块链的五个基本概念,每个开发人员如果想进入web3环境都应该了解这些概念。此外,dev.to[2]上的这一系列文章将是以太坊区块链开发的完整指南,敬请期待。理解文章的一些关键字:?公钥——它是一个加密密钥(一长串十六进制数字),任何人都可以获得并使用它来加密针对特定接收者的消息或交易,这样加密的消息只能使用只有收件人知道的第二个密钥(私钥)解密。?私钥——如上所述,私钥是由相应的公钥加密的消息或交易的解密器或解码器。私钥不得与任何人共享,以便它能够从您的地址进行交易。?共识机制——共识机制是指用于在分散的计算机网络中达成协议、信任和安全的任意数量的方法。在区块链和加密货币中,工作量证明(PoW)和权益证明(PoS)是两种最常见的共识机制,区块链通过这些机制在每个节点之间同步相同的数据。1.匿名性所以,像以太坊和比特币这样的区块链确实是透明的,换句话说,比如每个BTC的历史都可以追溯到它被开采的区块到当前存储它的钱包。同样,也可以跟踪所有地址的交易历史,因为地址由公钥标识,并且这些对每个人都是可见的。尽管如此,区块链还是以某种方式保持匿名:假名,或假名,意思是某人使用的名字而不是他/她的真实姓名。区块链做同样的事情,而不是像传统银行系统那样使用你原来的名字,区块链使用你的地址(公钥)进行交易。例如,您的真名可能是Mike,但在区块链环境中,您将被识别为“1ExAmpLe0FaBiTco1NAdDr3sSV5tsGaMF6hd”或其他名称,更长的名称。上图显示了传统银行系统如何公开用户的姓名、地址甚至联系电话,而区块链交易使用别名即公钥(钱包地址)进行交易。区块链是强大的,所以简单地隐藏我们的名字并不能使我们在这个非常广阔的环境中安全,因为强大的力量会带来更大的威胁。观看这个5分钟的Youtube视频,了解区块链匿名性https://www.youtube.com/watch?v=4pKBvJEk6Nc2。去中心化这些天我们经常听到“去中心化为王”这句话。那么,这意味着什么,什么是去中心化??去中心化是将控制和决策从集中实体(个人、组织、政府或其团体)转移到分布式网络。为了清楚地理解它,假设你和你的朋友进行了一笔交易,你的朋友收到了这笔交易。现在在这里,交易发生在你和你的朋友之间,但是四个实体可以获得交易的知识,你,朋友,涉及的银行(你和你朋友的),以及支付网络处理器(VISA,万事达卡等)。)。)。支付流程是这样的(见下图)。在这个传统的银行系统中,假设你向你的银行“A”发送一个请求,要求向你的朋友发送500美元,现在银行需要对你和你的朋友进行身份验证,但假设你朋友的账户在银行“B”中,那么银行“A”无法验证您朋友的详细信息,因为银行不共享客户信息(由于竞争)。支付网络处理器(VISA、MasterCard等)来了,每家银行都将其所有客户的数据出售给这些公司,这些公司代表银行对用户进行身份验证。这就是为什么去中心化为王,在像加密货币(BTC、ETH、DogeCoin等)这样的去中心化系统中,如果用户将加密货币发送给他们的朋友或任何人,只有发送者和接收者知道交易。下图比较了中心化金融(CeFi)和去中心化金融(Defi)。3.一个容错的去中心化区块链网络看起来像这样(见下图)。世界各地的几个节点(或区块)在没有任何中央机构监督的情况下连接在一起。所有节点通过共识协议连接,因此每个节点都是同步的,在整个区块链网络中拥有相同的交易账本。由于所有节点中都存在相同的数据,如果一个或两个节点被攻破或被攻破,系统仍然不会出现故障。这些失败的节点将从网络中移除,区块链继续运行。4.不变性不变性是web3社区中一个被大量创造的术语。区块链是一个不可变的数据库,你不能操纵已经存在于区块链中的数据。怎么会?为此,让我们看看哈希码是如何生成的以及块结构是什么样的。散列码-散列码是由各种算法(如SHA-1)生成的长十六进制序列。只要改变你名字的字母,哈希码就会有很大的不同。例如,DEV可以散列为“FA489B5C2003”,而DAV将变为“A8DC567B89E”。因此,试图操纵区块链中交易的黑客将立即导致哈希码发生变化,系统将指示节点故障。请参阅下面的猴子gif以了解哈希码通过更改一些内容而更改的程度。块结构——区块链中的每个块由两个长哈希码组成。一个是区块本身的哈希值,另一个是前一个区块的哈希值(见下图)。前一个块的哈希用于将两个块链接在一起,类似于链表。现在,假设任何黑客更改了任何一个区块中的交易细节,其哈希码将被完全更改,导致链从故障节点中断。这就是更新区块链节点如此困难的原因,因为如果有人试图更新一个节点,所有连续的节点都应该同时更新,所以区块链几乎是不可变的。5.无需信任Trustless是去中心化的一个特点。区块链网络被称为无信任不是因为你不能信任它,而是因为你不必为你的交易信任任何第三方。加密环境下的交易完全基于点对点(P2P)交易,没有中心化机构(政府、银行等)的参与。因此,区块链被称为去信任环境。虽然没有系统可以完全免信任,但在某些时候我们必须信任任何组织,但在区块链中,任何人都将成为代码,而不是人。原文:https://web3maniac.hashnode.dev/5-key-components-blockchain-developer-should-know