6分钟了解区块链
区块链的概念最初源于一位名叫中本聪(Satoshi Nakamoto )的神秘人士(或团体)发表了一篇关于比特币的论文。比特币是第一个被广泛接受的去中心化数字货币,也称为加密货币,可以在无需信任的网络上运行。比特币本身是一项非凡的创新,但其底层技术才是真正的技术,这项技术后来被称为区块链。
中本聪(Satoshi Nakamoto)在论文中描述了金融资产(他指的是比特币)如何在没有任何中介信托机构的情况下进行转移,这与我们的传统系统不同。在使用传统系统进行的日常交易中,我们通常需要通过银行等监管机构,或者在某些情况下,通过政府本身来转移资金。这种交易方式是最常见且被广泛接受的规范,但如果我们退一步,从更宏观的角度来看待,就会发现它存在诸多弊端。
破碎的系统
传统系统中的交易是在单一机构的监管下进行的,我们必须盲目信任该机构,这导致了单点故障问题:如果这个监管机构出现任何意外,我们所有的交易都将无法保证成功或完成。即使我们认为监管机构始终值得信赖,也会出现另一个常见问题:我们进行的所有交易和个人数据都存储在银行服务器中,这些服务器很容易被黑客入侵和篡改!最后,同样重要的是,我们的身份暴露了;几乎所有常规交易都可以轻松追溯到我们。
救世主——区块链
以上缺点只是我能想到的几个,但本次讨论的重点是:区块链如何解决这些问题。那么,让我们深入探讨区块链的革命性世界吧。
什么是区块链?
区块链通常被描述为“去中心化的分布式账本”。简而言之,区块链可以被认为是由区块组成的链条(是的,顾名思义),其中每个区块都是不可变的(只读的),并包含交易记录。目前,我们可以将这些交易视为类似于通过银行进行的交易,例如“杰克向吉尔支付了 50 美元”,只是这些交易没有关联任何姓名或特定身份。
链中的区块是由参与区块链网络的节点/对等体使用称为“挖矿”的过程创建的;这些矿工因其贡献而获得加密货币奖励。他们被视为区块链网络的支柱。
区块链存储在哪里?
我们找到了一种记录交易的有效方法,但我们需要一个地方来存储这个区块链,以便每个人都能访问它。最简单的方法是将其托管在服务器上,并允许其他人访问,但这又意味着所有数据都处于单一权威机构或机构的控制之下,而这正是我们想要避免的。下一个可能的解决方案是将区块链存储在分布式点对点网络上。在这种设计中,区块链由每个参与节点/对等体存储,因此没有唯一的权威机构控制数据。这种分布式架构是区块链的关键特性之一。
区块链网络为什么要去中心化?
区块链和分布式 P2P 网络构成了我们所需的分布式账本,现在让我们来谈谈去中心化及其必要性。为了理解这一点,我们回顾一下传统的系统,即一个机构监管一切,例如银行。在这种情况下,交易发起后,所有相关的决策都由银行自行做出,这就是中心化系统的一个例子。而去中心化系统则是指最终决策由所有参与者达成共识或多数同意后做出的系统。这意味着任何关于区块链的决策,例如添加新区块、验证交易或在两条竞争链之间做出选择等,都是基于网络中所有节点的共识。这消除了对可信权威的需求,因为信任可以通过所有参与节点的多数决定来建立。虽然如果攻击者在网络中获得多数席位,共识决策可能会被操纵,这也称为51% 攻击,但随着网络规模的扩大和区块链规模的增长,这种攻击可以得到缓解。
如何保护数据不被篡改?
我们已经知道,区块链网络基于共识机制运行;这不仅可以防止恶意攻击者节点进行欺诈性交易,还可以防止他们篡改现有交易。防篡改之所以能够实现,是因为在像比特币这样的大规模区块链网络中,强制多数投票的可能性几乎为零。目前存在不同的共识算法:比特币采用工作量证明 (PoW) 共识算法,而以太坊 2.0 采用权益证明 (PoS) 算法。
如何维护隐私?
区块链网络中的所有用户都拥有公共地址,这些地址可以被视为银行系统中的账号,可用于转账。每当发生交易时,它都会公开存储在区块链中,每笔交易都包含发送方和接收方的公共地址。公开公共地址并不意味着身份的暴露,因为可以生成新的公共地址来执行每笔交易,这实际上使交易无法追踪。与传统系统中我们的账号大多保持不变且创建账户需要身份证明不同,在区块链网络中创建公共地址不需要任何人泄露个人信息。
如何验证交易?
区块链网络中没有中央权威机构或数据库来存储账户信息,例如余额和交易记录。所有交易记录都直接写入区块链,并且大多数情况下都是公开的。交易记录可以通过计算得出与公共地址关联的账户余额,也可以通过节点/对等节点验证新交易是否可行。例如,假设有两个用户 Jack 和 Jill,区块链中有以下交易记录:
- 初始$50 -> 杰克
- 杰克 30 美元 -> 吉尔
- 杰克 40 美元 -> 吉尔
在第一笔交易中,假设 Jack 最初获得了 50 美元作为挖矿奖励。然后,Jack 在第二笔交易中向 Jill 转账 30 美元。我们可以计算出此时 Jack 和 Jill 的账户余额:
- 杰克:50美元-30美元=20美元
- 吉尔:30美元
交易 1 和 2 已由节点/对等节点成功验证。在第三笔交易中,Jack 尝试向 Jill 发送 40 美元,但网络中的节点发现 Jack 没有足够的资金进行转账,因此这笔交易从未被挖矿并被作废。用户尝试转账之前交易中已经花费的资金的情况称为双重支付问题。
在将交易添加到区块链之前,还会对交易执行许多其他验证和检查,这些先决条件验证可能因区块链而异。
结束语
本文非常抽象地概述了区块链技术及其如何解决传统系统的问题。我们讨论了如何通过去中心化技术避免对单一信任机构的需求,如何通过将数据/交易放置在分布式网络中的不可变区块中来实现防篡改,以及如何使用区块链系统中不可追踪的公共地址来维护我们的隐私。
区块链是一个持续研究的领域,除了在加密货币领域的主导应用外,它还有许多应用场景。医疗保健、农业、供应链和治理等领域都发现了区块链的各种用例。区块链领域尚处于萌芽阶段,“区块链是救世主”这一说法颇具争议,但在我看来,它是一项值得关注的杰出技术。
文章来源:https://dev.to/gdsoumya/blockchain-in-6-minutes-9pe