Hashcash

Hashcash
扯蛋
一年多没写Blog了,这一年多从备份大师做到WhatsCall,一亿用户,三千万日活,到最近的X万美金的日入,加班加班地做着后台的开发工作。年少轻狂啊,就喜欢敲代码,但是真的别再把爱好当作职业了,所以还是想着留一手不转金融。

忙到昨晚才抽空看了下区块链到底是什么东西,因为比特币又被炒起来了,2年多前买着0.1个比特币,买了几个莱特币亏得更厉害,都是小钱,现在去操作估计想着卖空了,应该还是亏损中吧,不过当时就是为了留个纪念,也没什么所谓了。

前言
区块链技术里面有个叫 Hashcash 的概念,好吧,直译就叫哈希现金,我更喜欢像 工作证明 这样的描述,至少他的含义就是为了证明自己为了发送这段信息给接收者而作出了无为的工作。

Google一下资料还是蛮多的,但是看完都是看得人一头雾水,可以读读wikipedia,还可以,不过是英文的,嗯。

https://en.wikipedia.org/wiki/Hashcash
http://www.infoq.com/cn/articles/bitcoin-and-block-chain-part02
是什么
所谓的Hashcash,其实就是你要证明自己做了多少运算,本质上是利用了单向信息摘要算法如SHA,去计算出一个带随机数的字符串的哈希值,并且指定哈希值符合一定规律,常规是以一些0开头。

例子:

我要向一个女同学示爱,直接给她说我爱你,这太容易了,


为了证明我爱她,我决定要经过一些运算,去证明我为了说出我爱你这三个字而工作过,就像,


这里经过了四千九百万次的运算,才找到一个带有六个 0 为前缀的哈希值,0是珍贵的, 
需要我们经过长时间的运算才能得到6个0,真是上刀下油锅啊。

但是这并不够啊,我有6个0之后,可以把这个结果送给任意一个人,对她说我爱她,这其实也并不能体现我的真心, 
所以,我把她的名字加进去运算,得到的000000只能送给她一个人,


当我对不同的人讲爱她的时候,我需要重新做大量的运算来获取这6个0,来证明我对她的爱是有努力过的, 
如果我要对1000人都说这句话,我就要做1000倍的努力,当然土豪可以买一千台机器,这就是人与人的差距。

综述,所谓的Hashcash就是 工作量证明,证明为了打出这段话,我付出了多少的工作量。

再测试
以下测试消耗本机48秒时间计算。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值