首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

1 认识比特币

比特币是目前为止最成功的区块链应用,是进入区块链世界的入口,也是电子货币金融市场的标杆,如果你想学习区块链技术,比特币是不得不学的基础。在github上有一个bitcoinbook(http://j.mp/2GV7nDD)的开源项目,它是《精通比特币第二版》这本书的开源版本,让我们从这里开始,深入的学习比特币吧。

什么是比特币

比特币是一组概念和技术,它构成了电子货币生态系统的基础。用户可以通过网络,将比特币转移到其他用户,通俗点说,就是比特币可以做任何传统货币可以做的事,包括买卖商品,给个人或企业转账。同时,在电子货币世界,通过交易所,我们可以买卖比特币,以及用比特币兑换其他电子货币。

密钥就是账户的一切

不像实体货币,比特币是虚拟的,它不可见,你甚至看不到一个虚拟账户,比特币隐藏在每笔交易中。比特币用户使用一组密钥来证明他们持有一定量的比特币。如果你想花费手中的比特币,整个过程可以描述为:

用你的密钥在一笔交易上签名,通过系统验证签名,可证明你有权发送等数额的比特币;

你可以花费这些比特币,将它们转移给其他用户,我们假设转账给小明,此时会在系统中新增一笔交易,这笔交易产生的余额,也只有小明的密钥才能花费。

上面说的密钥,存储在钱包中,钱包是计算机或手机中的应用程序。如果你有比特币,可以看到使用你的比特币的唯一办法是用密钥创建交易,那么为了保护你的资产,你唯一需要做的就是保护好你的密钥不被泄漏出去。

去中心化中的一致性问题

比特币是一个去中心化的p2p网络,没有任何中心服务器或控制节点,这就带来一个问题,如何保证所有节点中的数据都是一致的?答案是“挖矿”,“挖矿”是一个类比,实际上是p2p网络中的计算机(全节点)同时解决同一个数学问题,谁先解决出来谁胜出,胜出者可以记录从上次胜出开始到这次胜出(一般为10分钟),这段时间内产生的交易,这10分钟产生的交易记录存储在block区块中,所有的区块形成一条相互制约的链条,这就是blockchain的由来,区块链分布在所有节点计算机中,所以通常也被称作分布式账本。可以看出,这个记账方法保证了10分钟内只有一个人胜出,只有一个人记账,那么这个网络中的所有节点的数据就是一致的。

比特币具有发行货币的功能

参与挖矿的机器被称作矿工,在挖矿过程中胜出的矿工,他会获得一定量的新产生的比特币,产生比特币的这个过程和中央银行发行货币类似:

只不过它没有中央银行,只有发行货币。

比特币的“挖矿”算法是动态调整的,即无论有多少矿工,它都会以每10分钟产生一个区块的速度进行,这个算法还加入了一个限制,即每4年每区块产生的新比特币的数量会减半,它会限制总的比特币的产生数量,通过计算可以得出,到2140年,不会再有新的比特币产生,总的比特币数量大约为2100万,即,比特币不会因为新发行货币而通货膨胀,更确切的说,它是一个通缩货币。

比特币也是这种p2p网络中的协议的名字,是分布式计算的发明,同时,它还是近几十年来密码学和分布式网络的研究成果,总结一下:

比特币是一个去中心化的p2p网络(协议)

比特币是一个公开的交易账本(区块链)

比特币具有独立的交易验证和货币发行的机制(规则)

比特币发明了去中心化的网络共识方法(Proof-Of-Work算法保证一致性)

数字货币需要解决的基本问题

数字货币需要解决的基本问题是信任问题,包括:

我能相信这钱是真实可信的,而不是伪造的吗?(假币问题)

我能相信这个数字货币只能支付一次吗?(双重支付问题)

我能保证没有人会声称这个钱是他的,而不是我的吗?

在实物货币中,这3个问题很容易解决,银行会利用复杂的纸张和打印技术来解决第1个问题,而由于是实物货币,第2个问题和第3个问题天然就不存在。

在虚拟货币中,密码学提供了信任的基础,资产所有者可以在交易上附加上自己的数字签名,来证明这个资产是他的,同时,通过一定的架构设计,可以解决假币问题和双重支付问题,例如:通过每个节点存储一份账本来杜绝假币问题,而比特币的最小记账单元-UTXO(Unspent Transaction Output)的设计来保证一笔钱不会被花费两次,因为记账算法被设计为每一笔交易的输入,都是上一笔交易的输出,这笔交易只能串行,无法并行,且区块链的“链”机制保证了这笔交易的输入无法被复制为多份。

早期的数字货币

早期的数字货币诞生于1980年代,他们常常使用贵金属或黄金做信用背书,但由于这种货币会威胁到政府对货币的管理,同时它又是中心化的,很容易被黑客攻击,所以最终灭绝,由于以上种种原因,数字货币系统需要具备一个去中心化的特性,于是,比特币孕育而生,它天生具备防攻击、绕过审查的特点。

我建立了一个收费的知识星球,在这里,我会为大家营造一个沉下心来学习的环境,在今年,我至少会做三件事情:

精通比特币的实现原理

精通EOS的实现原理,并着手在EOS上建立应用

学习其他项目的白皮书,寻找有创意、有价值的项目

以上内容会不定期的输出分享,同时也会在能力范围内解答同学的问题,期待你的加入

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180207G15FUF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券