白话区块链:一场记账革命

0 评论 715 浏览 0 收藏 33 分钟

区块链技术正在重塑数字时代的信任机制。这场起源于比特币的记账革命,通过分布式账本、密码学加密和共识算法,构建了无需第三方中介的信任体系。从金融票据到商品溯源,从政务服务到司法存证,区块链凭借其不可篡改、可追溯的特性,正在成为产业数字化转型的关键基础设施。本文将用通俗易懂的方式,解析这场记账革命如何重构我们的信任方式。

从这篇开始我会按照《WEB3知识地图》逐个介绍WEB3核心知识,本文将会从区块链的1.0版本“比特币”为切入点,将给大家介绍区块链的前世今生、基础特性以及它的核心运行原理。

WEB3究其本质就是“一场由匿名交易引发的记账革命,并且采用了很多的创新技术”,由此引发了各种名词创造和跑马圈地的造势运动。

因此,我们先从探究这场记账革命为什么会诞生开始,因为探究本质才会不迷路。

01 中心化记账游戏

说到WEB3就经常有“中心化和去中心化”之争,其实这两者不是简单的对立,而是不断在促进融合的。

1.1.中心化的记账方式

在传统社会记账是一件非常“隐私”的事情,大家都各自记着自己的账,谁都不愿意把自己的财务情况向他人分享。

1)现金的匿名交易

早期的现金交易就是点对点、匿名、去中心化的。买卖双方交易无需第三方介入,一手交钱一手交货都是即时结算。并且现金也是匿名的,钱在谁的口袋里就是谁的。交易过程中大家都会各自记录自己的账务情况。

匿名的现金交易

2)银行电子化记账

但是现金终究太零散了,大额交易携带也比较危险,并且闲置的资金也需要增值,因此大家都把钱存到银行,通过账户和银行卡来交易。

银行电子化交易

3)跨银行的汇款交易

依托一家银行的网点终究有限,因此央行把所有银行的账户都开在清算中心,这样用户就可以在全国范围汇款和线下交易。

跨行银行汇款

3)互联网线上交易

通过银行终究还是只能线下交易,并且地域和交易时间也受限制。因此互联网公司出现了,他们搭建平台连接买卖双方的银行账户,实现线上交易,从而形成了平台经济模式。

并且也形成了“监管、金融、场景”的三层监管与信用体系来保障用户资金和交易的安全。

线上平台经济模式

4)全球跨境交易体系

国内线上交易已经非常方便了,如果要开展全球化业务该怎么办呢?毕竟让全球各国的央行之间打通,门槛实在太高了。

这种情况下,可以找一家同时属于多个央行参与者的“国际性银行”来成为外汇结算银行,然后给平台开出多币种账户提供外汇结算业务,这样就能实现全球化交易了。

跨境全球交易体系

5)一切都是账本的串联

敏锐的读者看到这里应该已经发现了,传统的记账就是靠一堆账户的串联,相互记账来实现资金流动的,并且还分成了多层的账户体系,而WEB3.0其实就是在模仿这一点,但使用了完全不同的技术。

1.2.WEB1.0、2.0、3.0

WEB3.0这个名词的由来是基于传统互联网的延续,不过也是最具颠覆性的延续。

从WEB1.0到WEB3.0

1)WEB1.0:只读互联网

也被称为PC互联网,早期的门户网站主要业务是“新闻.邮箱.论坛”等单向和双向的信息发布。它初期靠广告变现,后期转向游戏和社交点卡充值,支付方式多为预付卡与Q币卡。

2)WEB2.0:可读.可写

也被称为移动互联网,伴随电商.社交.微博兴起,用户可自主发表内容.在线交易,实现”可读可写”的深度互动,并催生了视频.短视频.直播等新形态,把整个互联网推向了鼎盛。

3)WEB3.0:可读.可写.可拥有

它在WEB2.0基础上增加了“可拥有”,它采用了与传统中心化记账截然相反的“去中心化”记账方式,通过账本的公开,让资产所有者一起参与记账,通过共识机制来确认资产归属。

之所以会有这种模式被提出来,源于中心化的某些弊端。

1.3.中心化的利与弊

互联网中心化的记账方式给我们带来了极大的便利,并且也深刻的改变了我们的生活。不过时间长了之后人们就发现它的一些弊端,主要就是2个问题。

