bitmare | 副船长 | 发表于 2015-2-13 20:06:43 | 显示全部楼层
中本聪是杂家,可能是代码界最懂密码学的,密码学界最懂经济学的,经济学界最懂代码的
姜家志 | 副船长 | 发表于 2015-2-13 20:07:04 | 显示全部楼层
最初意识到中本聪有可能真的不是密码学家出身

是因为 “压缩格式的公钥”

关于 压缩 和 未压缩 格式

比太群里的老群友们和比太的老用户们大概应该还有些印象

我们大约是在半年多以前兼容了未压缩格式的私钥导入功能
手中无比特 | 拾比特副船长 | 发表于 2015-2-13 20:07:11 | 显示全部楼层
姜家志 发表于 2015-2-13 20:05
不过,今天要八卦的重点,倒不是“中本聪到底是不是程序员”

而是“中本聪其实也不是密码学家”

神一样的存在啊。
江傻逼与狗不得回帖!
姜家志 | 副船长 | 发表于 2015-2-13 20:08:21 | 显示全部楼层
我们大约是在半年多以前兼容了未压缩格式的私钥导入功能

注明:5开头的私钥对应的公钥是未压缩格式的,K和L开头的对应的是压缩格式

当时,我们在开发过程中,也奇怪来着,为什么会有两种格式呢?

压缩、未压缩,到底代表什么含义?
姜家志 | 副船长 | 发表于 2015-2-13 20:09:30 | 显示全部楼层
这其实就是本次 “八卦” 所能提供的证据之一 : 公钥

没办法,又得掺进来点技术

有一个公式是永远躲不开的:

Q = d x G
姜家志 | 副船长 | 发表于 2015-2-13 20:10:23 | 显示全部楼层
如果是比特币爱好者,认识一下这个公式的外观,其实也没什么坏处

毕竟,这是椭圆曲线 ECDSA 最重要的公式

私钥到公钥就是这么计算出来的
姜家志 | 副船长 | 发表于 2015-2-13 20:11:45 | 显示全部楼层
没有什么比这个再重要的了

这个公式中:

G(x,y) 是一个选取好的确定的点

d 是 私钥

Q(x,y) 是公钥
姜家志 | 副船长 | 发表于 2015-2-13 20:13:09 | 显示全部楼层
好了,我们在这里,不涉及具体的数学细节

就说一点,大家看一下 Q

按这个公式,公钥 Q 是一个点,有 x 和 y

在这里,x 和 y 都是 256 位的大数(BigInteger)

也就是说,存储 x 和 y 需要两个 256 位的存储空间
姜家志 | 副船长 | 发表于 2015-2-13 20:14:10 | 显示全部楼层
即,公钥需要占据至少 两个 256 位的存储空间

但这里要强调一点

椭圆曲线本身有着一个很特殊的特性 - 对称性(基于x轴)

这个对称性在平面几何里,就是 y 和 -y

在射影几何里,就是有限域内对称的 y 和 y' (其实也就是 (-y) mod n )
姜家志 | 副船长 | 发表于 2015-2-13 20:15:10 | 显示全部楼层
同样的

大家不需要了解具体的技术细节

只需要知道一点:

存储公钥 Q

只需要存储 x

以及该点位于有限域内的哪一侧(上面还是下面?)就够了

并不需要存储 y
姜家志 | 副船长 | 发表于 2015-2-13 20:16:22 | 显示全部楼层
因为有了 x 加上 哪一侧,就能够得到 y

这也就意味着,存储公钥,只需要 1/2 的存储空间就够了s

这就是是 “压缩格式的公钥” 这个词的由来

关于“压缩格式的公钥”,压缩这个词其实很不准确,给人感觉公钥就应该是未压缩的,然后用了某种“压缩”算法进行了运算。其实不然,正确的理解是,由 x (及位于哪一侧)就能构造出完整的公钥 Q ,因此,我们只需要 x 和 哪一侧 这两个信息就够了,这其实不太像是传统意义上的压缩哈
姜家志 | 副船长 | 发表于 2015-2-13 20:17:23 | 显示全部楼层
所以

更准确的词语,应该是:
浪费空间的公钥 和 没有浪费空间的公钥

公钥很长,无论是转换为哪种格式(BASE58编码之类的),都很长

对于比特币这种去中心化账本来说,存储空间非常昂贵,成本非常高
姜家志 | 副船长 | 发表于 2015-2-13 20:18:58 | 显示全部楼层
因此,能节省出来的空间价值是非常大的,平白无故的使用两倍的空间来存储公钥,显然是浪费的、不合理的

这也是中本聪在早期设计中没考虑到、后来改进了的地方之一。

关于椭圆曲线的对称性,密码学家们当然是早就知道了(远早于比特币的历史),因此不存在说由于比特币的发展才让密码学家们意识到椭圆曲线对称性这一特点的情形

所以,这个证据,其实挺明确的说明了,中本聪的确不是密码学家出身
七步上天堂 | 版主 | 发表于 2015-2-13 20:19:42 来自手机版 | 显示全部楼层
到底中本聪大致拥有多少币?
姜家志 | 副船长 | 发表于 2015-2-13 20:20:23 | 显示全部楼层
这里,得强调一点,没有两种格式的公钥(压缩、未压缩)

只有浪费、未浪费

为了兼容过去的,我们可以考虑支持旧版本未压缩格式的公钥

但这并不意味着现在仍然坚持使用未压缩格式就是正确的
高级模式
您需要登录后才可以发帖 登录 | 立即注册 用新浪微博登录

本版积分规则

搜索

0关注 3粉丝 64主题

作者的其他主题

比太亮点

  • bither1
  • bither2
  • bither3

关注微博

相关链接

返回顶部 返回列表
分享 发帖