数据结构论坛

首页 » 分类 » 定义 » 五区块链相关术语解读分析
TUhjnbcbe - 2025/8/1 17:21:00
王家怀怎么挂号 http://pf.39.net/bdfyy/jdsb/250605/p4vjm4o.html

本篇主要介绍有关区块链的一些行业和技术术语,如区块、分叉、工作量证明、闪电网络等,将近8K多字,相对枯燥一些,建议精神和体力较好时阅读。

区块链名词词典

Block(区块):区块是在区块链网络上承载永久记录的数据的数据包。BlockExplorer(区块资源管理器/浏览器):区块资源管理器是一种用来来查看区块上的所有交易(过去和当前)在线工具。它们提供有用的信息,如网络哈希率和交易增长率。BlockHeight(区块高度):连接在区块链上的块数。Dapp(去中心化应用):Dapp(去中心化应用程序)是一种开源的应用程序,自动运行,将其数据存储在区块链上,以密码令牌的形式激励,并以显示有价值证明的协议进行操作。DAO(去中心化自治组织):去中心化自治组织可以被认为是在没有任何人为干预的情况下运行的公司,并将一切形式的控制交给一套不可破坏的业务规则。Ethereum(以太坊):Ethereum是一个基于blockchain的去中心化运行智能合约的平台,旨在解决与审查,欺诈和第三方干扰相关的问题。EVM(以太坊虚拟机):Ethereum虚拟机(EVM)是一个图灵完整的虚拟机,允许任何人执行任意EVM字节码。每个Ethereum节点都运行在EVM上,以保持整个块链的一致性。HardFork(硬分支):一种使以前无效的交易有效的分支类型,反之亦然。这种类型的分支需要所有节点和用户升级到最新版本的协议软件。Mining(挖矿):挖矿是验证区块链交易的行为。验证的必要性通常以货币的形式奖励给矿工。在这个密码安全的繁荣期间,当正确完成计算,采矿可以是一个有利可图的业务。通过选择最有效和最适合的硬件和采矿目标,采矿可以产生稳定的被动收入形式.

区块链分叉

分叉有两种,一是由于网络通讯造成的偶发分叉和孤块。二是由于使用某种数字货币的社区内部发生共识分裂,造成的永久的、非偶发的分叉。

网络通信分叉:孤块。由于服务器的数量太多了,彼此通讯的延迟有大有小,有时候会产生区块链的分叉,比如说甲、乙两台服务器几乎同时找到了工作量证明,那么会导致有的服务器把甲的区块追加到自己所存储的区块链上,其它则追加乙的。

这个时候,区块链就出现了甲乙两个分支,在两个分支上都有服务器在持续追加块。为了解决这个问题,共识协议约定,以最长的链为准,即经过一段时间之后,如果在甲分支上追加了的区块的数量大于乙分支,就以甲为准,这个时候乙分支上的块,就成为了孤块,不被系统所承认。

年以太坊区块链因智能合约漏洞遭致黑客攻击而分裂,导致在以太币(Ether,简称ETH)之外,又出现了以太坊经典币(EthereumClassic,简称ETC)。年8月1日,新的加密货币“比特币现金”(BitcoinCash,简称BCH)正式上线。

分裂起因是什么?技术上的原因在于比特币社区长期以来就区块链容量存在分歧(本文稍后会做出解释),但深层次的原因在于比特币社区存在以下理念分歧:是保留比特币去中心的属性与维护社区对比特币网络的独立控制能力重要,还是加快比特币交易速度使其更能满足主流电子商务与支付需求重要?

比特币与以太坊分叉的起因完全不同,但是从两者都发生了分裂可以看出,在一个区块链网络中,要就重大决定达成共识是非常艰难的事情。

比特币分叉

与所有加密货币和公共区块链一样,比特币也是开源软件。对该软件做出任何修改都需要获得比特币社区的一致认可。

