聊聊区块链

现在全民区块链,真是不说说区块链就感觉自己 out 了。 首先要感谢区块链,让我完全避免了和同行聚会时不懂 AI 的尴尬。

区块链是什么?

区块链用了一个叫 Hashcash 的技术解决 P2P 环境下的双花问题。双花本意是同一笔钱花两次,这在中心化系统中是不存在的,因为你的钱花了,余额就减掉了,你再花就没有了。

但在 P2P 里,两个节点间的信息同步需要时间,甚至有些节点完全无法通信,你可以把同一笔钱转给不同的人,然后把每笔交易信息发到不同的节点,这样即使不同节点间看到了同一笔钱花两次,但他无法确定的是哪一笔是合法的哪一笔是非法的,他只会随机确认其中一个交易,然后通过 Hashcash 计算出一个非常难计算出来的 hash 值,具体计算方法是 hash(前一个 hash 值 + 打包的交易信息 + 随机数) 通过不停的修改随机数,让最终的 hash 值有 n 个前置的 0 。n 值是根据所有人的算力总和来计算出来的,让计算不至于太简单,也不会太难以至于需要时间太长。

一旦一个节点计算出 hash 值,就会马上广播到系统里,看到了这个广播的节点,会放弃自己当前的计算,重新用这个新的 hash 值开始计算。当然,他也可以忽视别人,继续算自己的,只不过如果他的计算不够快的话,所有的计算都白废了,因为大家只承认拥有 Hashcash 值最多的那个条链。

所以区块链的特点是,

  1. 没有中心节点。
  2. 需要大量的计算。

区块链能干什么?

区块链是一个很聪明的发明,但我完全不同意它是解决生命、宇宙和一切的终极答案。区块链只在一些非常小的特定领域才会有些用处,比如我之前写过一篇文章 用比特币技术解决 HTTPS 的信任问题 但依然要克服各种各样的实践问题。

其它在任何可以使用中心节点的环境下,用区块链就是脱了裤子放屁,比如,

  • 用区块链管理学历信息(政府建立一个学历数据库)
  • 供应链管理(受益人建立一个产品供应数据库)
  • 金融系统(为什么一个金融机构会和自己信不过的机构合作)
  • 智能合约(合同本身是受法律保护的,何须“智能” ?)。

所有括号里的方案都要比区块链更简单,更节约社会资源。

还有很多人宣传区块链时故意混淆了数字签名技术,加密技术,要我说你们这帮人就是彻底的坏。

Sign in or Sign up Leave Comment