剖析区块链的工作量证明
wxf2017
发表于 2022-12-3 19:09:15
115
0
0
一台矿机重复地运行哈希计算,直到它解决一个密码学难题。所有的哈希运算都会被丢弃,除了那个能够解决问题的哈希值。这个渺小的哈希值,计算它只花费了非常少的能量,却是为了产生它而要求付出的大量能量的直接表现,是挖出区块的证明。! ?1 W# R. E z$ z
- N2 ]' k+ I7 k+ \3 U/ y6 m
若要重写区块,后来的一个攻击者同样要运行哈希计算,次数跟原来产生它要求的次数大致相等。让我们再重复一遍:反写需要花费相同次数的哈希计算,但不是相等数量的能量。因为那个哈希值只是花费能量的一个表现,却并非能量本身。: k; a, b7 B2 a Q3 R, g
. s0 W) Z$ g3 q8 ?2 C+ H
斗转星移,这个哈希值作为一个代表会变得越来越不精确,因为后来升级的硬件会变得越来越有效率。能量本身不会变化,但它的旧日代表会逐渐“漏损”。另一种观察这一过程的方式,是将Pow挖矿想象成为虚拟的区块附加物理重量。. n* ^( p8 w" r) }3 z% U+ _
# M9 E( ]' u+ H, b5 m
时间流逝,变老的区块会被破坏、变得越来越轻。假定其它区块的重量不变,这同样也会减少整条链的重量。比特币对抗这种磨损过程的方式是不断创建新的区块,加入新的重量。这保证链的顶端在当时总是很重的,因此保护了整条链的完整性。% h: t, w, g, V4 l7 \5 q
/ Y% T1 U8 W& Z, W7 i" ]" G
重的链==安全的链(有些人说,“最重的链”要比中本聪说的“最长的链”更加准确。“最长的链”这一术语很容易误导人,因为我们使用这个词时意思并不是字面意义上的长度。)SHA256是比特币工作量证明挖矿使用的哈希方程。SHA256保护这个账本不被重写。一个哈希进,一个哈希出;挖出一个哈希,要反写就需要一个哈希。就是这一点,给予了比特币不可篡改的属性
仔细想想,你会觉得它真是太神奇了。哈希计算竟完全服从于保护账本的目的!现实世界中,很少有什么东西是100%无保留地贡献自己同时又是高效的(举例来说,汽油和内燃机就不是这样)。现实中,哈希方程可能也不是100%的,但也是接近于这个值的。因为不可逆转性依赖于哈希结果是完全随机的(就像你摇骰子一样),而算法是无法真实地模拟现实世界的随机性的。幸运的是,对我们来说,像SHA256这样的哈希函数已经被证实是1 |& k4 ?# E. A& ]5 z: J
/ a4 Q, r2 r! L4 R4 G
充分随机的, g+ Y9 A; S, h1 H5 R. x
,也就是所谓的”伪随机“。我们已经对SHA256做了很多年的检验和压力测试,在这背后有一堆研究文献。所以,这里尚不存在什么我们需要太担心的东西。基本上,我认为,给区块“附加能量”的想法是对的,并且有可能是唯一一种在实际上模拟不可更改性的办法。使用消耗掉的能源为一个区块背书允许我们客观地评估不可更改性。相反,任何不基于能量的办法最终都会要求某些人
) g) ]/ G# w! w7 u k# g. N( ]
对不可更改性的主观诠释 通过为一个区块附加能量,我们使它具备”形式“,使它拥有真实的重量,并在物理世界中造成影响。我们同样可以认为工作量证明是一种将一堆0和1注入现实生活的魔法。换句话来说,工作量证明是电子世界与物理世界之间的桥梁。把这一点跟以太猫比比看?它们是由一些人创建的,并由他们在自认合适的时候修正和移除。! E2 ^9 k" L; @ Z/ u: z( z
' q# @9 F3 c2 }: Y! g$ v( M! ]6 \
他们的独特性和存在性既不被保证,也不可信赖。即便当前工作量证明的变体失败了,我有信心,会有其它为区块附加能量的方式。我的结论是,工作量证明在区块链中的应用也许会被证明是极其重要和广泛的,更甚于一开始意想中的那样。工作量证明给了我们不可更改性,不可更改性给了我们不受……的货币,而这种货币,可能会潜在地改变这个社会组织自身的方式4 z/ |' C) k2 c: X2 ~1 @8 ^* @
2 f( Z! Q) V" F- h' N" {( Q
理解其中的陷阱以及为什么它可能不如工作量证明。
成为第一个吐槽的人