如果有某些节点擅自修改了软件,这些节点就会拒绝认可网络中其他节点遵守的规则,新的区块链随之形成。

随着比特币日渐流行,网络处理和检验交易的压力越来越大,最后出现排队等待交易确认的情况。确认交易所需时间从原来的平均10分钟拉长到今年6月出现的峰值:超过40个小时。

以太坊分叉

以太坊与比特币区块链网络的不同之处除了二者的加密货币不同(以太坊对应以太币)之外,还表现在以太坊是一个区块链应用平台,能够创建智能合约与去中心化应用程序。以太坊区块链也是一个实施共识投票制的去中心化网络,但该平台的设计与监管依然是由组成以太坊基金会(EthereumFoundation)的核心开发者(包括联合创始人VitalikButerin)负责。黑客发现漏洞,继而盗走价值万美元的以太币一方认为所有矿工应该团结一致,撤销黑客盗取资金的交易记录,修复智能合约的漏洞,并退还DAO投资者的资金。相比不可变更性,维护一个公平有效的系统更重要。另一方则认为,按规定,DAO是不可以修改的智能合约,因此应该让它继续运行,而不是往后退。以太坊正式文档中又有“决不可对去中心化应用程序进行审查或第三方干预”的明确规定。这就意味着,挽救区块链就等于破坏了以太坊的核心原则。‘如果你们要抹掉黑客攻击DAO的交易,就等于违反核心原则,那我们会坚决抵制,以维护以太坊的可信度’。

软分叉与硬分叉

我们可以把比特币系统共识的修改看作是对其软件代码的升级。而升级修改的则是比特币交易的数据结构、生成区块链的格式以及某些新特性等等方面。

硬分叉指的是,比特币代码发生变化之后,未进行升级的旧节点无法验证已经升级的新节点。

为此不符合原规则的区块会被忽略,使用旧节点的矿工按照原规则继续挖矿,区块链发生永久性的分歧。也就是说,如果新规则部署后部分节点未进行升级,区块链将分裂为两条链;就如年以太坊为追回TheDAO被盗资金而发生的分裂事件。

软分叉则是指旧节点并不会意识到代码的变化,并继续接受或者说验证新节点生成的区块。

具体来说,软分叉和硬分叉的新节点都可接受由旧节点产生的数据或者代码,就如Windows10亦兼容WindowsXP应用。而软分叉在此基础之上,还可实现“向前兼容”,让旧节点也可以接受新节点产生的区块,从而避免区块链分裂这种情况。

不过要实现新旧节点之间的完全兼容非常困难,所以软分叉的升级空间非常有限,仅可在不增加新字段的情况下进行修改。而相比之下,只需考虑“向后兼容”问题的硬分叉,可塑性更高。

最长链原则

比特币是一个去中心化的系统,每个全节点中都保存着一份区块链账本数据,并且从理论上来说,矿工可以从任意区块高度开始继续向下挖掘新的区块。在这种情况下,该如何确定什么样的区块链是有效的?

比特币区块是依靠矿工们不断进行数学运算而产生的,每一个区块都必须引用其上一个区块,因此最长的链也是最难以推翻和篡改的,所以节点永远认为最长链才是有效的区块链,只有在最长链上挖矿的矿工才能够获得奖励,这就是我们常说的比特币最长链原则。

矿工在挖矿时,由于哈希值的产生是随机的,再加上网络的延迟,就存在两个矿工同时挖出区块的可能,当发生这种情况时,如果他们一起记账就会造成区块链的分叉。此时,系统就会根据最长链原则进行取舍,即哪个新产生的区块能使其所在的区块链变得更长,则哪个区块得以被记录。所有矿工在最长链上挖矿有利于维护区块链账本的唯一性。

这条最长的区块链通常被称为“主链”。在比特币主链上其实也存在着分支,这些分支被当做备用链,如果新添加的区块使备用链累积了更多的工作量,那么这条备用链将被作为新的主链。

