比特币账户生成机制一

2018-09-11 15:36:27

农场游戏开发就找领创网络,下面解读: 

比特币“账户”体系中有=三个重要的概念:钱包地址、密钥和比特币钱包。比特币钱

包是比特币生态圈中最基础、最重要的工具软件,用户最先接触的就是比特币钱包,通过

比特币钱包发送或者接收比特币,简单易用的比特币钱包对于比特币的推广是极为重要

的。比特币钱包是比特币账户体系的载体,可以用来生成和保存钱包地址和密钥。钱包地

址是比特币账户体系的外在表现形式,可以向其他用户公开,类似于银行账号。密钥是比

特币账户体系的根本,密钥是拥有比特币持有者的唯一凭证或者说是身份证明。

    (1)钱包地址。钱包地址主要用于收款,不同于传统银行或者互联网支付公司,

建立比特币钱包地址不需要提供身份认证,用户只需要简单点击“新建”按钮就可以得到

一个全新的比特币钱包地址。鉴于安全隐私考虑,比特币社区建议用户创建多个钱包地

址,甚至每次收款更换一个钱包地址,这样就相对难于通过钱包地址追踪到比特币持有

者。钱包地址通常是数字l开头的34位字符串。

    (2)密钥。比特币的密钥和钱包地址是相辅相成的,钱包地址是表,密钥是里,两

者共同构成了比特币的账户体系。密钥是比特币持有者的唯一凭证,只有持有密钥才能使

用账户中的比特币。密钥是由钱包程序自动调用的,通常情况下用户察觉不到密钥的存

在,所以密钥常常被初学者忽视。比特币钱包的一个核心功能就是存储账户密钥,备份钱

包最重要的工作就是备份密钥。比特币官方提供的Bitcoin core通常将账户密钥保存在钱

包软件安装目录下的wallet.dat文件中,这个文件不能通过普通文本软件查看。若通过这

种方式保存钱包地址和密钥,则可通过Bitcoin core提供的命令行工具导出钱包地址对应

的密钥。密钥也是一个字符串,长度约为52位,如alice的密钥是“L3FFFCNVkJVaMXS

vMVdk8PbNEgiw8N42ZhU6wF8Vtt2E5a:H6MyXw(见图2.6)”。

    肯定有人会好奇密钥和钱包地址之间的关系,或者已经做出了初步的判断,钱包地址

和密钥应该是分别对应非对称加密算法的公、私钥,这个猜测非常接近,然而并不准确。

揭晓答案之前让我们首先了解一下非对称加密算法,非对称加密算法简单归纳如下:一是

非对称加密算法需要公钥(Publickey)和私钥(Privatekey)两个完全不同的密钥;二是

通过私钥可以推导出公钥,但通过公钥无法推导出私钥;三是若用公钥对数据进行加密只

能通过私钥解密,若用私钥对数据加密只能通过公钥解密。RSA加密算法和椭圆加密算法

是两个应用最为广泛的非对称加密算法。非对称加密算法进行加密解密的基本过程如下:

甲方生成一对密钥,公钥是公开的,任何人都可以获得;乙方得到甲方的公钥并利用公钥

对信息进行加密后发给甲方;甲方用自己保存的私钥进行解密。

    密钥确实是非对称加密算法中的私钥,然而钱包地址并非公钥,由于公钥字符串长度

过长不利于使用等原因,中本聪设计了钱包地址这个概念,钱包地址是在公钥的基础上通

过一系列运算计算出来的,运算过程(见图2.7)可以简单理解如下:①私钥通过“不可

逆”的非对称加密算法生成公钥;②公钥通过一系列“不可逆”的安全散列算法生成公

钥哈希;③公钥哈希通过一定编码规则生成钱包地址。这个运算过程只有最后一步是可逆

的,即通过密钥可以计算出钱包地址,可通过钱包地址只能生成公钥哈希,根本无法计算

出公钥和密钥。

    I.首先使用随机数发生器生成一个私钥,拥有了这串数字就可以对相应收款地址中的比特币进行操作,所以必须

被安全地保存起来。

    2.通过椭圆曲线算法SECP256K1生成了公钥,这是保障比特币安全的加密算法基础。

    3.同SHA256一样,RIPEMDl60也是一种Hastl算法,公钥可以计算得到公钥哈希,这个过程同样不可逆:

    4.将一个字节的地址版本号连接到公钥哈希头部,然后对其进行两次sHA256运算,将结果的前4个节作为公钥

哈希的校验值,连接在其尾部。    ‘

    5.将上一步结果使用BASE58进行编码,就得到了钱包地址。

    比特币的运行机制中没有任何中心化机构,保存比特币密钥的任务完全落在用户手

里,密钥就是一切,拥有密钥就拥有这个账户的所有比特币,没有任何机构和个人有权力

冻结你的比特币。用户不用担心比特币账户体系的安全性,比特币账户(密钥)总数超过

2㈨,这个数字远远超过地球上所有沙子的总数2。。(接近10的19次方),依靠现有超级

计算机暴力破解根本不具备可行性,比特币账户系统的安全性是毋庸置疑的。需要提醒的

是如果密钥被盗或者不慎丢失,那么没有任何机构能够提供密钥找回服务或者账号申诉渠

道,也没有任何办法可以计算出私钥,从此这个账户的比特币将永远沉睡。英国小伙詹姆

斯?豪厄尔斯(James Howells)在2012年的时候拥有7 500个比特币。当时因为不小心将

饮料洒在了笔记本电脑上,詹姆斯把电脑拆开并将硬盘放入抽屉中,然而在某次打扫卫生

的时候他随手扔掉了硬盘。2013年11月,比特币价格开始疯狂上涨的时候他才意识到硬

盘中的密钥意味着500万英镑,追悔莫及的詹姆斯来到了垃圾填埋场寻找这块“天价”硬

盘,除非找到那块硬盘,否则这些比特币再也找不回来了。万一密钥丢了到底怎么办呢?

对此中本聪说过的一句话可能会帮到你,他说“丢失比特币只是让别人的比特币更有价值

罢了,就将此视作对其他用户的捐赠吧”。中本聪是对的,如果丢了密钥那就只能洒脱

点吧。

菏泽领创网络专注于农场游戏开发

相关内容