哈希是什么:搅肉机指纹
哈希函数(比特币挖矿里常见 SHA-256)像一台搅肉机:丢进任意内容,出来固定长度的“指纹”。改一个标点,指纹就面目全非。它几乎只能正向计算,很难从指纹反推原文。
课堂小游戏(纸笔即可)
规则:找一个数字 N,使得“班级口号 + N”的哈希(可用老师提供的在线哈希工具演示)以两个 0 开头。学生轮流试 N=1,2,3… 谁先找到谁出块。
把“两个 0”改成“五个 0”,立刻体会难度暴涨——这就是难度目标的直觉。挖矿不是解方程得唯一解,而是反复尝试直到碰见满足条件的运气活,但全网算力让“碰见”变得有稳定平均时间。
和区块的关系
矿工打包交易并不断改随机数(nonce)等字段,直到区块头哈希足够小。找到后广播,其他节点验证哈希与交易合法性。
没有哈希难题,谁都能廉价刷屏写账本;有了它,攻击者要改历史就得重做大量算力工作。
哈希:搅拌机,不是保险箱密码锁的那种“可逆”
把任意长度的数据扔进哈希函数(比特币挖矿相关的是 SHA-256),出来一串固定长度的“指纹”。改一个标点,指纹就面目全非。这叫雪崩效应。
重要:哈希几乎不可逆。你不能从指纹轻松反推出原文,只能猜原文再算一遍对比——这就是“挖矿在忙什么”的直觉入口。
教室小游戏(不需要联网)
规则:目标是找到一个句子,使它的哈希(可用任意在线 SHA-256 演示页,注意不要粘贴隐私)以两个 0 开头。大家改句子末尾的数字:…1、…2、…3… 谁先找到谁举手。
你会发现:没有聪明捷径,只能试。难度加到“更多前导零”时,平均尝试次数指数上升——这就是工作量证明的玩具版。
和挖矿章节的衔接
矿工打包交易并尝试不同的 nonce,直到区块头哈希小于难度目标。全网算力越高,目标越难(协议自动调)。你赢的不是“解方程”,而是“在彩票机上砸得够勤”。
安全课延伸:私钥空间大到不可枚举(见暴力破解章)。哈希游戏让你用身体感受“大数”。
常见误解
“哈希就是加密”——不准确。加密通常要能解密;哈希是单向指纹。数字签名会用到哈希,但 swearing “我哈希了所以安全”是口号,不是论证。