比特币的找零机制

日常钱包中保存着不同面值的现金一样,你可以选择使用多张小额的零钱付款,也可以使用大于商品价格的大额钞票买单,然后等待商家找零。

每笔比特币交易都包括输入和输出两个部分,其中未花费的交易输出(UTXO)将可以作为下一笔交易的输入,而这笔输入可以由多个UTXO构成。当你发起一次转账时,比特币钱包通常会在所有可供支付的UTXO中,寻找合适的金额来进行支付。

在比特币系统中也存在这样的找零机制。为了节约手续费,比特币客户端通常会优先选择使用大额的UTXO进行支付;这时,比特币钱包就会自动创建一个新的地址,用来接收除去转账金额和手续费之后的找零。比特币在进行交易时,会把发起交易地址的余额清零,转账后的剩余金额会转到找零地址中去。当然找零的接收地址也可以设置为发起交易的原地址。

通常情况下,比特币客户端在一开始会产生个用户专属地址的私钥,创建找零地址时会优先使用这个地址中的某一个,当这些地址全部被使用之后,将会继续创建新的找零地址。因此,有不少比特币资深用户提醒大家,当比特币钱包交易次以上之后,需要重新备份钱包。否则当你恢复钱包时,很有可能丢失新的找零地址。

比特币交易的手续费是如何计算的

当你从一个比特币地址向另一个比特币地址转账时,通常需要附加一笔额外的手续费给矿工。在比特币的底层协议中,并没有规定这笔手续费具体的数额是多少,只是要求地址中总输入不小于总输出,即你钱包中比特币的总量必须大于你要转账的数额加上手续费数额。

通常,一笔普通比特币交易是由一个输入两个输出(交易输出和找零输出)构成,大小在字节左右,按每0字节默认收费0.BTC计算,普通的比特币转账费用大概在0.-0.BTC之间;但是当单笔输入不足以支付输出时,就会出现上述的多个交易输入构成未花费输出的问题,此时其数据量就会变大。而未花费交易输出的构成越复杂,需要处理的字节就越多,手续费也就相应越高。

由于区块容纳交易记录的容量有限,矿工一般会优先打包手续费高的交易。当然,目前在使用比特币钱包进行转账时,大部分钱包可以根据网络数据,自动将手续费调整为最佳状态;但如果你的交易需要紧急确认,那么也可以选择自定义费用。

比特币钱包

用于确立我们比特币所有权的数字密钥以及地址,由用户生成并储存在一个文件或者简单的数据库中。这个储存工具就是我们通常说的钱包,它在比特币网络中起着管理私钥、地址以及区块链数据的作用。

钱包具有多种形态,如果根据区块链数据维护方式来分类的话,可以分为全节点钱包以及轻钱包两种。其中全节点钱包参与到网络的数据维护中,同步了区块链上所有的数据,具有更为隐秘、验证更快等特点。

不过同步所有区块数据需要占据很大的硬盘空间,所以可在手机端、网页端等运行的轻钱包参考了中本聪提出的SPV机制,不储存完整的区块链数据。具体来说,轻钱包也会下载新区块的所有数据,但是它会对数据进行分析后,仅获取并在本地储存与自身相关的交易数据,运行时依赖于比特币网络上其他全节点。

UTXO模型

中本聪发明了UTXO交易模型,并将其应用到比特币当中。UTXO的意思是“未花费的交易输出”,简单来说就是,每一笔比特币交易实际上都是由若干个交易输入和输出组成的。交易输入是资金来源,交易输出是资金去向,每一笔交易都要从交易输入中花费出去一部分,这一部分就是未花费的交易输出(UTXO)。每一次的交易输入都可以追溯到之前的UTXO,直至最初的挖矿所得。