1)赢家通吃的垄断

中心化的平台发展也伴随着“赢家通吃”的情况发生。大平台作为”中介方”掌握了大量的用户数据和交易数据,大数据杀熟.信贷陷阱.诱导订阅.仅退款等也让用户和商家越来越弱势。

2)货币的持续贬值

脱离金本位后的信用货币,让存款永远都赶不上通胀,资产会持续的缩水。

因此,一个倒反天罡的设想在互联网的角落里开始悄悄的酝酿了。

02 区块链的诞生

2.1 区块链的诞生

而在2008年,出现了一个猛人“中本聪”,他在一个加密邮件组中发表了一篇名为《比特币:一种点对点的电子现金系统》的论文,它提出了一种电子现金的解决方案,在读写的基础上增加“可拥有”的资产。

并且抛出了“去中心化.共享账本.匿名交易.共识机制.代币激励”等一系列创新性设想,给传统金融带来了一次颠覆式的创新。

中本聪提出的概念虽然很多,但它提出的“分布式账本模型”和“代币经济模型”,奠定了WEB3和区块链的基础。

2.2.分布式账本

分布式账本模型

中本聪首先提出了一种去中心化的网络,账本可以在网上共享,用户之间可以通过密钥签名来进行点对点交易,无需第三方介入。

1)去中心化:去中心化的核心就是用户通过P2P网络就能直接交易,整个过程无需第三方介入。

2)共享账本:又叫分布式账本,它把账本串联起来形成一个链条,然后在网络上公开,并且每个节点都持有一份相同的副本。

用户交易结果会广播给所有节点,只要大多数节点确认交易有效,就可以上链。上链的交易数据不可逆,且所有交易记录都是透明可追溯的。

3)匿名交易:由于账本公开了,用户可以通过密钥签名来保护隐私,只要“签名+非双重支付”验证通过,交易就不可撤销。

2.3.代币经济模型

更具颠覆性的,它提出了一种完全靠代码维护的“代币经济模型”。它主要抓住了“传统货币持续通胀,造成用户资产缩水”的核心痛点。

通过代币的”发行.交易.确权.激励”就能让这个社区自行运转。并且发行代币数量有限,促使代币增长形成正向闭环。

代币经济模型

整个代币经济模型有以下几个特点:

1)代币发行/调节:比特币的发行设置了2100万枚上限,从而制造了稀缺性,使得它具有了增值效应。并且比特币也会逐步调整代币产出数量和难度,确保交易效率和激励的平衡。

2)激励机制(代币+交易费):为了鼓励大家来创建区块,会在新建的区块上给矿工发放一定数量代币作为奖励,并且其它用户在这个区块上交易,矿工可以获得交易费。

3)代币交易(签名和密钥+工作量证明):

  • 签名和密钥:比特币本质上是放在区块链上的一条记录,通过签名和密钥来给交易对手转账。
  • 共识机制(工作量证明):通过共识机制来处理交易,创建区块链账本存放数据,让交易无需第三方介入就能自动进行。

4)代币确权(最长链+UTXO):发放的代币什么时候可以使用,交易什么时候到账,如何防止双花。于是就有了交易确权机制,比特币使用的最长链原则和UTXO(未花费交易输出)来进行确权。

03 区块链基础知识

估计看了上面这些概念你还是云里雾里的,下面我就把这些基础概念逐一给你解释,并且适当给你扩展以太坊.Solana采用了什么技术。

3.1.加密与编码

用于区块链的账本是在互联网上公开的,因此为了保证交易的安全.不可篡改和网络传输的可靠性。需要通过密码学算法和互联网编码来处理。

1)哈希函数(不可篡改)

哈希函数可以将任意长度的明文转换为固定长度的数值,且该数值无法逆向还原成原明文。即使对原文进行细微修改,生成的哈希值都会有巨大的变化,从而有效防止被篡改。

哈希函数不可篡改

哈希函数是WEB3和区块链技术的根基,它不仅可以防篡改,也能作为验证用户身份的签名,并且在工作量证明.区块之间的链接.数据存储方面都有广泛的应用。

哈希函数常用算法和场景

2)非对称加密(匿名交易)

