作为一名刚刚入门的区块链投资者,我一直有个“小白疑问”,憋在心里很久了:
比特币本质上不就是一段计算机代码(或者说一个数字文件)吗? 既然是文件,那我在电脑上 Ctrl+C(复制)然后 Ctrl+V(粘贴),岂不是就能把这1个比特币变成2个,甚至100个? 如果我拿着原件买了一杯咖啡,再拿着复制件去买个汉堡,谁能拦得住我?
带着这个“发财”的幻想,我打开了北大肖臻老师《区块链技术与应用》的第四课。 听完这节课,我那个“复制比特币”的致富梦彻底碎了,但我对它却有了更深的敬畏。
01. 复制粘贴?这叫“双花攻击”
肖老师在课上一针见血地指出:“Digital currency is just a file(数字货币本质上就是个文件)。” 如果不加限制,文件确实是可以复制的。
如果我把同一张百元大钞的数字文件,先花给了商家A,又复制一份花给了商家B,这就是大名鼎鼎的“双花攻击(Double Spending Attack)” 。
- 在中心化世界(如银行/支付宝),防双花很简单:银行有一个中央账本,钱花出去了,银行就把你的余额减掉,你再想花第二次,银行会告诉你“余额不足” 。
- 在去中心化世界(比特币),没有银行,每个人手里都有一本账。如果坏人偷偷修改了自己手里的账本,甚至联合一群人一起造假,系统该听谁的?
这是一个困扰了计算机界几十年的难题。
02. 为什么不能搞“少数服从多数”?
你可能会说:“既然大家都有账本,那就投票呗!少数服从多数。”
肖老师告诉我们,这个想法很美好,但在互联网上行不通。因为有一个叫“女巫攻击(Sybil Attack)”的幽灵 。
- 如果按“人头”投票,黑客可以用一台电脑生成一亿个假身份(假账户) 。
- 这一亿个“水军”瞬间就能淹没真实用户的声音,把黑的说成白的。
所以,在比特币的世界里,“身份”是最不值钱的。
03. 算力投票:One CPU, One Vote
那怎么达成共识?中本聪给出了一个天才的解决方案:不按人头投票,按算力(Computing Power)投票。
这就是大名鼎鼎的“工作量证明(Proof of Work)”。 肖老师引用了中本聪白皮书里的一句话:"One CPU, one vote"(一个CPU,一票)。
你想获得投票权(记账权)吗?请先证明你付出了巨大的工作量(挖矿)。
- 你可以伪造一亿个假身份,但你伪造不了一亿台矿机,更偷不来全网一半以上的电力。
- 正是因为挖矿“费电”、“费算力”,才筑起了一道高不可攀的城墙。黑客想要攻击比特币,必须掌握全网51%以上的算力,这个成本高到让他破产。
这哪里是浪费电力?这是用物理世界的能量,为数字世界的资产铸造了绝对的防伪标识。
04. 投资避坑:为什么转账要等“1小时”?
学完原理,回到我们最关心的投资实操。 既然比特币这么安全,是不是只要别人转给我钱,我看到“交易成功”就万事大吉了?
千万别急! 肖老师在课上讲了一个非常重要的概念:分叉(Fork) 。 由于网络延迟,地球两端的两个矿工可能同时挖出了一个区块。这时候,区块链会短暂地分成两条路。 如果你收到的钱刚好在那个将被抛弃的“短链”上,这笔钱可能会被回滚,甚至消失 。
那要等多久才算安全? 肖老师给出的建议是:“Six confirmations(6次确认)。” 也就是在你的交易被打包后,还要再等后面连上5个新区块。这大约需要1个小时(每个区块10分钟) 。
到了这个时候,黑客想篡改你的交易,难如登天。
写在最后
以前我总觉得比特币转账慢、挖矿费电是它的缺点。 听完肖老师的课,我才明白:这些所谓的“低效率”,其实是为去中心化安全所支付的必要代价。
它不能被复制,不能被伪造,也不需要任何人批准。在这个充满不确定的数字世界里,还有比这更性感的资产吗?