在比特币交易中UTXO就是基本单位,一个UTXO一旦被创建就不可被继续分割,它只能当作是下一笔交易的输入被花费掉,花费后产生新的UTXO,这样周而复始地实现货币的价值转移。所以我们在比特币钱包中所看到的账户余额,实际上是钱包通过扫描区块链并聚合所有属于该用户的UTXO计算得来的。

因此,当我们在说某人拥有1枚比特币的时候,我们实际上说的是,在当前的区块链记录中,有若干笔交易的UTXO收款地址写的是这个人的钱包地址,这些UTXO的总和是1个比特币。

工作量证明

本质上是使用现实社会的货币购买了专业的生产设备矿机,然后消耗现实社会的资源(电力、人力成本)进行工作,获取记账权。

其实,现在矿工并不是直接进行挖矿的,他们是将优质的算力委托给矿池进行挖矿,所以我们可以认为,随着分工的细分,专业化的出现,比特币早已进入了委托工作量证明的共识时代(DPoW),矿工委托矿池进行记账。

无论是PoS还是PoW,本质上都是初期需要一笔法币投入进这个生态购买生产机器(无论是矿机还是token),这些生产机器能够拥有网络的记账权,由于这些生产机器的价值取决于网络的发展状态,因此任何经济利益驱动的人不会进行扰乱记账的行为,由于存在充分的竞争,扰乱记账的行为在参与人数不够多的情况下也不会对系统产生致命影响(大家比较爱聊的51%攻击其实还真没发生过)。

算法相关

哈希(Hash)算法

哈希算法,是一种能将任意长短的字符信息轻松转化成一段固定长度的字符串(哈希值)的算法。

哈希算法的主要特点是:

1.原始信息与输出的哈希值具有唯一的匹配关系,改动原始信息中哪怕一个标点其哈希值都会产生明显的变化;2.无法凭借哈希值破解其原始信息;3.在人类现有的计算能力范围内,不存在重复的哈希值。

非对称加密

用户生成一对公私密钥,用公钥加密的数据,只能用私钥才能解密;用私钥加密的数据,用公钥才能解密。用户把自己的公钥公之于众,想给他发送秘密信息的人,只需用公钥把信息加密,就不怕信息传递过程中被窃听。私钥必须严格保护起来,不得泄漏。

数字签名与盲签名

我希望对外发布一个文件,怎样避免这个文件在传输中被篡改?只需把文件的哈希值用私钥加密,和文件一起对外发布即可。接受者用公钥解密,得到了正确的哈希值,就证明文件的确是我所发布的,因为:(1)文件一旦改变,哈希值就会变;(2)天下只有我拥有私钥。这个被私钥加密的哈希值,称为数字签名。

所谓盲签名,就是先将隐蔽的文件放进信封里,而除去盲因子的过程就是打开这个信封,当文件在一个信封中时,任何人不能读它。对文件签名就是通过在信封里放一张复写纸,签名者在信封上签名时,他的签名便透过复写纸签到文件上。

一般来说,一个好的盲签名应该具有以下的性质:

1.不可伪造性。除了签名者本人外,任何人都不能以他的名义生成有效的盲签名。这是一条最基本的性质。

2.不可抵赖性。签名者一旦签署了某个消息,他无法否认自己对消息的签名。

3.盲性。签名者虽然对某个消息进行了签名,但他不可能得到消息的具体内容。

4.不可跟踪性。一旦消息的签名公开后,签名者不能确定自己何时签署的这条消息。

一个盲签名的可操作性和实现速度取决于以下几个方面:

1.密钥的长度;

2.盲签名的长度;

3.盲签名的算法和验证算法。

12

挖矿与双花

挖矿是一种发行数字货币的机制,也是对维护区块链的节点们的奖励机制。它指的是节点为系统提供“记账“的算力——节点需要接受用户发送来的交易记录,验证其数字签名,验证用户是否真的有他所声称的币。

