浅谈比特币


比特币

(英语:Bitcoin,缩写:BTC 或 XBT)是一种基于去中心化,采用点对点网络与共识主动性,开放源代码,以区块链作为底层技术的加密货币,比特币由中本聪(Satoshi Nakamoto)于2008年10月31日发表论文,2009年1月3日,创世区块诞生。在某些国家则将比特币视为虚拟商品,并非货币。

任何人皆可参与比特币活动,可以通过称为挖矿的计算机运算来发行。比特币协议数量上限为2100万个,以避免通货膨胀问题。使用比特币是透过私钥作为数字签名,允许个人直接支付给他人,不需经过如银行、清算中心、证券商等第三方机构,从而避免了高手续费、繁琐流程以及受监管性的问题,任何用户只要拥有可连线互联网的数字设备皆可使用。

不过随着比特币交易手续费的波动,在2017年6月,小于1毫比特的交易已不现实,因为交易时要承担的手续费远远大于交易金额;在2017年12月,Steam宣布停止接受比特币,理由是“交易费用高昂,且波动性大”,在2018年2月,平均交易手续费从2017年第四季度的34美元,下降至约1美元。

基本概念

有观点认为,比特币的问世是人们憎恨商品经济中国家主权货币超发、以及货币政策干预、向往礼物经济中社区共识货币自主的结果;比特币的汇率是全球投资者增加或者减少的反应;而比特币的底层技术区块链可应用在各行各业。

通常,首字母大写的“Bitcoin”是指其所使用的比特币技术与网络,而首字母小写的“bitcoin”才是指货币本身。比特币也是区块链支付系统和虚拟计价工具,由于其采用密码技术来控制货币的生产和转移,而没有中央的发行机构,无法任意增发,交易在全球网络中运行,有特殊的隐秘性,加上不必经过第三方金融机构,因此得到越来越广泛的应用,也成了非法交易的介质。用户利用个人计算机和智能手机中的加密钱包软件,无需任何银行、信用卡、在线支付公司等中介机构,可随时随地在网络上直接交换物品、服务。 根据剑桥大学2017年的研究,全球有多达580万个加密钱包活跃用户,其中大多数使用比特币。同时,有观点认为,比特币技术得到了广泛的认可和使用,使人类迎来了区块链时代。

作为记账系统,比特币不依赖中央机构发行新钱、维护交易,而是由区块链完成,用数字加密算法、全网抵御51%算力攻击保证资产与交易的安全。交易记录以被全体网络计算机收录维护,每笔交易的有效性都必须经过区块链检验确认。

作为记账单位,比特币的最小单位是 0.00000001 (一亿分之一)比特币,称为“1聪”。如有必要,也可以修改协议将其分割为更小的单位,以保证其流通方便,区块回报每产出21万个区块减半一次,大约4年,最近一次减半在2016年7月9日,而此种收敛等比数列的和必然是有限的,到2140年时,将不再有新的比特币产生,最终流通中的比特币将总是略低于2100万个。截至2018年3月,比特币供应量约1700万个,实际的流通量还会因为私钥丢失等因素更加减少。

区块链

区块链(Blockchain)是比特币的一个重要概念,该概念在中本聪的白皮书中提出,区块链是一串使用密码学方法相关系产生的数据块(称为“区块”,block)。新增的数据块总能链接到上一个区块,即整条区块链的尾部。比特币点对点网络将所有的交易历史都存储在“区块链”(blockchain)中,所以区块链可以看作记录着比特币交易的账本。区块链是一群分散的客户端节点,并由所有参与者组成的分布式数据库,是对所有比特币交易历史的记录。中本聪预计,当数据量增大之后,用户端希望这些数据并不全部存储自己的节点中。为了实现这一目标,他采用引入散列函数机制。这样客户端将能够自动剔除掉那些自己永远用不到的部分,比方说极为早期的一些比特币交易记录。中本聪创造了比特币系统的第一个区块,即“创世区块”,并附有一句“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”,而这句是当天泰晤士报的头版文章标题。

