分享区块链领域相关知识
一. 区块链解义
区块链是分布式的(即没有单一存储库)和去中心化的数字账本,具有防篡改性和抗性。在最基本的层面上,它们允许用户在该组内的共享账本中记录交易。结果是,一旦在标准区块链网络功能下发布,就无法修改任何交易。
区块链概念在 2008 年与许多其他技术和计算机概念集成,以创建现代加密货币:受加密过程保护的电子现金,而不是中央存储库或权威机构。
区块链实施通常是在考虑特定目标或功能的情况下创建的。加密货币、智能合约和企业分布式账本系统都是功能的示例。
比特币是第一种基于区块链的加密货币,允许用户公开共享数据,以便参与者可以独立验证交易的有效性。加密货币建立在区块链技术之上,该技术以加密功能的大量使用而得名。
为了在系统内进行数字签名和安全交易,用户使用公钥和私钥。用户可以使用加密哈希函数解决难题,希望在涉及挖矿的基于加密货币的区块链网络中获得固定数量的资金。
区块链技术领域不断进步,定期推出新平台——环境不断变化。除了加密货币,区块链技术还可用于建立一个永久、公开和透明的账本系统,用于收集销售数据、跟踪数字使用情况以及向音乐家等内容创作者付款。
区块链的基本目标是让人们——尤其是那些彼此不信任的人——以安全、防篡改的方式交流重要数据。这一目标通过哈希函数、区块、节点、矿工、钱包、数字签名和协议是区块链中的各种主要概念实现。
让我们想象一下,一个房间里有 10 个人决定制作一种新货币。他们必须跟踪资金流动,以确保代币在新的货币生态系统中的有效性。一个人 — 我们叫他Bob — 决定在日记中列出所有行动的清单。然而,另一个人——让我们叫他Jack — 决定偷钱。为了隐藏这一点,他更改了日记中的条目。
然后有一天,鲍勃注意到有人干扰了他的日记。他决定改变日记的格式,以防止将来被篡改。他使用了一个叫做哈希函数的程序,将文本转换为一组数字和字母,如下表所示。
此过程利用安全哈希算法 (SHA) 将字母转换为字符串。Bob 可以选择不同类型的 SHA,每种 SHA 的复杂程度各不相同,并满足不同的需求。
哈希是由哈希函数生成的数字和字母字符串。哈希函数是一种数学函数,可将可变数量的字符转换为具有固定字符数的字符串。
只需对字符串进行微小的更改,即可创建一个全新的哈希值。在每个日记条目后,Bob 插入了一个哈希值。但随后 Jack 决定再次更改条目。他找到了日记,更改了记录并生成了一个新的哈希值。Bob 注意到有人又在筛选日记。他决定使每笔交易的记录复杂化。在每条记录之后,他插入一个从记录的最后一个哈希生成的新哈希。因此,每个条目都依赖于前一个条目。
如果 Jack 尝试更改记录,他将不得不更改所有先前条目中的哈希值。然而, Jack 是一个顽固的小偷,所以他花了一整晚的时间数所有的哈希值。
Bob 不想放弃,所以他在每条记录后添加了一个不同的随机数。这个数字称为 “nonce”。应以导致生成的哈希以两个 0 结尾的方式选择 Nonce。要使用 Bob 更新的输入系统伪造记录,Jack 现在必须花费数小时来确定每行的随机数。
随机数即使是计算机也很难弄清楚,但这项任务是可能的,因为矿工们在区块链挖矿过程中竞相发现它们。
Bob 最初的 5,000 笔交易电子表格称为创世区块 — 该区块链的起点。这种货币的采用已经普及,因此交易来得又快又频繁。创建新区块,该区块也可以容纳多达 5,000 笔交易,并具有与前区块相关的代码,使它们不可伪造。
假设这个区块链每 10 分钟更新一次新区块。它会自动执行此操作。没有主计算机或中央计算机指示计算机执行此操作。
一旦电子表格、分类账或注册表更新,就无法再更改。因此,不可能伪造它。您只能向其添加新条目。注册表将同时在网络上的所有计算机上更新。对区块链的更改需要大多数网络参与者的共识。
区块链的一个潜在风险是“51% 攻击”,在此期间,一方超过了区块链的大部分哈希率,然后允许他们控制网络。
一般来说,一个区块包含时间戳、对前一个区块的引用、交易以及在区块进入区块链之前必须解决的计算问题。必须达成共识的分布式节点网络使得区块链内几乎不可能进行欺诈。
Bob 就这样把日记记了一小会儿。然而,随着新交易的不断发生,他很快就被记录的数量所累,认为他目前的系统是不可持续的。因此,当他的日记达到 5,000 笔交易时,他就将其转换为单页电子表格。Mary 检查了所有交易的准确性。
然后,Bob 将他的电子表格日记提供给 3,000 台不同的计算机,每台计算机都位于全球不同地区。这些计算机称为节点。每次交易发生时,都必须得到这些节点的批准,每个节点都会检查交易的有效性。一旦每个节点都检查了一笔交易,本质上就会发生一种电子投票。一些节点可能认为交易是有效的,而另一些节点可能认为它是欺诈性的。
每个节点都有一份电子表格日记的副本。每个节点都会检查每笔交易的有效性。如果大多数节点都表示交易有效,则将其写入区块。
现在,如果 Jack 想更改电子表格日记中的一个条目,所有其他计算机都将具有原始哈希值。他们不允许这种变化发生。
挖矿是矿工向链添加新区块的过程。区块链中的每个区块都有其唯一的 nonce 和哈希值,但它也引用了链中前一个区块的哈希值,这使得挖掘一个区块变得困难,尤其是在大链上。
矿工利用专门的软件来解决使用 nonce 生成可接受哈希值这一极其困难的数学问题。因为随机数只有 32 位长,而哈希值长 256 位,所以在找到合适的随机数哈希组合之前,大约有 40 亿个 nonce 哈希组合需要挖掘。
发生这种情况时,矿工被认为发现了“黄金随机数”,他们的区块被添加到链中。对链中较早的任何区块进行更改,不仅需要重新挖掘受影响的区块,还需要重新挖掘所有后续区块。
这就是为什么操纵区块链技术如此困难的原因。将其视为“数学安全”,因为识别黄金随机数需要很长时间和大量计算资源。当一个区块被成功开采时,网络中的所有节点都会确认这一变化,矿工将获得经济补偿。
继续同样的例子,Bob 将 10 个人聚集在一起(最初聚集在一起的 10 个人是新货币的一部分)。他需要向他们解释新的数字硬币和账本系统。
Jack 向大家忏悔了他的罪过并道歉。为了证明他的诚意,他把硬币还给了安和玛丽。
整理好这一切后,Bob 解释了为什么这种情况永远不会再次发生。他决定实施一种称为数字签名的东西来确认每笔交易。但首先,他给了每个人一个钱包。
如果您拥有数字货币,那么您需要一个数字钱包或在线平台或交易所进行存储。
钱包是一串数字和字母,例如:18c177926650e5550973303c300e136f22673b74。随着交易的发生,该地址将出现在区块链内的各个区块中。不包括姓名或个人身份信息 - 只包括钱包号码。
公共钱包地址是可以向其发送某些资产的字符串。每个特定钱包的地址都是从公钥生成的。
要进行交易,您需要两样东西:钱包(即地址)和私钥。私钥是一串随机数。但是,与地址不同的是,私钥必须保密。私钥控制其相关钱包中持有的资金。
当有人决定向其他人发送硬币时,他们必须使用他们的私钥对包含交易的消息进行签名。由两个密钥(一个私钥和一个公钥)组成的系统是加密和密码学的核心,其使用早在区块链出现之前就已存在。它于 1970 年代首次提出。
消息发送后,它会广播到区块链网络。然后,节点网络对消息进行处理,以确保它包含的交易有效。如果它确认了有效性,则交易被放置在一个区块中。之后,无法更改有关它的任何信息。
加密密钥是一串数字和字母。加密密钥由密钥生成器或注册机制作。这些注册机使用涉及素数的非常高级的数学来创建键。此类密钥可用于加密或解密信息。
区块链技术由个人行为规范和编程到其中的大量规则组成。这些规范称为协议。特定协议的实施从根本上使区块链成为它所是的 — 一个分布式、点对点、安全的信息数据库。
区块链协议确保网络按照其创建者想要的方式运行,即使它是完全自主的并且不受任何人控制。
以下是在区块链中实现的协议的一些示例:
每个哈希号的输入信息必须包括前一个区块的哈希号。
成功挖出一个区块的奖励在挖出 210,000 个区块后减少一半。对于比特币,这称为减半。按每个区块 10 分钟计算,开采 210,000 个区块大约需要四年时间;因此,比特币每四年减半一次。
为了将开采一个区块所需的时间保持在大约 10 分钟,每 2,016 个区块重新计算一次挖矿难度。挖矿难度本质上是平衡网络以考虑矿工的数量。更多的矿工意味着更激烈的竞争氛围,使区块更难开采。更少的矿工意味着开采区块相对更容易,从而吸引矿工参与。
大多数区块链都是作为去中心化数据库构建的,充当分布式账本。这些区块链账本跟踪数据并将其存储在按时间顺序排列并通过加密证明链接的区块中。
区块链技术的发展为广泛的企业带来了许多好处,包括在去信任情况下增强安全性。然而,它是去中心化的这一事实有很大的缺点。例如,与通常的集中式数据库相比,区块链的效率受到限制,并且需要更多的存储空间。
区块链本质上是分布式数据库的类型。数据库是区块链,区块链上的每个节点都可以访问整个链。没有一个节点或计算机控制它包含的信息。每个节点都可以验证区块链的记录。这一切都是在没有一个或多个中介控制所有事情的情况下完成的。
它在架构上是去中心化的,没有单点故障会导致区块链瘫痪,这使其成为区块链系统的关键组成部分。但是,区块链的节点在逻辑上是集中的,因为整个区块链是一个执行某些编程操作的分布式网络。
在去中心化点对点 (P2P) 传输中,通信总是直接在对等点之间进行,而不是通过中央节点进行。有关区块链上发生的事情的信息存储在每个节点上,然后传递给相邻节点。通过这种方式,信息在整个网络中传播。
任何检查区块链的人都能够看到每笔交易及其哈希值。使用区块链的人如果愿意,可以匿名行事,也可以将自己的身份证明提供给其他人。在区块链上看到的只是钱包地址之间的交易记录。
一旦交易记录在区块链上并且区块链更新,就不可能更改此交易的记录。为什么?该特定交易记录链接到前面的每个交易记录,使其不可变。区块链记录是永久性的,它们按时间顺序排序,并且可供所有其他节点使用。
关闭网络几乎是不可能的。由于存在众多节点并在全球运行,因此单一方无法接管整个网络。
伪造一个区块也几乎是不可能的,因为每个区块的有效性以及它是否包含在区块链中是由节点的电子共识决定的。有数千个这样的节点,分散在世界各地。因此,捕获网络需要一台功率几乎不可能的计算机。
然而,将区块链技术用作普通数据库将被证明是困难的。您能否像使用 Microsoft Access、FileMaker 或 MySQL 等数据库平台一样在区块链上存储 3 GB 的文件?这不是一个好主意。大多数区块链在设计上并不适合这一点,或者只是缺乏所需的容量。
传统的在线数据库通常使用客户端-服务器网络架构。这意味着具有访问权限的用户可以更改存储在数据库中的条目,但总体控制权仍由管理员掌握。对于区块链数据库,每个用户都负责维护、计算和更新每个新条目。每个节点都必须协同工作,以确保它们都得出相同的结论。
区块链技术的架构要求每个节点独立处理交易并验证其有效性,然后将结果与网络中的其他节点共享以达成共识。这种去中心化的特性虽然增强了系统的安全性和透明度,但也导致了交易处理速度相对较慢,因为所有节点都需要参与验证过程。
为了克服这一速度限制,一些创新项目正在尝试改进区块链技术,使其能够更好地适应企业级应用的需求。这些努力包括优化共识机制和提高网络效率,以便在保持区块链核心优势的同时,提升交易速度和处理能力。
尽管区块链不能幸免于黑客攻击,但其去中心化的性质为其提供了更强大的安全保障。黑客或罪犯需要控制分布式账本中一半以上的机器才能改变它。
最知名和最大的区块链网络,例如比特币和以太坊向拥有计算机和互联网连接的所有人开放。在区块链网络上拥有更多参与者往往会提高安全性,而不是造成安全问题。更多的节点参与意味着更多的人正在审查彼此的工作并报告不良行为者。这就是为什么与直觉相反,需要邀请才能加入的私有区块链网络更容易受到黑客攻击和操纵的原因之一。
此外,区块链技术有助于防止支付和汇款中的“双花”攻击,这是一种网络恶意行为。简单来说,“双花”攻击就是有人试图通过操纵区块链的共识机制,让同一笔加密货币被多次使用。这通常发生在攻击者掌握了网络超过一半的计算能力时,他们可以创建一个分叉链,在这条链和主链上同时进行交易,从而达到重复花费的目的。
与传统现金不同,加密货币面临被多次花费的风险。例如,用3美元买了咖啡后,这笔钱就不能再用于其他消费。但在加密货币交易中,存在用户在网络确认前多次花费同一笔资金的可能。这就是为什么区块链技术很重要,因为它要求整个网络就交易的顺序达成一致,并公开发布确认的交易,这有助于维护网络的安全。
以下是比特币与区块链的比较表格:
比特币 | 区块链 | |
---|---|---|
定义 | 一种数字货币,使用区块链技术来实现去中心化的交易 | 一种分布式账本技术,用于记录和验证交易数据的不可篡改性 |
发明者 | 中本聪(Satoshi Nakamoto) | 中本聪(Satoshi Nakamoto) |
时间 | 2009年 | 2008年 |
目的 | 实现去中心化的货币系统,解决传统金融体系中的信任问题 | 提供一种去中心化、安全、透明的分布式账本技术,可应用于各种场景 |
工作原理 | 基于区块链技术,通过挖矿产生新的比特币并验证交易 | 通过分布式网络,节点共同维护和验证交易记录,形成不可篡改的区块链 |
货币属性 | 具有货币属性,可用于购买商品和服务 | 不直接具有货币属性,但可作为底层技术支持其他数字货币和金融应用 |
去中心化程度 | 完全去中心化,没有中央控制机构 | 完全去中心化,没有中央控制机构 |
安全性 | 通过密码学和区块链技术确保交易的安全性和私密性 | 通过分布式网络和加密技术确保数据的安全性和不可篡改性 |
可扩展性 | 受限于区块大小和交易速度,可扩展性有限 | 通过分片、侧链等技术提高可扩展性 |
应用范围 | 主要用于数字货币交易和支付 | 可应用于金融、供应链、物联网、版权保护等多个领域 |
法律地位 | 在一些国家/地区被认可为合法货币,在其他国家/地区则存在法律争议 | 作为一种技术,普遍被视为合法,但具体应用可能受法律法规限制 |
公开性 | 所有交易记录公开可见 | 所有交易记录公开可见,但交易双方的身份可以保持匿名 |
能源消耗 | 挖矿过程消耗大量能源 | 虽然区块链本身不直接消耗大量能源,但某些共识机制(如PoW)可能消耗较多能源 |
这个表格概括了比特币和区块链的主要区别和相似之处。请注意,随着技术的发展和应用场景的拓展,这些差异可能会发生变化。
本部分将讨论区块链的许多应用。区块链技术特别适合所谓的“智能合约”。那么,究竟什么是智能合约?
智能合约是区块链上的自动化程序,它们根据预设条件自动执行并验证交易,无需人工介入。与传统合同相比,智能合约通过编码实现了条款的自动履行和强制执行。
去中心化金融或 DeFi 是利用区块链技术,允许参与者访问类似于主流金融世界常见的功能,但是以去中心化的方式。使用不同的 DeFi 解决方案,参与者可以借出和借入资金——以及获得其他机会——在不受中心化机构控制的情况下在区块链上进行管理。
不可替代代币(NFT)是基于区块链技术的一种独特数字资产,每个NFT都具有独一无二的价值,无法与其他NFT进行等价交换。NFT的一个典型应用是用于验证艺术品的真实性和所有权,通过将艺术品与特定的NFT关联起来,确保其独特性和可追溯性。
将区块链技术应用于供应链可以提供跟踪成分、食品、材料等到源头的能力,以证明其来源,以及提供有关任何给定供应链的其他相关信息。
解决保修索赔可能昂贵、耗时,并且对于提出索赔的人来说通常很困难。使用区块链技术实现智能合约是可能的,这必然会使这个过程变得明显更容易。
通过智能合约,可以为特定的保险相关情况建立一套特定的标准。从理论上讲,随着区块链技术的实施,您只需在线提交您的保险索赔并立即收到自动赔付——当然,前提是您的索赔符合所有要求的标准。
借助区块链及其去中心化方面,在线身份验证可以更快且可能更安全。使用区块链将在线身份数据保存在一个中心位置可能成为过去,这意味着计算机黑客将不再拥有集中的攻击漏洞点。
物联网通过互联网链接在一起以进行交互,是一个由软件友好型项目(例如车辆和设备)组成的生态系统,其中包括使此类交互成为可能的某些技术规范。
区块链技术可以在物联网的未来中发挥作用,部分原因是提供了防范黑客的潜在方法。由于区块链是为去中心化控制而构建的,因此基于它的安全方案应该具有足够的可扩展性,以涵盖 IoT 的扩展。
Google Drive、Dropbox 和其他公司已经使用集中式方法彻底开发了文档的电子存档。集中式站点对黑客很有吸引力。区块链及其智能合约提供了大幅减少这种威胁的方法。
随着该技术获得更多主流关注,区块链及其智能合约有可能帮助打击洗钱策略。
区块链提供了对系统的更全面的分析,而不仅仅是监控进入和退出点。由于区块链是一个去中心化网络,其中每个用户或节点都负责验证更新,因此它增强了网络的安全性。
通过智能合约和区块链,可以大大改善选举中的投票和类似过程。随着时间的推移,各种相关的应用程序已经出现。
区块链技术作为一种革命性的分布式账本技术,其潜力确实令人兴奋。随着技术的不断发展和完善,我们有理由相信,区块链将在未来发挥更加重要的作用,推动社会向去中心化、去信任的方向发展。
去中心化的互联网:
交易透明度:
应对社会挑战:
财富定义的重构:
广泛应用领域:
总之,区块链技术的未来充满了无限可能,随着技术的不断进步和应用场景的拓展,我们将见证一个更加高效、安全和透明的数字世界。