它们为系统付出了很多劳动,应该得到奖励。以比特币为例,它开始运作时,每当节点为系统追加一个新的区块(或者说“挖”出了一个新的块),节点就会“凭空”获得50个比特币的奖励,这些币是新发行的或者说新“印刷”出来的。之后,每过大约三年半,奖励就会减半,最终在多年后会减到0。整个过程中,总共将发行2万个比特币。挖出新块、得到奖励的过程,被形象地称为挖矿。

双花

互联网是为信息传递而生的,信息的特征是,我把这个信息告诉你,我自己手上还有;

而当我们使用现金时,当我把现金给你了,我不能把这现金再给其他人,这也就是所谓“双花问题”。

我们在实体世界中的所有交换行为也都不可以是花两次的,当我把一个苹果给我,我手上就不应该还有一个苹果。

13

闪电网络

比特币闪电网络的主要思路十分简单——将大量高频小额交易放到比特币区块链之外进行。

核心的概念主要有两个:RSMC(RecoverableSequenceMaturityContract)和HTLC(HashedTimelockContract)。前者解决了链下交易的确认问题,后者解决了支付通道的问题。

RSMC:RecoverableSequenceMaturityContract,中文可以翻译为“可撤销的顺序成熟度合同”。这个词很绕,其实主要原理很简单,就是类似准备金机制。交易是在准备金的资金池中进行交易,当需要提现时,将最终交易结果写到区块链网络中,被最终确认。可以看到,只有在提现时候才需要通过区块链。任何一个提现都需要经过双方的签名认证才合法。另外,即使双方都确认了某次提现,首先提出提现一方的资金到账时间要晚于对方,这就鼓励大家尽量都在链外完成交易。

HTLC:微支付通道是通过HashedTimelockContract来实现的,中文意思是“哈希的带时钟的合约”。这个其实就是限时转账。理解起来其实也很简单,通过智能合约,双方约定转账方先冻结一笔钱,并提供一个哈希值,如果在一定时间内有人能提出一个字符串,使得它哈希后的值跟已知值匹配(实际上意味着转账方授权了接收方来提现),则这笔钱转给接收方。HTLC的机制可以扩展到多个人,大家可以想象一下,想象出来了就理解了闪电网络。

RSMC保障了两个人之间的直接交易可以在链下完成,HTLC保障了任意两个人之间的转账都可以通过一条“支付”通道来完成。整合这两种机制,就可以实现任意两个人之间的交易都可以在链下完成了。

在整个交易中,智能合约起到了中介的重要角色,而区块链则确保最终的交易结果被确认。

14

量子计算机

人类未来最大的矛盾,是日益增长的数据处理与有限算力之间的矛盾!

按照摩尔定律,人类要做的事情只是降低晶体管大小,从而集成更多晶体管,然而晶体管的大小不能无限小,当到达一个原子大小时,任何纳米管和传统工艺都将对此毫无办法,酷睿I7处理器容纳了14亿个晶体管,再这么玩下去就逼近上帝底线。

年,贝尔实验室的休尔提出量子质因子分解算法,向大家展示了量子算法分解大数的质因数的速度——分解一个0位的数字,传统计算机大约需要耗费10京(《孙子算经》载“万万曰亿,万万亿曰兆,万万兆曰京”)年的时间,而利用量子计算机的话,只需要20分钟左右。

量子计算机拥有众多优势,但是基于量子力学上的不确定性也使得它本身较之经典计算机更加不稳定。

量子计算机设计制造首先需要保证量子比特处于稳定相干叠加态之中,一旦相干态中的量子比特在和外部环境发生量子纠缠之后会陷入退相干状态,那么,此时量子比特和传统比特没有区别。

一旦能够控制更多量子比特,人与机器的结合,也水到渠成!从智人到神人,中间只差一台量子计算机。

我是分割线

关联阅读:

一、互联网发展历史与生产关系变革二、中心化与去中心化的定义/区别三、区块链的诞生与发展历程四、货币的发展史及数字货币

1
查看完整版本: 五区块链相关术语解读分析