hash的安全性

在区块链中,我们面临着两个问题:

  • 隐私问题
  • 快速对账问题

由于区块链中,每个人都存在着一个账本,当一个人有收入的时候,将会进行广播到所有人的账本,例如张三收入xxx钱,这样子所有的账本才能同步更新。但这种情况面临的问题是,我们并不想让别人知道我们收入了多少,这就是隐私问题。

既然有广播,每个人的账本都能收到广播消息,当账本越来越多,消息越来越多,账本如何快速更新对账,同样是一个问题。

 

哈希函数hash

  • 世界上没有两片完全相同的叶子
  • 每一个事物都有自己的特征

Hash函数可以提取数据的特征

 md5是以前很多网站常用的加密方式,md5得到的位数是32位,但用它并不安全,彩虹表可以反向映射破解。

于是人们用sha-1【安全哈希算法】,后来,谷歌公司发布了hash碰撞可能破解此算法 - 《Google研究人员宣布完成全球首例SHA-1哈希碰撞!》 ,于是此类sha-1算法也不可靠。

区块链使用的全网唯一标识算法是 sha256 hash

它的二进制位:

sha256
1001000001101011 0100000000001011
1111010100001111 0111101000001000
1011000110111110 0100111001101010
1101011011110110 0100110101100010
1111100001010000 0001011001011111
1010001010101011 0100111110001001
0000011110101000 1010110000001110
1011111101010100 1100101111010101

由于不可逆性,于是破解只能使用穷举法,它被破解的可能性为:

  • 2的256次方
  • 即 : 1.157920892373162e+77

网上的说法是,如果要破解,银河系所有的服务器(假如计算力等于普通的一台电脑)加起来一起计算,也需要上百年才能有破解的可能性。

 

比特币要点:

  • 比特币通过p2p技术实现账本的同步拷贝
  • 比特币通过增加发送信息的成本(pow)来增加信息传播的成本,降低信息传播的速率
  • 比特币通过区块链的长度,来判断数据的可信度
  • 交易中6个有效区块认为转账成功. 所以比特币的交易确认需要1小时
  • Pow通过sha256哈希来完成, 后面单独介绍
  • 工作证明的获取需要很长时间, 但是验证只需要很短时间.
  • 比特币的Pow算法导致大家通过矿池来挖矿, 矿池算力垄断. 有潜在的中心化风险.
  • 矿池挖矿只是在抢夺记账权,获得比特币,消耗大量电力,并无实际价值,我国计划取缔挖矿.

比特币的价值

  • 区块链可以让物质的转移像信息流动一样快速便捷,同时又由全网的人一起来担保(全部参与的人一起担保就相当于天然存在存在不可证伪,除非其中51%的人统一口径违约),来保证在虚拟世界中的物质转移的可靠。
  • 价值转移

 

posted @ 2019-01-18 10:18 hongxinerke 阅读(...) 评论(...) 编辑 收藏