确认一项交易的过程,是由解决一系列计算难题的工作量证明机制来实现的。工作量证明机制要求计算机的计算能力为某个有限值的情况下,需要运算一定的时间才能解决,这就使得攻击者无法重写、修改交易历史,除非他能够拥有相对比特币点对点网络系统更强大的计算能力,从而能以更快的速度产生区块链(称为"51%攻击")。工作量证明机制的难度由系统自动调节,所以新区块的生成平均需时10分钟。整个比特币点对点网络的节点都会自动检测交易和区块的有效性,并忽略任何违背规则的交易和区块,比如那些产生错误数量的区块,或多次发送同一份额比特币的交易行为。

参与处理区块的客户端可以得到一定量新发行的比特币,以及相关的交易手续费。为了得到这些新产生的比特币,参与处理区块的用户端需要付出大量的时间和计算力(为此社会有专业挖矿机替代计算机等其他低配的网络设备),这个过程非常类似于挖矿,因此中本聪将数据处理者命名为“矿工”,将数据处理活动称之为“挖矿”。这些新产生出来的比特币可以报偿系统中的数据处理者,他们的计算工作为比特币点对点网络的正常运作提供保障。 有鉴于此,其他类似竞争币(Altcoin)都是用了相同的理念去处理端间交易数据,只是在工作量证明机制上进行调整,如采用权益证明(Proof of Stake)[31]和Scrypt算法等。

“比特币让人们第一次可以在网络上交易身家财产,而且是安全的,没有人可以挑战其合法性。”

—Marc Andreessen


钱包



客户端

比特币客户端有很多,下文举几例列出。

Core客户端

比特币最初客户端为Bitcoin QT,由中本聪开发[34]。Bitcoin QT从0.4.0版本开始,支持钱包档加密存储。加密的钱包在每次付款的时候,都必须输入密码。但如果用加密之前备份的钱包文件(wallet.dat)替换回来,还是可以正常交易。考虑到比特币的原理可得出,掌握私密密钥即拥有对相应地址中比特币的处置权,不管对钱包文件(内容包括各个地址对应的私密密钥)是进行了加密还是删除,都不能否定它。

其他客户端

其他客户端都是以Bitcoin QT为原型开发的。通常支持云存储区块,以避免用户花费大量时间和磁盘空间下载旧交易信息。并且各自提供高级功能。如Armory、Electrum和MultiBit等。此三者特点如下:

Armory

支持将钱包档离线保存,在线客户端需花费比特币时,需使用离线钱包签名,再通过在线客户端广播,提高了安全性

支持运行多个不同的钱包

支持打印比特币密钥,方便纸上备份

使用该软件需安装Bitcoin QT

Electrum

无需下载完整的程序,使用远程服务器上的区块链的副本即可实现大部分功能

MultiBit

轻量级

无需下载完整程序

支持多国语言

比特币也有运行在智能手机上的客户端。

硬件钱包

硬件钱包是专门处理比特币的智能设备,例如只安装了比特币客户端与联网功能的树莓派。硬件钱包通常可以提供更多的安全保障措施。

在线钱包服务

在线钱包服务可以让用户在任何浏览器和移动设备上使用比特币,通常它还提供一些额外功能,使用户对使用比特币时更加方便。但选择在线钱包服务时必须慎重,因为其安全性受到服务商的影响。

线上钱包服务有“区块链上”(on-chain)与“区块链外”(off-chain)的区别:链上钱包服务商帮助用户保管加密后的私密密钥,用户的比特币余额可以在区块链上查询到,类似为每位用户准备一个独立的保险箱;链外钱包服务商帮助用户保管比特币本身,相当于把用户资金放在自己的金库中,给用户提供存款证明。

离线钱包

比特币最需要保护的核心部分是私密密钥(私钥),因为用户是以私钥来证明所有权,并以此使用比特币,存储私密密钥的介质也可以称为钱包,当钱包丢失、损毁时,为比特币丢失,离线钱包可以是纸钱包、脑钱包、冷钱包、轻量钱包。

纸钱包:把私钥打印在纸上存放,再删除计算机上的钱包文件,实现钱包的网络隔离。

脑钱包:用户可自行设置密码,并以此进行散列运算,生成对应的私钥与地址,以后只需记住这个密码即可使用其中的比特币。

冷钱包:指在一台不联网的计算机上随机生成比特币的地址和私钥,并且在今后的使用中也不连接互联网,而只通过二维码或U盘来发送相关交易的电子签名。