为了可以让用户在匿名的情况下也能进行交易,就需要有“一对钥匙”。“私钥”保密,用来签名交易,证明自己是资金和操作的拥有者。“公钥”公开,任何人都可以用来验证签名,确保交易合法性。

生成密钥:配钥匙

在WEB3领域,最常用的“配钥匙”方法是ECC算法(椭圆曲线密码学)。通过生成一个至少256位的随机数作为私钥,然后利用ECC算法生成对应的公钥,供交易对手使用。

这个算法也是“不可逆”的,椭圆曲线的签名算法确保了任何人都无法通过公钥“暴力推导”出私钥来。(推导的次数,理论上是10的77次方,相当于宇宙所有原子的数量)

非对称加密(生成密钥)

数字签名:交易和身份验证

有了这对密钥后,发起者可以提取交易信息生成hash摘要,并用私钥加密成签名附在交易报文中进行发送。接收者解密并验证签名,通过后就可以接受交易。

但在Web3中由于没有实名认证,因此,如果私钥丢失或被盗,用户就会面临损失,因为接收者只按照公钥验证签名结果,不管对应的私钥在谁手里。

在传统行业,签名需要通过CA的证书来生成,CA机构也会对申请者进行实名认证,以确保交易由本人发起。

签名和验签

WEB3领域常用ECC算法,因为它安全且加密速度快,适合网络不稳定的情况。而传统行业多用RSA算法,尽管速度稍慢,但因其技术成熟.网络稳定和带宽数量充足,所以更普遍。

非对称加密算法

3)Base编码(网络传输)

由于不同国家的语言和编码差异,在数据存储和网络传输中容易产生乱码。为避免这种情况,可以使用BASE编码将任意文本转换成统一的字符格式进行传输和存储,而不会出现乱码问题。

我们先来看下,互联网行业采用的是标准的BASE64编码,然后再来讨论区块链使用的编码集。

互联网行业BASE64编码

BASE64是一种全字符集的编码,包括“52个大小写英文字母.10个0-9数字和2个字符。这种编码比较适合“机器对机器”的环境,所以复杂点没事。

WEB3行业,地址.私钥都是人在操作,复杂的编码集非常容易搞错,因此需要一套更加精简且容错性高的编码集。

BASE64和区块链编码比较

了解了如何确保匿名和交易不可篡改后,下面我们就能真正的开始了解区块链了。

3.2.区块与链(Merkle tree)

区块链是一种“链式账本”,由“区块”和“哈希链”组成,区块用来存放历史数据,哈希链将多个账本串联起来。区块内部放的都是历史数据,是不可篡改的。

区块链结构图

1)哈希链(Hash Link)区块链分为区块头和区块体,每生成一个新的子区块,就要对“父区块”的区块头数据进行一次哈希计算,“子区块”中会保存这个“父块哈希”。如此循环往复从而形成一个链式账本。

2)区块(Merkle tree)区块链使用Merkle树来管理数据,所有交易信息存储在叶子节点。相邻的叶子节点会两两组合计算上层节点的哈希值,层层向上汇总,最终形成一个根哈希值。

3)代币奖励(Coinbase)区块完成创建后,代币会默认放入第一笔交易中。详细的处理机制,我们在后面介绍。

4)不可篡改:

链上区块的数据都是“已经完成的历史交易”,任何试图对存入区块链内的数据修改,都会造成雪崩效应,让整条链“分叉”。

区块链交易怎么处理?
聪明的读者,看到这里应该会有疑问了,区块链不是账本吗?它的数据不可修改,那交易在哪里处理呢?这就是很多书籍和科普资料“坑”的地方了,告诉你一堆观念却不给你串联。其实它是在Mempool中处理的,详细过程我会在“比特币运行原理”中介绍。

3.3.共识机制(PoW)

1)共识机制:

由于区块链是一种去中心化的交易处理技术。没有中心化机构来控制一致性,因此它通过一套代码协议和算法来保障所有参与者对交易有效性.状态的一致性。

主流区块链的共识算法

2)PoW(Proof of Work)

比特币采用的是工作量证明,就是让大家通过“PK算力”来竞争“记账权”,最快算出来的节点可以拥有记账和出块的权利,并且会奖励代币和交易费。

