LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 比特币的数字签名与安全保障

比特币的数字签名与安全保障

2020-02-24 1TMine 来源:火星财经

我们用支付宝或微信支付时,需要输入密码以验证身份,对于比特币,大家又要怎么做呢?如何证明你发到网上的比特币支付信息是你发出的呢?如何确保发出的信息没被篡改呢?这就涉及到一种叫数字签名的技术了。

首先,我们可以随机生成一个私钥,私钥也是一个 256 位的二进制数。我们可以抛 256次硬币,正面朝上记成 1,反面朝上记成 0,这样也能随机生成一个私钥。然后用椭圆曲线加密算法对私钥进行运算,生成公钥,再对公钥进行哈希运算,就得到了地址。椭圆曲线加密算法也是不可逆的,从公钥无法反推私钥,想试出私钥得试到天荒地老。此外,用椭圆曲线加密算法生成的公钥还可配合私钥,进行非对称加密。

先来了解一下对称加密。对称加密中,加密解密的密钥都是一样的。比如有一条信息是 1234567,我们用密钥 9对它进行加密,1234567×9 就得到了密文 11111103,解密的时候 11111103÷9 就解密出了 1234567,加密解密的密钥都是 9。但在非对称加密中,加密解密的密钥则互不相同。

比特币里,私钥可以用来加密信息,而公钥可以用来解密该信息。比特币里没有“人”的概念,只有“地址”的概念,提到你有多少个比特币,其实是说你的地址上有多少个比特币。那要怎么才能控制你地址上的币呢?就要靠私钥。公钥和地址都可以公开,但私钥一定不能泄露。

私钥犹如地址对应的一支独一无二的签字笔,能签出独一无二的签名,证明你是对应地址的主人,所以我们也把该过程称为数字签名。用私钥签名后,此地址的付款信息才会被别人接受。如果丢了私钥,就无法使用地址上的币,尽管地址上的币都是清清楚楚地记录在比特币区块链账本上的。如果知道了你的私钥,他就可以转走你地址上的币,而你无可奈何。所以,说私钥安全性重于泰山也不为过。

不过,私钥并不像我们登录时输入的密码,它本身是可以完全不触网的,完全可以在离线状态下对付款信息签名(其实就是用私钥加密付款信息的哈希值),然后把付款信息和签名信息发送到网上即可,别人也无法从签名反推私钥,这是由椭圆曲线加密算法的性质决定的。比特币的“钱包”,存放的不是币而是私钥,所谓的“冷钱包”就是不联网的钱包,可以有效防御黑客盗取私钥。我们用比特币钱包时设置的密码,实际上起到的作用是授权调用私钥,而非是私钥本身。



由于私钥、地址等信息用二进制表示非常长,比特币采取了一种叫Base58 的编码方式,将二进制数转换成 58 进制数表示,所以我们看到的地址之类信息就是一串大小写字母和数字的组合。为便于记忆及管理私钥,人们又设计出了助记词,助记词一般是 12个单词,出自有 2048 个常见单词的词库,助记词对应着根私钥,是根私钥一种易于记忆的形式。根私钥是随机生成的,它可以按一定规则,生成多个币种的私钥。这样,用助记词就可以统一管理多个币种的私钥,省去了很多麻烦。不要以为只有12个词就不安全,2048^12≈5.4×10^39是个天文数字,指望随机输入助记词碰巧试出一个有币的地址,是根本不可能的。

所以,还记得你的钱包助记词吗?

本文来源:1TMine
原文标题:比特币的数字签名与安全保障

—-

编译者/作者:1TMine

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...