这篇文章是为那些对区块链感到好奇但又不知道它到底是什么的人准备的。这张文章的目的旨在让你理解区块链是什么意思。
如果你了解区块链技术是什么,那么我的目的就达到了。
提示:为了更好地理解区块链技术,不要忽略本文中提到的图像。图像非常重要。
区块链是什么?
是的,区块链= 区块 + 链 = listOf(区块)。
在这里,我们从一个类比开始,将钱从我的账户转到你的账户。记住,区块链有很多用途,转账系统就是其中之一。
假设,我从我的账户向你的账户进行了一笔交易。
当我将一个账户与您的账户进行交易时,必须有一个地方记录着所有相关的交易信息。
那地方我们称之为“块”。
在块中,我们把信息写成:
· 谁把钱转给谁了?
· 与该交易相关的金额。
· 其他一些信息,比如签名。
public class Block {
public String data;
public String hash;
。..
}
因此,块是一个类似于银行支票的信息持有者。
除了信息(I)之外,块还持有唯一的哈希(H)。哈希(H)是一个非常重要的概念。
因为有很多交易,所以会有很多块。这些块通过链连接形成区块链。
为什么这些块是相互连接的?
为了保证信息的安全性,这些块被连接起来。
已连接:当前块的哈希依赖于前一个块的哈希。
让我们通过下面的示例来理解这一点。
假设我们有3个块,信息如下:
块1将I1作为哈希成为H1的信息。块2将I2作为哈希成为H2的信息。块3将I3作为哈希成为H3的信息。
H2由H1和I2组合而成。类似地,H3是由H2和I3组合而成。
H2 = someCryptoFunc ti on(H1, I2)
H3 = someCryptoFunc TI on(H2, I3)
H1从何而来。首先,我们需要使用默认值H0。
H1 = someCryptoFunc TI on(H0, I1),其中H0为默认值。
目前,上述区块链是稳定的。
现在,假设有人将信息从I2更改为I2‘,并将块2的哈希值从h2更改为h2’,并将其他块保留为先前的状态。
在这种情况下,区块链将变得不稳定,如下所示。
这样,任何修改都需要端到端修改和验证。因此黑客想要修改数据并不容易。
如果黑客操控,区块链将变得不稳定,并且会被抓住。
List《Block》 blockList = new ArrayList();
我们将这些块保存在一个像上面这样的列表中,这样,从当前块的位置,我们可以通过块列表很容易地找到前面的块。获取(位置- 1)。有许多方法来 存储 块。
安全性是这些块连接的主要原因。
区块链是什么?区块链是一个分布式、分散的账本,它存储交易等数据,并在其网络的所有节点上公开共享。以上似乎是对区块链的一个非常复杂的定义。
好了,不要担心。我们将详细地理解每一个。
分类帐
分类账是保存数据块列表的主要记录持有者。
存储数据
块存储数据(信息)。数据可以是我们能想到的任何东西或任何类型。这里,我们以交易信息作为数据。
分布式账本
通常,有一个中央机器负责处理所有数据。但是在区块链中,有许多机器(因此它不是集中式的),所有的机器都是彼此点对点连接的。所有这些机器都有相同的账本。因此,区块链是一个分布式和分散式的账本。
换句话说,区块链作为账本本身分发,并与使用相同区块链网络的每个人共享。每个人都得到一份完整的分类账的副本,并将在任何地方添加东西时得到更新。
在其网络的所有节点上共享
有一个网络,其中每台机器都相互连接。每个节点(机器)都有相同的分类帐副本。这意味着该分类账在其网络的所有节点上都是共享的。
区块链是如何工作的?
展示区块链工作原理的步骤:
· Mayur想进行一笔交易。
· Mayur创建交易。
· Mayur将交易提交给网络。
· 网络中的一台机器验证交易并给予批准。
· 在区块链中为A mi t的交易创建新块。
· 更新后的区块链广播给网络中的每个人。
· 转账完成了。
如果区块链是分布式的,那么区块链是如何安全的呢?
它使用密码学来生成数字签名。使用数字签名时,存在私钥和公钥的概念。
我们每个人都有自己的私钥和对方的公钥。
私钥:此密钥只能由该密钥的个人所有者访问。
公钥:我们每个人都可以访问彼此在网络中的公钥。
假设我想创建一个新交易。我用自己的私钥加密信息以创建数字签名。
然后,我将交易(信息、公钥、上面创建的数字签名)提交给网络审批。
在此过程中,网络使用提供的公钥解密数字签名并从签名中提取信息。
如果原始信息与从上述图像中提取的签名信息相匹配,则表示同意,否则拒绝。
如果信息不匹配,可能出现以下情况:
· 原始信息在这之间的某个地方被篡改了。
· 数字签名是使用与提供的公钥不对应的私钥生成的。
这就是网络如何能够捕获操作。因此,区块链是安全的。
来源: 区块网