04.1_存储和使用比特币

Posted zhaopp

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04.1_存储和使用比特币相关的知识,希望对你有一定的参考价值。

一、简单的本地存储

   公共信息:记录在区块链上的内容(例如 比特币的识别信息、币值等)

   私密信息:即本人的私钥

  1、存储和管理私钥的三个目标

    可获取性;安全性;便利性(不能做到同时满足,根据具体应用情形,作出权衡)

  2、几种管理比特的方法

    比特币钱包软件:管理你比特币和私钥信息并方便使用的应用软件

      比特币钱包就是一个简单的接口,告诉你前面包里有多少比特币,当你使用比特币的时候,他会处理关于密钥管理的一切技术细节,比如使用密钥和生成新的地址。

    编码解码(encoding keys):Base58 编码和二维码

      使用和接受比特币需要你和对方交换地址----比特币送达的地址。目前  两种主流的方式将地址加密:字符串和QR(QuickResponse) 

      为了给地址赋予一个字符串,把密钥的字节从二进制字符转换成base58码。Base58就是用一个包含58个字符的字符集来编码,被称为base58记号法(去掉了比较容易混淆的字符:0和o)。

      QR码就是二维码,好处就是用手机拍张照片,然后钱包就会把QR码转换成代表比特币地址的字节。

    虚荣地址:将地址转换成一些人能够识别的字符(Satoshi Bones,收款地址中就含有“骨头”(bones)),如下所示2-6为字符(1bonesEeTcABPjLzAb1VkFgySY6Zqu3sX),所有的地址都是1开头,代表支付到比特币地址的标准交易或者说是标准的比特币转账。虚荣地址即只能通过不停的重复生成私钥,直到私钥中包含我们所希望的字符。(其实这种地址可以通过工具生成)。

  工作量:如果想得到一个字符串含有k个字节的特殊字符,平均需要生成58的k次方的地址,才能获得你想要的结果。但是每增加一个字符,工作量会使几何级数增长。

    虚荣地址的加速生成:

      最直接的方法是挑选一个伪随机序列x,计算H(gx   ),不停的生成地址,知道得到想要的结果为止。一个更快的方式,如果x无法得到想要的结果,接下来使用x+1来计算,如此反复。而不是挑选一个新的x。因为gx+1= g.gx,前面已经计算过了gx,所以我们只需要做乘法运算而不是指数运算,这样更快。比直接计算快两个数量级。

以上是关于04.1_存储和使用比特币的主要内容,如果未能解决你的问题,请参考以下文章

比特币是如何完成升级和迭代的?

精通比特币——1.1 什么是比特币

区块链比特币学习 - 2 - 密钥

美联储银行行长:比特币显然是一种价值存储

用C#开发自己的比特币钱包

比特币以及区块链原理学习