从双花挖矿到永动机无限「印钞」,看加密世界的货币轮回
最早的时候人类社会还没有货币,大家都是以物易物,一个石臼换一把石斧,一捆柴火换一堆草绳......
后来交易变得复杂,价值也逐渐多样化,人们决定找一种东西来记录交易的数量。这个时候的货币还不具备金融属性,只是相当于是个算术媒介物,就跟墙上的“正”字一样。
但慢慢的这样的以物易物再跟不上人类群体发展的速度,于是逐渐产生了统一的等价物的需求,货币也成为了衡量物品价值的实物中介。
到了现代社会,我们拿在手上轻飘飘的一张纸,app里的一串数字都成为了本身没有价值但实际又有价值的货币。但硬通货白银和黄金却没有变化,它们自古流传下来的同时也依旧具备着自己本身的价值。
这里CertiK冷知识小课堂插播一句:
根据计算地球有4亿亿吨黄金,也就是说人均可超550万吨——如果将地球所有黄金全部开采,不仅可以均匀铺满地球,甚至还有4米那么厚。但是为什么黄金开采量这么小,金价也居高不下?
一则是黄金终究有被开采完的一天,二则金矿开采难度极高。
但货币却不一样,听说一台印钞机开足马力每秒印12张钞票(单张面额100元,共计1200元),每分钟就是72000元,一天24小时就是103680000(一亿零三百六十八亿)。
从理论上讲,如果不怕影响全球经济,电力又足够的话,印钞机可以一直工作下去。
但这两种东西谁也无法替代另一种。
这也让小编想到了加密世界中的货币,也分为“印钞币”和“开采币”——可铸造代币与可开采代币。
可铸造代币,可开采代币
加密世界兴起就源于大批矿工开挖比特币,但是后来好像大部分其他的代币是被开发团队用“发行”、“铸造”的办法所创造出来的。
从黄金和纸钞的差别中,我们可以看出一些这两种类型的区别。
但它们本质上对于加密世界意义的不同远不止于此,甚至因为功能的不同,深刻影响了加密领域的安全性,尤其是我们今天的主题:可铸造代币。
在现实世界中,印钞和淘金这一行为受到国家及相关机构监管,也因此维持住了其稀缺性。
但在加密领域中,需要更为复杂的方式。
正如我们所了解的工作证明(PoW)和权益证明(PoS)共识机制,这两种方式都确保矿工在付出维护有效性的同时获得了应得利益。其中工作证明就像我们日常工作那样的按劳分配。权益证明则更像投资行为。
这两种方式均将奖励设为固定数额,这意味着不可能操纵代币供应。因此也都确保了加密货币的供应量固定,从而保证了稀缺性。
除此之外,可开采代币通过以太坊等智能合约平台支持的智能合约来铸造,还需要更多的时间、资源,这也在另一方面保障了它们不会泛滥。
可铸造代币的潜力巨大,其中我们都耳熟能详的NFT即属于此类。
这一非同质化代币已经「革命」了艺术、游戏乃至更多领域。
通过利用ERC721代币标准,用户能够以铸造代币的相同原理,铸造出他们可想象的一切事物。
而更加优于加密货币的是,NFT不可复制,也意味着铸造出的这一切事物独一无二。
在近一年里,NFT横空出世,迅速占据了所有我们触目所及之处。
DEX也是一样,像Uniswap这样的去中心化交易所使用可铸造代币来激励用户为交易对提供流动性——根据参与者的抵押奖励原生LP代币(流动性池代币)。为此,LP 代币的供应不能依赖于挖矿,因此必须由智能合约生成为可铸造代币。
加密版“印钞机”
然而,在一切看上去都欣然向荣时,新的技术不可避免的也带来了新的“灾难”——更多的攻击载体和漏洞。
尤其是高频次发生的闪电贷攻击已让大部分认为加密一词即代表着黑客和乱象。而这些恶意事件发生的起因往往都离不开有缺陷的“印钞机”。
我们门外汉也都知道,函数是代码中不可或缺的元素,它可以获得信息或设置信息,以响应传入的命令。
在可铸造代币的项目中,“铸币功能”必不可少。
铸币功能如何编码,如何被写入智能合约,将决定谁可以操作铸币功能,以及一次可以铸造多少个代币。
“印钞”安全
可铸造代币无疑彻底改变了区块链和加密货币的运作方式,为无数的新用例铺平了道路,并在整个新行业的发展中发挥了核心作用。
然而,它却与针对比特币安全和其他可开采代币安全至关重要的经过严格测试的共识机制系统背道而驰,可铸造代币为黑客和恶意攻击者打开了一扇新大门,并且硬生生的「创造」了一系列新型漏洞。
针对“印钞”最直接了当的攻击方式自然是让它无限制疯狂印刷,然后再把它卖掉——这种攻击方式的起因可能是密钥丢失,也可能是监守自盗,这也是现今针对可铸造代币最臭名昭著的攻击方式。
我们都知道去中心化是加密世界的信仰,来自于项目团队或开发团队的中心化风险就像阿喀琉斯之踵。
CertiK在整理编撰的2021年DeFi安全报告中指出:中心化风险是2021年最常见的攻击载体并详细地描述了该类风险导致的资产损失及相关起因。
目前,CertiK的KYC项目背景调查服务可以通过严格的审查程序,使项目团队非匿名化,并建立更大的问责制,从而协助建立项目的可信度。
而在代码层面,由于以太坊使用的编码语言Solidity中的可见性和限制功能不当,铸币功能可被利用。
因此在进行智能合约审计时,审计人员将检查以确保该项目已了解如何使用Solidity提供的四个基本可见性功能(私人;外部;内部;公开)。
这十分有效的确保智能合约只能被有适当授权的人访问,并保护铸币功能不被外部人员调用。
同样,代码的某些方面也实现这样的功能,以防止智能合约的所有者铸造太多的代码,从而有助于保护它免受来自内部的无限铸币攻击。
写在最后
针对这些攻击方式,如果想要保障项目的安全,最关键的一步永远是接受来自第三方安全机构的智能合约审计。
专业且严谨的智能合约审计可以确保整个代码库被逐行检查,并且达到当前的最佳实践与行业标准。
但我们需要明确一点:尽管安全审计非常有用,提供了额外的一轮审查,并可以帮助你查找未曾发现的漏洞,但它也不能确保100%的安全。
微信掃描關注公眾號,及時掌握新動向
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場