轻量钱包:指无需同步区块链的比特币钱包,轻量钱包相对在线钱包的优点是不会因为在线钱包网站的问题而丢失比特币,缺点是只能在已安装轻量钱包的计算机或手机上使用,便捷性上略差。

地址与私密密钥

比特币在产生地址时,相对应的私密密钥也会一起产生,彼此的关系犹如银行存款的账号和密码,有些在线钱包的私密密钥是存储在云端的,用户只能透过该在线钱包的服务使用比特币。

地址

地址用于接收比特币,功能类似银行的存款账号,但不需要实名登记。若只公开地址不必担心里面的比特币被盗走,也没有任何身份信息,也可以离线产生。比特币的地址是由用户的公开密钥经过 SHA-256 散列运算后,再通过 RIPEMD-160 散列运算而得,其长度固定为 160 个比特(bits),通常会利用 Base58 将之编码成一串由英文字母和数字所组成的字符串,以方便显示或散布,其特征是皆以“1”或者“3”开头,区分大小写,但不包括“IlO0”等字符,“1”开头的地址长26~34位,“3”开头的地址长34位,例如"1DwunA9otZZQyhkVvkLJ8DV1tuSwMF7r3v",地址也可编码成快速反应矩阵码(QR-Code)的形式让移动设备能够便捷地读取复制 。比特币客户端可以离线生成比特币地址 。一个人可以生成并拥有许多比特币地址,并用在不同的交易上,而且除非自己揭露,或与其他数据链接,否则外人无法看出其中的关系。可用的比特币地址数量接近2161个[来源请求]。形象地说,假如地球上约有263粒沙,如果每一粒沙中有一个地球,那么比特币地址总数远远超过所有这些“地球”上的所有的沙子的数量。

私密密钥

比特币的私密密钥(私钥,private key),作用相当于金融卡提款或消费的密码,用于证明比特币的所有权。拥有者必须私密密钥可以给交易消息(最常见的,花费比特币的消息)签名,以证明消息的发布者是相应地址的所有者,没有私钥,就不能给消息签名,作为不记名货币,网络上无法认得所有权的证据,也就不能使用比特币,交易时以网络会以公钥确认,掌握私密密钥就等于掌握其对应地址中存放的比特币。

私密密钥必须保密、否则任何人只要拥有某一地址的私密密钥,即可使用其中的比特币。也不能丢失,而且不像金融卡密码遗忘时,用户可以根据当地的金融规范,携带自己的身份证件,亲自前往金融机构据点,办理密码重置后继续使用原来的账户,但若比特币的私钥丢失,将如同忘记保险箱的密码而无法正常打开取用保险箱内的物品,而且没有方法可以重置(除非有事先备份),2013年,有一位英国用户因为不小心丢弃了存有其私密密钥的硬盘,导致里面的7,500个比特币,当时价值750万美元,无法使用。,除非私钥被找到,否则这些比特币将永“躺”在区块链里,不再流通,而使得流通中的比特币变少。,而要破解私钥的难度很高,这是其中一个作为不记名的比特币的主要安全机制。根据区块链业者Chainalysis的估算,在2017年底时,约有17%至23%,278万个到379万个的比特币因为私钥丢失、密码遗忘等原因,而永远无法使用与进入流通。

比特币私密密钥通常由51比特或52比特字符表示,其编码方式与比特币地址相似。51比特标记法由数字“5”开头,52位标记法由“K”或“L”开头。比特币地址是由比特币公开密钥进行散列运算得出的,公开密钥是可以通过私密密钥推算出的。所以掌握私密密钥就可以推算出私密密钥对应的地址(不可逆),这相当于只需要输入一组正确的密码,就可以推算出账户名称并登录,而无法从账户名称反向推算出密码般。

2013年圣诞节前,12天比特币节目中,Adam Johnson收到Bloomberg电视台的主播Matt Miller送的价值20美元的比特币礼物卡。他开心的打开礼物卡包装,在摄影机前展示了约10秒钟礼物卡,然后,10秒钟之内,钱就不见了。这张礼物卡上面,是一个比特币钱包的地址跟私钥的QR CODE。

你可能感兴趣的:(浅谈比特币)