PoW就是大家一起来做一道“非常难得题目”,这道题目就是猜“有N个前导0的哈希值”。由于哈希值的随机性,这个“题目”只能通过算力“暴力试算”才能得到,谁算力强谁就拥有出块和记账的权利。

并且为了控制代币的输出量,会每隔一个周期提高难度。就是增加这个哈希值的“前导0数量”,每增加一个“0”,难度就提高到16^n+1次方。(现在已经是19个0了)

PoW共识机制

还有很多共识算法,限于篇幅我们在后面遇到了再进行详细介绍。

3.4.双重支付(双花和51%攻击)

双重支付(或称双花)是指由于网络拥堵.数据更新延迟,导致同时创建了两个区块。这两个区块都可以被用来进行支付,从而引发“双重支付”。

1)51%攻击

当一些“矿池”掌握了超过51%的算力时,它就能同时生成两个区块。比如,节点A和节点B合作生成了“区块2”和“区块3”,如果这两个区块都被确认,就会导致双花问题。

双重支付

2)最长链原则

为了防止双花和51%攻击,比特币采用了最长链原则。新区块产生的奖励代币需经过至少100个区块确认后才能使用,普通用户交易要经过6个区块的确认用户才能“花费”,这一机制有效避免了上述两个问题的发生。不过这种方式也让比特币交易非常缓慢。

3.5.软分叉.硬分叉

双花是在较短的时间内,同时创建了相同的区块。如果因为新老区块不兼容,造成多个区块并行,这就是“分叉”。并且分叉还有“软分叉”和“硬分叉”的区别。

1)软分叉:版本升级造成软分叉很多是因为版本升级.规则更新造成了节点之间版本不兼容而出现的分叉。这种分叉一般都会通过升级和兼容,最终回归到最长链后继续运行。

2)硬分叉:规则分歧造成硬分叉一般都是人为的修改规则,造成了老区块无法兼容“新区块”而出现分叉。最终新老区块链分道扬镳,各自成为独立的链。例如从比特币中分离出来的BTH(比特现金)BTG(比特黄金)。

区块链分叉

3.6.全节点.轻节点

1)全节点:区块链会在所有节点复制一份账本数据,这就是全节点(Full Node),但是日积月累会有大量的历史数据(2025年比特币账本已经积累了超过600G的数据)。

2)轻节点:有些节点由于资源有限,并且只关注自身交易和资产的验证与发送,因此选择不同步完整的区块链数据。它们只保存“区块头”信息,并在对Merkle树进行“剪枝”只记录自己需要的交易记录。

全节点.轻节点

04 比特币核心原理

非常感谢你看到这里,前面都是科普内容,各种书籍和科普资料你都能看到。

下面开始就是给大家介绍下“比特币的核心原理”了,内容绝对硬核,大家坐好了我们准备出发。

4.1.比特币核心流程

讲了那么多特性,这些特性是怎么串联的呢?比特币的核心流程分为“发起交易.共识机制.上链/奖励.最终确权”四个步骤,其它的公链也基本是这样的步骤。

下面我们逐个步骤拆解。

比特币核心流程

1)发起交易:买卖双方通过私钥生成地址,接收方提供地址后,付款方创建签名交易并广播至比特币网络。

2)共识机制:全网节点验证交易合法性后存入内存池,矿工选取交易构建区块(首笔为 coinbase 奖励交易),通过工作量证明争夺记账权并广播新区块。

3)上链/奖励:胜出矿工的会奖励代币在第一笔交易中,所有网络节点会把区块添加到链的末端,其它节点验证无误后同步更新账本,区块内交易即告不可逆。

4)最终确权:为防链分叉,普通交易需等待6个区块确认(约1小时)方可使用,矿工奖励则需100个区块(约17小时)后才可支配。

4.2.比特币现金交易

4.2.1.传统现金交易过程

比特币其实是在模仿现金交易,因此它只有“交易和记账“两个过程。我们先来看下,传统现金交易是如何记账的。

1)现金交易过程

我们现金交易一般都是从”钱包”中取几张合适面额的“纸币”;然后支付给对方,如果没有零钱,就需要对方找零;对方收到钱清点清楚也会放到“钱包”里。

2)现金记账过程

交易结束后,我们会在账本上记录收支情况。如果想知道“花了多少钱”就需要把账簿上的钱一笔笔算出来。剩下多少钱就会把“钱包”的钱拿出来数一数。

