比特币挖矿,说来也容易,其实就是找到如下方程的一个解而已:
$$\text{hash}(x)<\text{target}$$
其中hash就是常说的哈希函数,target则决定了难度.
哈希函数定义域为整数,值域则是某个范围的正整数.
可以看出其实解有无数个,但是发现其中一个并不容易.
你可能要说了,我能不能分析这个函数来求它的反函数?
有些哈希函数可以,比如CRC校验函数,但是一类用作加密的哈希函数不可以.
哈希加密函数,基本特点之一就是随机,以比特币使用的SHA256为例,画出前100个数字的哈希值:
可以看出这个函数图像几乎就是$0\sim 2^{256} \approx 1.15792\times 10^{77} $ 中的一个随机数.
也就是说随便说一个数,说中答案的概率只有 $8.63616^{-78}$,宇宙原子总数才$10^80$左右...
Target用来调节难度.Target越小,找到一个解的难度自然就越高.
而唯一的求解方法就是穷举.