区块链是如何工作的?一文讲述你想知道的一切
区块链技术已经成为一个全球通用的术语,尽管了解它的工作原理还需要一些研究。本文解释了这项技术,并概述了它的来龙去脉。
那么区块链是如何工作的呢?区块链本质上是一种几乎不可能伪造的电子日记。大量的计算机和设备为这本日记做出了贡献,消除了一个中心故障点。
区块链通常由许多网络参与者组成——连续工作的计算机或硬件设置。这些参与者通常分布在全球各地,他们各自携带一份区块链全部交易历史的副本,并根据该历史验证任何新的交易是否真实。
这些参与者不断竞争,以获得生产新资产和促进交易的回报。为了更简单地解释这个概念,请看下面的假设示例。
哈希函数
假设一个房间里有10个人决定制造一种新货币。他们必须跟随资金的流动,以确保新货币生态系统中货币的有效性。有一个人——假设他叫Bob——决定把所有的行动都记在日记里。然而,另一个人——假设他叫Jack——决定去偷钱。为了隐藏这一点,他修改了日记中的条目。
后来有一天,Bob注意到有人干扰了他的日记。他决定改变日记的格式,以防将来有人篡改。他使用了一个叫做哈希函数的程序,可以将文本转换成一组数字和字母。
这个过程利用安全哈希算法(SHA)将字母转换为字符串。Bob可以选择不同类型的SHA,每种SHA的复杂性不同,满足不同的需求。
哈希是由哈希函数产生的一串数字和字母。哈希函数是一种数学函数,它将可变数量的字符转换为具有固定数量字符的字符串。
字符串中的一个小小的改变就会创建一个全新的哈希。在每个日记条目之后,Bob插入一个哈希。但后来Jack决定再次更改条目。他找到了日记,更改了记录并生成了一个新的散列。
Bob注意到又有人翻看了那本日记。他决定把每笔交易的记录复杂化。在每条记录之后,他插入一个由上次记录的哈希生成的新哈希。因此,每个条目都依赖于前一个条目。
如果Jack试图更改记录,他将必须更改之前所有条目的哈希。然而,Jack是一个坚定的小偷,所以他花了整个晚上数所有的哈希。
Bob不想放弃,所以他在每条记录后加了一个不同的随机数字。这个数字叫做“nonce”。选择nonce的方式应使生成的哈希以两个0结尾。
为了使用Bob更新的录入系统伪造记录,Jack现在必须花费数小时来确定每一行的nonce。
即使是计算机也很难计算出来nonce,但这项任务是可能的,因为作为区块链挖矿过程的一部分,矿工竞相发现它们。
节点
Bob用这种方式短时间地保持了日记。然而,随着新的交易不断发生,他很快就被大量的记录所拖累,他目前的系统是不可持续的。所以,当他的日记上有5000笔交易时,他就把它转换成了一页的电子表格。Mary检查了所有交易的准确性。
然后Bob把他的电子表格日记交给了3000台不同的计算机,每台计算机都位于全球不同的地区。这些计算机称为节点。每次交易发生时,都必须得到这些节点的批准,每个节点都要检查交易的有效性。一旦每个节点都检查了这笔交易,实质上就产生了一种电子投票。一些节点可能认为这笔交易是有效的,而另一些节点可能认为这笔交易是欺诈性的。
每个节点都有电子表格日志的副本。每个节点检查每笔交易的有效性。如果大多数节点都认为一笔交易是有效的,那么它就会被写入一个区块。
现在,如果Jack想要更改电子表格日志中的一个条目,所有其他计算机都将拥有原始哈希。他们不允许这种变化发生。
区块
Bob的5000笔交易初始电子表格被称为创世区块——区块链的起始点。这种货币被广泛采用,因此交易来得又快又频繁。新区块可以容纳多达5000笔交易,并具有与前面的区块相关的代码,使其不可伪造。
让我们假设该区块链每10分钟用一个新的区块进行一次更新。它会自动这么做。没有主计算机或中央计算机指示计算机这样做。
电子表格、分类帐或登记簿一经更新,就不能再更改。因此,要伪造它是不可能的。你只能向它添加新条目。登记簿在网络上的所有计算机上同时更新。区块链的改变需要得到网络大多数参与者的一致同意。区块链的一个潜在风险是“51%攻击”,在此期间,一方超过区块链的大部分算力,从而允许他们支配网络。
通常,一个区块包含一个时间戳、前一个区块的哈希值、交易和在区块进入区块链之前必须解决的计算问题。必须达成共识的分布式节点网络使得区块链内几乎不可能发生欺诈。
钱包、数字签名和协议
继续这个例子,Bob将10个人聚集在一起(最初聚集的10个人是新货币的一部分)。他需要向他们解释新的数字货币和分类账系统。
Jack向大家坦白了自己的罪行,并向大家道歉。为了证明他的诚意,他把币还给了Ann和Mary。
所有这些都解决了,Bob解释了为什么这种事不会再发生。他决定实施一种叫做数字签名的东西来确认每一笔交易。但首先,他给了每个人一个钱包。
什么是钱包?
如果你拥有数字货币,那么你需要一个数字钱包或在线平台或交易所来存储它。
钱包是由数字和字母组成的字符串,如:18c177926650e5550973303c300e136f22673b74。当交易发生时,这个地址将出现在区块链中的不同区块中。没有包括姓名或个人身份信息——只有钱包号码。
公共钱包地址一串字符,可以向其发送某些资产。每个特定钱包的地址都是由公钥生成的。
数字签名
要进行交易,你需要两样东西:钱包(基本上是一个地址)和私钥。私钥是一串随机数。然而,与地址不同的是,私钥必须保密。私钥控制着相关钱包内的资金。
当有人决定将币发送给其他人时,他们必须使用自己的私钥来签署包含这笔交易的信息。双密钥系统——一个私钥和一个公钥——是加密和密码学的核心,它的使用早在区块链存在之前就开始了。它最初是在20世纪70年代被提出来的。
一旦消息被发送,它就被广播到区块链网络。然后,节点网络对消息进行工作,以确保消息中包含的交易是有效的。如果节点网络确认了有效性,则将这笔交易放在一个区块中。在那之后,关于它的任何信息都不能更改。
什么是加密密钥?
加密密钥是由数字和字母组成的字符串。加密密钥由密钥生成器(keygen)生成。这些密钥生成器使用了涉及质数的高级运算来创建密钥。这样的密钥可以用于加密或解密信息。
协议
区块链技术由个人行为规范和大量编程到其中的规则组成。这些规范被称为协议。具体协议的实施本质上使区块链成为一个分布式的、点对点的、安全的信息数据库。
区块链协议确保网络按照其创建者所希望的方式运行,即使它是完全自治的,不受任何人控制。
每个哈希数的输入信息必须包括前一个区块的哈希数。
成功挖出一个区块的奖励在21万个区块被挖出后减少一半。对于比特币来说,这被称为减半。以每个区块10分钟计算,挖出21万个区块需要大约四年时间,因此比特币每四年就会发生减半事件。
为了使挖出一个区块所需的时间保持在10分钟左右,每产生2016个区块就会重新计算挖矿难度。挖矿难度基本上平衡了网络,以说明矿工的数量。更多的矿工意味着竞争环境更激烈,使区块更加难挖出。较少的矿工意味着区块相对更容易挖出,从而吸引矿工参与。
工作量证明
在区块中放置交易被称为工作量证明(PoW)挑战的成功结束,并由称为矿工的特殊节点执行。
PoW是一个需要服务请求者做一些工作的系统,通常意味着由计算机处理时间。生成PoW是一个低概率的随机过程,因此通常需要大量的尝试和错误才能生成有效的PoW。说到比特币,哈希就是一个PoW。
什么是挖矿?
区块链上的矿工是通过解决工作量证明问题来生成区块的节点。如果一个矿工生产的区块得到了节点的电子共识的认可,他就会获得一定数量的币作为奖励,这就是所谓的区块奖励。
然而,这种区块奖励并不是矿工继续运行硬件的唯一动力。它们通常还会收取交易费用,即用户为发送交易而支付的费用。交易费用可以根据在任何给定时间整个网络上发送的交易数量而改变。更多的网络流量意味着更高的费用。尽管在大多数情况下,费用数额可以由发送方选择,但矿工总是会优先考虑交易费用较高的转账。因此,除非你愿意支付相当高的费用,否则如果网络流量过大,你的交易可能需要很长时间才能处理。
什么是质押?
区块链技术还可以基于权益证明(PoS)共识算法来运行。通过PoS,质押者将区块链的特定资产保存在与质押兼容的钱包或位置中,从而帮助区块链运行,并以此获得奖励。网络贡献取决于某人持有的相关资产的数量。根据行业术语,这种类型的生态系统不会开采区块,而是锻造区块。
主节点也存在于PoS世界中,以帮助运行网络以获得特定的奖励,尽管主节点通常需要一定数量的给定资产,并且必须以特定的方式设置。多年来,PoS与PoW之间的争论一直存在,双方都有各自的理由。
区块链技术原理
区块链本质上是分布式数据库的类型。数据库是区块链,区块链上的每个节点都可以访问整条链。没有一个节点或计算机监管它所包含的信息。每个节点都可以验证区块链的记录。这一切都是在没有一个或几个中间人控制一切的情况下完成的。
它在架构上是去中心化的,并且不存在会导致区块链崩溃的单点故障。
然而,区块链的节点在逻辑上是中心化的,因为整个区块链是一个执行某些程序化操作的分布式网络。
点对点传输
在去中心化点对点(P2P)传输中,通信总是直接发生在点之间,而不是通过一个中心节点。区块链上正在发生的事情的信息存储在每个节点上,然后传递给相邻的节点。这样,信息就通过整个网络传播。
透明而匿名的
任何检查区块链的人都能够看到每个交易及其哈希值。如果他们愿意,使用区块链的人可以是匿名的,也可以把自己的身份证明给其他人。区块链上看到的只是钱包地址之间的交易记录。
一旦交易记录在区块链上,且区块链更新,就不可能更改这笔交易的记录。为什么?特定的交易记录与前一个交易记录相关联,使其不可更改。区块链记录是永久的,它们按时间顺序排列,并且所有其他节点都可看到。
要关掉网络几乎是不可能的。由于有大量的节点存在并在全球范围内运行,单一的一方几乎不可能接管整个网络。
伪造一个区块也几乎是不可能的,因为每个区块的有效性以及扩展到区块链中的内容都是由节点的电子共识决定的。有成千上万个这样的节点,分散在世界各地。因此,捕获网络将需要一台具有几乎不可能的能力的计算机。
然而,使用区块链技术作为常规数据库将会很困难。你是否可以在区块链上存储3gb的文件,就像使用Microsoft Access、FileMaker或MySQL这样的数据库平台一样?这不是一个好主意。大多数区块链在设计上不适合这样做,或者只是缺乏所需的能力。
传统的在线数据库通常使用客户-服务器网络架构。这意味着具有访问权限的用户可以更改存储在数据库中的条目,但总体控制仍由管理员负责。对于区块链数据库,每个用户都负责维护、计算和更新每个新条目。每个节点都必须一起工作,以确保它们都得到相同的结论。
区块链技术架构还意味着每个节点必须独立工作,并将其工作结果与网络的其他部分进行比较,因此达成共识可能非常耗时。正因为如此,区块链网络历来被认为比传统的数字交易技术慢。在某些情况下,区块链的进步提高了与区块链相关的交易速度,这在一些加密资产、项目和解决方案中可以看到。
也就是说,有一些使用区块链技术生成数据库的试验。这些平台的目标是采用企业级分布式数据库并在其之上构建,同时添加区块链的三个关键属性:去中心化、不可更改性以及登记和转移资产的能力。
区块链技术可以用在什么地方?
本文的最后一部分将讨论区块链的许多应用程序中的一些。区块链技术对于所谓的“智能合约”尤其理想。那么,智能合约到底是什么呢?
智能合约定义了围绕特定协议的规则和惩罚,与传统合约的功能类似。然而,最大的区别在于,智能合约会自动执行这些义务。由于其代码,智能合约在满足特定标准的情况下才得以履行。
去中心化金融
去中心化金融(DeFi)是对区块链技术的使用,允许参与者获得与主流金融世界中类似的常见功能,只不过是以去中心化的方式。使用不同的DeFi解决方案,参与者可以在区块链上借贷资金——以及获得其他机会,而不受中央机构的控制。
非同质化代币
非同质化代币(NFT)作为区块链技术的一种应用在许多不同的用例中具有巨大的潜力。这样的代币是可验证的、唯一的,并且不能与具有相同价值的其他代币进行一对一的交换。NFT的一个潜在用例是艺术品的认证,艺术品与NFT挂钩,可以验证它们的真实性和所有权。
供应链
供应链是区块链的另一个用例。将区块链技术应用于供应链可以提供追踪原料、食品、材料等的能力,以证明它们的来源,还可提供关于任何给定供应链的其他相关信息。
保证期索赔
解决保证期索赔问题可能是昂贵的,耗时的,而且对那些提出索赔的人来说往往是困难的。使用区块链技术实施智能合约是可能的,这将不可避免地使流程明显简化。
在传统的系统中,当提出索赔时,人们会执行所有的检查,这可能很耗时,并为人为错误留下空间。这可能变得没有必要,因为可以使用区块链自动完成标准检查。一旦所有的义务都完成了,最终的支付是自动的。这一切都可以用最少的人力参与完成。
保险索赔
通过智能合约,可以为特定的保险相关情况建立一套特定的标准。理论上,通过实施区块链技术,你可以在线提交保险索赔,并立即收到自动赔付——当然,这取决于你的索赔是否符合所有要求的标准。
身份验证
现有的身份验证方法浪费了太多的时间和精力,也存在安全隐患。有了区块链和它的去中心化,在线身份验证可能会更快,也可能更安全。
随着区块链的使用,将在线身份数据保存在一个中央位置可能成为过去的做法,这意味着计算机黑客将不再有中心化的攻击漏洞点。区块链支持的数据存储也是防篡改和不可破坏的。区块链技术也可以应用于医疗信息,改善相关流程和安全性。
物联网
通过互联网连接在一起进行互动,物联网(IoT)是一个由软件友好型项目组成的生态系统,如车辆和设备,其中包括某些技术规范,使这种交互成为可能。区块链技术及其智能合约可能证明会有所帮助。
区块链技术可以在未来的物联网中发挥作用,部分原因是它提供了防范黑客的潜在方法。由于它是为去中心化控制而构建的,基于它的安全方案应该具有足够的可扩展性,以覆盖物联网的扩展。此外,区块链对数据篡改的强大保护可以帮助防止流氓设备传递误导信息,这可能从本质上破坏家庭、工厂或运输系统。
存档和文件存储
Google Drive、Dropbox等采用中心化方法,彻底开发了文件的电子归档。中心化网站对黑客很有吸引力。区块链和它的智能合约提供了大量减少这种威胁的方法。
近年来出现了许多去中心化的云存储解决方案。通过利用区块链技术,这些解决方案允许参与者以去中心化的方式购买和出售存储。
打击犯罪
违法者必须隐藏和伪装从其犯罪行为中获得的金钱。这可以通过伪造银行账户、赌博和离岸公司等策略实现。对于加密货币交易的透明度存在许多担忧,尽管由于区块链技术,所有必要的监管要素--如识别各方和信息、交易记录、甚至执法--都可以存在于加密货币系统中。
随着这项技术越来越受到主流的关注,区块链及其智能合约有潜力帮助打击洗钱。
社交媒体
社交媒体组织要求用户有权使用他们的个人资料和所有上传的内容。社交媒体选择通常是中心化的,更容易被入侵,并且是由单一实体管理的。区块链技术有可能使社交媒体去中心化,可能增加保护免受黑客攻击,使内容更能抵抗审查,并让用户对他们的数据有更多的控制。
投票
通过智能合约和区块链可以大大改善与选举等有关的投票活动。随着时间的推移,各种相关的应用程序已经出现。在许多好处中,将区块链技术纳入投票可能会使未来的历史更抗篡改和更透明。
局限性和漏洞
除了比特币区块链之外,还有大量其他区块链,项目可以在其上构建解决方案。此外,一些项目决定开发自己的主网区块链。任何区块链网络很大程度上取决于其活跃用户的数量。为了充分发挥其潜力,网络必须是强健的,具有广泛分布的节点网格。
此外,区块链技术在交易速度方面与Visa或万事达等主要信用卡发行商相比仍存在差距。
最后,理论上总是存在着大规模占领任何特定区块链网络的可能性。如果一个组织能够以某种方式设法获得对网络大多数节点的控制,那么它就不再是完全意义上的去中心化。
企业区块链
企业区块链是指主流巨头公司将区块链技术整合到他们的基础设施中。许多主流公司已经研究了区块链技术的各种应用。其他主流公司也提出了一些框架和工具,以帮助实体将区块链技术融入他们的工作中。
这些区块链通常不会以加密领域中看到的方式拥有原生货币,网络参与者也不会为奖励而竞争,他们只是进行确认。
Cointelegraph中文作为区块链新闻资讯平台,所提供的资讯仅代表作者个人观点,与Cointelegraph中文平台立场无关,且不构成任何投资理财建议。请广大读者树立正确的货币观念和投资理念,切实提高风险意识。鉴于中国尚未出台数字资产相关政策及法规,请中国大陆用户谨慎进行数字货币投资。