1. 首页
  2. 新闻

透视区块链里的密码学

大多数人对区块链的理解还只是一个大概印象,虽然很多人都认为区块链是去中心化的可信基础,但只有少部分人可以理解其中的具体原因。现在谈到的区块链,其实是基于一系列密码学算法构建而成的。对于非密码学专业的人来说,理解起来是很艰涩的。

本文,我们将从密码学的角度对整个区块链结构进行一个整理讲解。针对具体的密码学技术,尽量使用通俗的例子,希望能帮助大家增加对区块链的理解。

账户

深入学习区块链之前,我最好奇的就是每个人的账户在一个分布式系统中都是如何生成的。

毕竟在中心化系统中,账户是由服务方进行生成和验证的。比如我们申请微信号,微信号是腾讯在他们自己的服务器里帮我们创建并管理。但在区块链系统中没有一个中间企业帮我们创建账户,那在区块链里是如何生成账户的呢?

安全随机数

这里就需要引入密码学里的第一个概念,【安全随机数】,即在本地随机生成一个字符串,也就是我们的私钥。由安全随机数算法生成的随机数,我们可以无限假设是安全的。

比如,现在允许你在全宇宙中随机选择一个原子,不做标记,然后让你的朋友在不知情的情况下找出这个原子,你可以想象一下这个难度,而基于不同的足够安全的随机数种子生成相同的随机字符串的概率比找到那个【原子】还低的多得多。因此,虽然我们都是在本地生成区块链私钥,但是完全可以认为是安全的。

公钥算法

通过安全随机数算法生成了私钥,那么如何通过私钥生成公钥以至地址呢?这里就需要引入第二个密码学概念【公钥算法】。

【公钥算法】通俗来讲就是公钥加密,私钥解密,任何拥有你公钥的人都可以用你的公钥来对数据进行加密,但是只有对应的私钥才能对这个数据进行解密。就好比是你造了保险箱,任何人都可以把他的东西放在保险箱里,然后锁上箱子,一旦锁上只有你才能打开。这个公钥算法在区块链里用的是椭圆曲线,原理则是数学上对大数进行因数分解的困难。

比如,大家都知道 6 可以由 2 乘上 3 得到,这个很简单,但如果给你超级大的数呢?比如一千位?两千位?你可能会想着用自己的电脑来计算,毕竟数学已经发展这么多年计算机算力也几何式增长,肯定算得出,但是很遗憾的告诉你这个时间是成千上万年,足够我们每个人回归地球母亲了。

给一个足够长的私钥,我们可以得到一个公钥,基于大数因数分解的困难性,没有人可以通过这个公钥计算出私钥,这样我们就得到了一个区块链账户。这个账户仅仅包含私钥和公钥,那么我们通常使用的地址又是怎么来的呢?

商务合作扫码关注我们,了解最新区块链资讯~

【纽扣财经版权及免责声明】本文仅代表作者本人观点,与纽扣财经立场无关。本站所有内容不构成投资建议,币市有风险、投资请慎重。如需转载文章,请注明来源纽扣财经(www.nkblock.com)及作者姓名,违者必究。

下一篇:没有了
« 上一篇
上一篇:没有了
下一篇 »

相关推荐

QR code