点对点的现金交易

4.2.2.比特币账本模型

如果整个过程放在公开的网络上交易该如何记账呢?其实也是参考了现实中的做法,通过区块链的“叶子节点”来作为一个交易账本(Transaction)来记录收支明细,另外通过UTxO来记录资金的花费情况。

比特币账本模型(图中utxo_set为一个池子)

1.Transaction(交易明细)

就是用来登记每一笔收支交易的明细,它就是记录在Merkle树的“叶子节点”上的交易信息。它和我们平时使用的账本非常接近。

具体的使用规则如下:

1)区块与交易:一个区块内有多笔交易;

2)第一笔交易:用来存放奖励的代币,input引用为空,output存放奖励的代币(含矿工手续费),指向矿工地址;

3)一笔交易:一笔交易由input和output组成;

  • input:为交易的输入,只有付款人能解锁,它引用未花费的UTxO。转账后已花费的UTxO会被销毁。
  • output:为交易的输出,它指向了收款人的地址。转账后引用新创建的UTxO。

4)转账找零:input的UTxO像现金纸币一样不可拆分,必须全额转账。转账后可以通过找零的方式把剩余的资金指向付款人。

2.UTxO(未花费交易输出,Unspent Transaction Output)

为解决收支明细无法直接反映余额的问题,比特币采用UTXO模型追踪可花费资金:UTXO_SET是全网公开的未花费交易输出集合,其中的每个UTXO条目如同一枚”数字零钱”,配合逐笔交易花费情况的验证,即可精确统计任意地址的可用余额。

4.2.3.比特币记账流程

基于这样的账本模型,比特币的记账流程分为“交易创建.矿工打包.全网验证.账本更新”四个阶段。

比特币记账流程

1)交易创建:付款方获取收款地址后,钱包自动调取未花费的UTXO作为交易输入,创建两笔输出(转账金额至收款方.余额找零至己方),签名并广播至全网。

2)挖矿打包:矿工收集待确认交易,构建候选区块(首笔为挖矿奖励交易),通过工作量证明(PoW)竞争记账权,首个解出难题的矿工将区块广播出去。

3)全网验证:各节点独立验证新区块内交易的合法性(签名.UTXO状态等),确认无误后追加至区块链末尾,完成分布式账本同步。

4)状态确认:节点根据新区块交易逐笔更新UTXO集合,销毁已花费的UTXO,新增未花费输出。收款方UTXO经6个区块确认后,方可安全使用。

4.2.3.比特币交易形式

比特币UTxO就是一个个不同面额的零钱,付款的时候它像现金纸币一样必须是一个完整UTxO支付,通过找零的方式来完成金额的拆分。因此比特币支持一对一.一对多.多对一(合并支付).多对多(组合支付)等特性。

详细的流程见下图,这里就不再赘述了。

比特币交易形式

05 比特币的不足

看完了上面这些比特币特性的介绍,在了解区块链的基础特性的同时,,你也会发现比特币有很多的不足之处。

1)余额统计困难:UTxO虽然解决了余额统计的问题,但是一堆散乱的UTxO不仅统计困难,用户也很难即时掌握自己的资产情况。

2)浪费、缓慢:PoW共识机制不仅不环保,还非常的缓慢。它就是个异步批量交易,交易确权过程也非常漫长,并不适合准实时.获实时交易。

3)手续费昂贵:并且按照手续费价格排序,也造成了手续费价格高昂。

4)图灵不完备:比特币虽然经历了多次扩容升级和改造。

不过作为一个去中心化的自动化交易系统,它的扩展性与可编程能力比较差,很难承载更多的智能化应用扩展。后面我会开始介绍区块链2.0的代表以太坊,看下他是如何解决以上这些问题的,并且又带来了哪些新特性。

【参考资料】

1.比特币白皮书

https://github.com/xiaolai/bitcoin-whitepaper-chinese-translation

2.区块链浏览器:https://mempool.space/zh/

3.比特币开发者文档:https://developer.bitcoin.org/

5.比特币开源库:https://github.com/bitcoin/bitcoin

本文由人人都是产品经理作者【刚哥】,微信公众号:【刚哥白话】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于 CC0 协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!