区块链100讲,本期来讲讲“钱包”...“钱包谁没有?还用你讲?”隔壁桌二花拿出钱包晃了晃,“我要讲的是区块链里的钱包...”嗯,好吧,对着二花弹琴也很累心的..
1
什么是钱包
The word "wallet" is used to describe a few different things in bitcoin.
At a high level, a wallet is an application that serves as the primary user interface. The wallet controls access to a user’s money, managing keys and addresses, tracking the balance, and creating and signing transactions.
More narrowly, from a programmer’s perspective, the word "wallet" refers to the data structure used to store and manage a user’s keys.
In this chapter we will look at the second meaning, where wallets are containers for private keys, usually implemented as structured files or simple databases.
——《精通比特币》
比特币是一种点对点的电子现金系统,没有实物形态,可以存储在比特币钱包里。比特币钱包里存储着你的比特币信息,包括比特币地址(类似于你的银行卡账号)、私钥(类似于你银行卡的密码)。
就像实物钱包里可以存放多张银行卡,比特币钱包里也可以存储多个比特币地址,以及每个比特币地址所对应的独立的私钥。比特币钱包的核心功能就是保护你的私钥,如果钱包丢失,你将永远失去比特币。
比特币钱包有很多种形态,如PC或手机钱包客户端、在线网页钱包、甚至是记录了比特币私钥的小本本(纸钱包)。你可以根据需求来选择适合自己的钱包。俗话说“鸡蛋不要放在一个篮子里”,采用多种方式分散存储也是降低风险的有效方式。
2
钱包分类
比特币钱包按照私钥的存储方式,可以分为冷钱包、热钱包两种。
冷钱包是指网络不能访问到你私钥的钱包。冷钱包往往依靠“冷”设备确保比特币私钥的安全,比如不联网的电脑、手机、写着私钥地址的小本本等。冷钱包避免了被黑客盗取私钥的风险,但是可能面临物理安全风险,比如电脑丢失损坏等。
热钱包是指互联网能购访问你私钥的钱包。热钱包往往是在线钱包的形式。使用热钱包时,最好在不同平台设置不同密码,且开启二次认证,以确保自己的资产安全。无论是使用冷钱包还是热钱包,只要其他人知道了你的比特币私钥,就能转走你的比特币。记住,谁手握私钥,谁才是比特币真正的主人。
前面我们知道了钱包的多种形态,也知道了钱包其实就是“私钥、地址和区块链数据的管理工具”。根据区块链数据的维护方式和钱包的去中心化程度,我们可以把钱包分为:全节点钱包、轻钱包、中心化钱包。
全节点钱包的代表是bitcoin-core 核心钱包,需要同步所有区块链数据,占用很大的内存,但是可以完全实现去中心化。
轻钱包依赖比特币网络上其他全节点,仅同步与自己相关的数据,基本可以实现去中心化。
中心化钱包不依赖比特币网络,所有的数据均从自己的中心化服务器中获得,但是交易效率很高,可以实时到账,我们在交易平台注册的账号就是中心化钱包。
硬件钱包 有些伟大的公司做了很棒的冷热隔离硬件,来让你转账的时候,私钥不接触网络。类似一个U盘,他其实是一台简单的电脑,里面集成了隔离的两个区域,一个区域联网,一个区域存储私钥,物理的隔离网络和私钥,中间交换的时候用了交叉验证的算法,保证了私钥的安全。
3
比特币钱包地址
1、比特币钱包地址是什么?
如果我们把比特币钱包简单比作成银行卡账户的话,那么比特币钱包地址就可以看成是银行卡账号。不同的是,比特币地址是可以不存储在网络上的,更是可以独立于你的钱包而存在的。
2、比特币钱包地址如何生成?
通过随机选出256位二进制数字,形成私钥,然后通过加密函数来生成地址。这个生成方向是单向的。也就是你知道了地址是无法通过解密方法来计算出私钥的。就目前的人类计算机运算能力无法破解,你可以很放心地把地址公布到网上。
3、比特币钱包地址如何保证不重复?
它的生成过程本质上是计算一个随机数。简单举个例子,通过抛硬币将正面向上计为0,反面向上计为1,连续抛256次,就随机得到一个256位的二进制数字。这个数字就是私钥。这个随机性有多随机呢?全世界的人随便怎么抛,被抛出两个相同的256位二进制数字的概率无限接近零,就是不可能出现相同。
4、比特币钱包地址获取操作流程
我们想要获得自己独一无二的比特币钱包地址该怎么操作呢?首先我们要进入比特币官网,注册比特币钱包,输入Email地址及密码,然后会生成比特币钱包地址。具体比特币钱包注册过程,请继续往下看。
5、比特币钱包地址有什么用?
利用比特币钱包中生成的比特币地址你可以接收来自他人的比特币,你也可以将你帐户上的比特币转到他人的比特币地址上面。比特币地址就像银行卡号一样,具有支付、转账、提现功能,但在转账时,你只有知道别人的比特币地址才能进行比特币转账。
4
比特币钱包地址、私钥和公钥的关系
这三者中比特币钱包地址是我们最常见的,它们是一串数字和字母的组合,看起来有点像乱码。钱包地址就像银行卡号,代表了你的比特币账户。通过交易所、比特币客户端和在线钱包都可以获得钱包地址。
私钥类似于银行的账号密码,它的本质是一个随机数,私钥储存在钱包文件里,由钱包软件进行管理,下载了客户端的人就可以在钱包文件里找到私钥。只要有了私钥,就代表了你拥有了对应的比特币,并且能够使用这些比特币,所以保管好自己的私钥是非常重要的。
那么什么是公钥呢?给大家举个栗子吧!假设小明要转一个BTC给他女朋友小红,小明就需要用私钥对这笔交易进行签名,但是其他人怎么才能知道小明拥有对这个BTC的使用权和所有权呢?其他人如何判断这笔交易是不是有效呢?小明在使用私钥对这笔交易进行签名时,会把自己的公钥也一起发送出去,大家看到了小明的公钥,就知道小明确实是拥有这个BTC,这笔交易是有效的。
钱包地址、私钥和公钥这三者有什么关系呢?
公钥是私钥经过一系列复杂运算后得出来的,知道私钥就可以推算出公钥,但是这个推算是不可逆的,也就是说知道公钥是推算不出私钥的。
而钱包地址是由公钥经过一系列的运算后得出的字符串,这个过程同样也是不可逆的,知道地址也是推算不出公钥的。
5
彩蛋:比特币核心钱包(Bitcoin Core)入门使用教程
比特币官方钱包客户端的原名是Bitcoin-QT(QT钱包),现在更名为Bitcoin Core(核心钱包)。
适用平台
-
微软 Windows
-
苹果 Mac OS X
-
Linux
优缺点
-
优点:这个钱包是最完整的、最安全的钱包、最早的比特币客户端。
-
缺点:区块链(blockchain)数据文件体积庞大,目前占据40G硬盘空间;启动较慢,仅适合高端的比特币用户使用;每次生成新的收款地址需要备份钱包文件,否则新地址的私钥在丢失后无法恢复。
核心钱包下载和使用
1、首先,到比特币官方网站下载钱包,注意选择32位或者64位。 下载地址:https://bitcoin.org/zh_CN/download
2、下载安装文件,然后运行并安装钱包。启动钱包,设置数据存储位置。
安装完毕就可以数据同步了,根据网络情况,同步时间可能需要1天~1周时间。数据存储目前需要40GB 以上的空间(截至2015-05-12 )。
3、数据同步完成后,钱包才能正常运行。这时,请立即设置密码,设置一个一个好的密码,密码应该包括10位以上,且不要使用生日、名字、证件号码等易被猜测的密码。警告:遗忘密码等于丢失所有比特币。
4、备份加密后的钱包文件,将加密后的钱包文件wallet.dat复制到你的电脑以外的其他存储,如U盘、SD卡等。
5、接收比特币,在“接收”选项卡,我们可以获取自己的钱包地址。直接点击“请求付款”,将生成一个新的地址。你可以将这个地址发送给别人,让他们向你支付比特币。
6、支付比特币,在“发送”选项卡,可以把你的比特币发送给其他比特币用户。
比特币系统里面,比特币是通过交易的“输入”和“输出”进行交换的。每次交易就是把已经输入到你账户的比特币输出到其他的账户。请仔细确认交易信息。系统可能根据情况征收交易费,交易手续费一般情况是0.0001BTC(万分之一比特币),更多的手续费有助于交易被快速处理并确认。
-
注意1:交易一经确认,无法逆转!
-
注意2:选择找零地址,多余的比特币余额会发送到找零地址,请确保找零地址是你拥有的比特币地址。
7、在每次使用比特币核心钱包后,应该注意将钱包文件wallet.dat 加上日期进行备份,以免意外情况而丢失你的比特币地址对应的私钥(断电、重装电脑、误删文件)。
8、过一段时间后再次启动,核心钱包需要与网络同步区块链数据,然后才可发送和接受比特币。
延伸阅读:区块链100讲:梅克尔树保障区块链数据不可篡改,想换根就要砍树!
区块链100讲:公开密钥算法不能不知道的4个概念
区块链100讲:据说,80%的人都搞不懂哈希算法
区块链100讲:以太坊(Ethereum ETH)挖矿教程
本文内容来源于EXV星球、minerOS、火币网、蚂蚁矿机ANTMINER、巴比特、精通比特币
活动推荐:技术沙龙|学会编写智能合约后,该学什么?(西安) 扫描下图中二维码或点击“阅读原文”即可报名参加