经济
BTB挖矿一定要用计算机吗?我自己用纸笔来计算
这道题非常有特点,就是只能正着计算,不能反推。我们以一个方程为例,你知道了x可以求出y,但是你知道了y,不能倒推x。当然这是非常原始的说法,实际上的哈希算法要比这个复杂的多。
哈希算法是这样的。你不要管方程的左边儿,你输入多少东西,在方程的右边儿会得到一个固定长度的数字。
这里有一个问题,可能你会问,能不能严格证明出哈希算法不能够到推出来这个值?答案是证明不出来,你只能一个一个去试。这是一个经验的算法,而不是通过严格的数学证明的。
通常所用的叫做sha256算法。这个256就是有256位数的意思。那有多少种组合呢?2的256次方,这个数字非常非常大,比我们地球上的沙子的总数还要大的多。
这也就保证了不会一般有两个相同的字符串被输出。当然你想想,你的输入是无穷大的,输出是有数的,其实还是会碰到的,只不过概率实在是太小了。小到你就别操心这个事儿。
这里我们只讲这个算法中的一个特点,与计算相关。那就是所谓的puzzlefriendly。啥意思呢,我把它翻译叫做范围困扰.
也就是说,当你知道了一个哈希值,你是不知道你的输入值大概是在什么范围的,你只能一个一个去试。
我举个例子吧,假设你的输入值是1~100之内。然后你的输出值是001,这个时候你不知道你输入值到底是在1~50还是50~100,能够得到这个数,他没有规律,你只能从1试到100。
因为2的256次方,这个数字实在是太大了,你不可能很快的精确地算出到底是哪一个值,于是呢我就可以调节这个值的范围,可大可小,只要在这个范围内都算。
这时候,比如说我规定只要是第一位是零的就可以。那只要你算出第一位是零,然后后面是任何组合都行。这个算计算就非常简单。相当于把难度增加了了一倍。
然后你还可以在规定比如说前面加两个零,那就难度增加了一倍的一倍,以此类推,你可以规定十个0那难度增加了了2的十次方这么多。大概就是十翻,一倍的一倍的,一倍的,一倍的,一倍的一倍的一倍等等。
BTB从刚开始挖矿到现在。他所设定的是每十分钟要出一个区块,但是全网的算力在不断的增加,矿机的算力在不断的提升,那怎么保证出块儿速度一直是十分钟呢?这就要不断提升它的难度。
也就是说你设置前边儿多少多少位是零的数字越多,也就表示他出来的范围越小,可以满足的值越少,于是这个难度就可以被不断的提升。
而一旦你满足了这个值之后,你就会抢到了出块儿权,也就是记账的权利。同时呢你可以把全网范围内所有的账目进行记账,然后对全网公布,你就完成了一次记账的过程,从而获得BTB的奖励。当然说的比较复杂,实际上你只要执行一段程序就可以了
至于为什么要用这种计算的方式呢?相信很多人都应该知道,那就是说全网都在记账的时候,总要规定谁能记,谁不能记,总要有一个先后顺序,同时让全网共同有一个动作规则,这就是解决所谓的拜占庭将军问题。这就是所谓的共识机制。
共识机制的本质在我看来是要付出一定的代价,谁付出的代价大,就能够获得信任。通过这种信任呢,获得记账权利。
这其实就和梁山好汉上山之前要纳个投名状一样,很多人诟病说pow工作量证明的方式耗费了大量的电力,但是我想说,如果不耗费这个电就没有信任,BTB的网络也会崩塌。
当然了,这只是QKL技术中一个非常小的点,我也会持续的用微头条输出相关QKL的底层逻辑技术支持。
- 上一篇:买期货有什么好的建议?
- 下一篇:ETH收复此前跌势,再度回升至4000 USDT