专栏名称: Hi区块链
可能是最靠谱不忽悠的区块链资讯平台
目录
相关文章推荐
金融城见闻  ·  一年减少几千万张,信用卡的镰刀割不动了? ·  4 小时前  
金融城见闻  ·  一年减少几千万张,信用卡的镰刀割不动了? ·  4 小时前  
平安银行信用卡  ·  至高¥8立减券!支付优惠月月享>> ·  19 小时前  
平安银行信用卡  ·  带上运通卡游境外,赢至高¥3988京东E卡>> ·  19 小时前  
平安银行信用卡  ·  邀好友,领至高¥9900现金红包>> ·  19 小时前  
平安银行信用卡  ·  0元抽iPhone,狂欢倒计时!戳>> ·  19 小时前  
51好读  ›  专栏  ›  Hi区块链

区块链到底是什么?(下)

Hi区块链  · 公众号  ·  · 2017-07-17 22:23

正文

请到「今天看啥」查看全文


我上面说过,这台机器有一个性质,就是即使我们知道它的输出,也无法计算出我们应该输入什么。对于这样的一种机器,我提的那个问题有什么解决办法吗?

我想到了一种解决办法。就是把所有的数字都试一遍,直到最后输出了以3个0开头的内容。

如果运气好的话,试了几千次之后,我们就能得到我们想要的内容:

要想根据输出来推导出输入非常的困难。但是,这样就非常容易验证输入是否能匹配输出。还记得吗,这台机器对于同一个数字的输出都是一样的。

假如给你个数字,比如72533,你觉得把这个数字发送到那台机器里,最终的输出是以3个0开始的内容的难度有多大?

你需要做的只是把那个数字发送到机器里,看看它的输出符不符合要求就行了。就这么简单。

这种机器最重要的性质就是:给定输出,要想推导出输入及其困难;但是给定输入,要想验证输出则非常容易。

请记住这个特性。

#### 如何使用这种机器去进行密封呢?

我们将使用这台魔法机器去把我们的纸给密封起来。让我们从一个想象的情景开始。

想象一下我给你两个盒子。第一个盒子里有一个数字20893.然后我问你:你能不能算出这样一个数字,当把这个数字与第一个盒子里的数字相加,之后发送到那台机器,让机器输出一个以3个0开头的内容?

这和我们之前的问题有点类似,而我们已经知道,只有一种方法能计算出这个数字,那就是一个一个试。

试了几千次之后,我们碰到了一个数字,21191,把它和20893相加,21191+20893 = 42084,然后把它发送给那台机器,输出的内容符合我们的要求。

在本例中,这个数字21191就是数字20893的封条。假设有一张纸上的内容就是数字20893.为了把这张纸封住(这样就没人能篡改里面的内容),我们把“21191”盖在这张纸上。只要把封条数字(21191)盖在纸上,那张纸就被密封了。

> 那个封条数字就是“工作量证明”,这个数字表示花了多少力气去计算。但是我们还是叫它“封条数字”好了。

如果有人想去验证一下纸里的内容有没有被修改,那么他要做的就是:把纸里的内容加上封条数字然后发送给魔法机器。如果魔法机器输出的内容是以3个0开头的,那么表明纸里的内容没有被修改过。如果魔法机器输出的内容不符合要求,那么我们就可以把那张纸扔掉了,因为它的内容已经被修改了,也就没有用了。

我们将使用一个类似的密封机制来把我们所有的纸都密封起来,最后把他们放到各自的文件夹里。

#### 最后,把我们的纸密封上







请到「今天看啥」查看全文