08年中本聪提出BTC白皮书,一种基于区块链的P2P电子现金系统,通过网络节点和共识算法记录比特币的流动,BTC是算力和电力资源的另一种价值形态,这种价值的流通不受现实世界中心化部门的约束,有望以去中心化加密货币的方式来取代现代的货币系统控制权,往大了说可以说是一场货币革命。
工作原理
余额:比特币是区块链的应用,所有确认的交易记录都存储在区块链中的每一个块里面,这样比特币软件就可以计算出每个钱包的可用余额,所以比特币不存在余额,就是根据交易记录计算余额。
交易:一笔交易是指包含在区块链里的比特币钱包之间的价值转移。 比特币钱包保存着一份称作私钥或种子的保密数据用来为交易签名,即提供数学证据证明这些交易来自钱包的拥有者。这个签名也确保交易发生后不会被任何人修改。所有的交易在用户之间广播,通常在接下来的10-20分钟内通过一个称作挖矿的处理过程开始被比特币网络所确认。
处理交易(挖矿):挖矿是个将待确认的交易数据包含到区块链中,从而完成对这些交易进行确认的分布式共识系统。通过挖矿,可以强制性保证块链中的数据按时间顺序存储,保持比特币网络的中立性,且允许比特币网络上不同的计算机对系统状态达成一致。交易要获得确认,必须要被打包到一个符合非常严格的密码学规则的区块中,并通过比特币网络进行验证。这些规则可以防止对已有块的修改,因为一旦有改动,之后所有的块都将失效。挖矿的难度和中彩票相当,没人可以轻易地、连续地将新块加入到块链中。
引用自:https://bitcoin.org/zh_CN/how-it-works
如何使用
首先需要了解下区块链
区块链是一个去中心化的分布式账本数据库,由打包确认过的块组成,第一个块叫创世区块,子块与父块间有关联关系🔗,一直堆叠。区块链没有中心,只有去中心,所有节点都通过Pos或Pow等共识算法让所有人对一件事达成共识。
基于区块链的特性,所有东西都可以用区块链记录,每一笔记录都经过共识算法让所有节点都达成共识的,每条记录都透明,全网记账无法造假,可以溯源。BTC就是一个区块链的应用。
BTC是一个开源软件,运行软件即成为比特币P2P网络中的一个节点,然后开始从其他节点同步账本数据。
源码主要由c++语言实现。
下载软件后运行并同步账本数据(下载链接见底部):
节点软件还具有创建钱包,转账,查交易记录等常规功能:
挖矿
有人用比特币转账后,则该笔交易会被广播,因为没有中央确认交易,都是去中心化的,那就需要有人去算发生的交易是否合法。
1. 为什么会有人去记账?
记账有奖励,而且还能拿交易费。
1. 手续费:A支付比特币给B,A需要多支付一点点,这个就是打包人的手续费。
2. 打包奖励:比特币系统每10分钟就需要有人把这10分钟内的交易账单打一个包,完成打包就可以获得系统奖励的比特币。(奖励一开始是50个比特币,每四年减半)
2. 以谁打的包为准?
用工作量证明来确认打包资格。
每一个参与的用户都要做一个数学题,做出来之后就有权利打包,打包后就可以获得手续费和打包奖励。做这个数学题就是挖矿。
区块链上的每个块,都有头部和内容,内容就是账单。要想创建一个块,就需要计算新块的头部。
新块的头部 = sha256(sha256( 上一个块的头部+当前账单+时间xxx+随机数 ));
比特币系统根据矿机个数和全网算力来设置N的值。若N=4,则新块的头部需要是4个0,N值越大难度越高。
sha256,输入任何值都会返回256位二进制数,除了随机数,其他都一样,所以大家做的数学难题就是穷举随机数,当输出值的前N位数为0时,即获得了打包权,打包后放到区块链上,获得奖励(创币交易)。
上边这个就是pow机制,用工作量证明的方式达成共识进行记账。这种方式就是只有算出来的那个人才有价值,其他人的电力算力就都浪费了。
BTC如何解决交易存在的问题
1. 如何保证比特币交易记录是真实的?
用电子签名。用户注册的时候,比特币系统会产生一个随机数,然后根据随机数产生私钥和公钥(非对称加密)。
hash出交易内容摘要,用私钥加密,然后把该条交易广播到附近节点,节点使用公钥和密码解密,解密后与信息对比,来确认是否是真实的用户用自己的私钥签名的,如果是,该笔交易就是真实的。
2. 如何处理双重支付?
a) 用余额检查来解决双重支付问题,追溯账单。
b) 同时下两笔订单的话,最终也只会有一笔订单成功,因为只有一个人最终能把块放到链上。
3. 如何防止篡改?
所有人遵循最长链原则,如果有分支,比如A分支先挖到下个区块,则所有人都认同A这条链。
如果一个人或者一个组织计算能力很强,那么他就可以把短的分支计算的超过主流分支,从而完成篡改,但是所需要的计算能力要比世界上其他人都要大,几乎不可能。所以就是说能篡改但成本太大。
3. 如何防范恶意(故障)节点?
不按比特币规则行事的节点就是恶意节点,会扰乱比特币系统。
解决方式是节点互通,选择大部分节点认同的。
因为恶意节点是少数的,所以具有局限性(而且还要穷举数学题,成本很高)。
BTC 常见问题
什么是比特币?
比特币是一个共识网络,促成了一个全新的支付系统和一种完全数字化的货币。它是第一个去中心化的对等支付网络,由其用户自己掌控而无须中央管理机构或中间人。从用户的角度来看,比特币很像互联网的现金。比特币的价格由什么决定?
比特币的价格由供需决定。当对比特币的需求增加,比特币价格就上涨;需求减少,价格就下跌。目前只有很少的比特币在流通,新的比特币以一个可预见的逐步下降的速率发行,这表示需求必须遵循这一通胀水平才能保持价格的稳定。和它可能会成为的市场规模相比,比特币目前仍然是一个相对较小的市场,无需大量资金就能促使市场价格上下波动,因此,比特币的价格仍然很不稳定。为什么我必须等待10分钟?
比特币几乎是即时接收付款的。然而,在网络开始将你的交易加入一个区块来确认该交易以及你可以使用接收到的比特币之前,有一个平均10分钟的延迟。确认的意思是在网络上达成了一个共识,即你收到的比特币没有用来支付给别人因此被认定是你的财产。一旦你的交易被包含进一个区块,则之后的所有区块都会包含它,这将极大地巩固这个共识并减小交易撤销的风险。每一个用户都可以自行判断交易被确认的时间点,但通常来说,收到6个确认就如同在信用卡交易后等待6个月那样安全。“同步”是什么意思?为什么同步要花很长时间?
只有像Bitcoin Core这样的完全节点型客户端才需要较长的同步时间。从技术上来说,同步是一个下载并核实网络上所有以往比特币交易的过程。某些比特币客户端需要知道所有以往的交易才能计算你比特币钱包的可用余额并完成新的交易。这一步骤非常消耗资源,需要有足够的带宽以及能存放整个块链的空间。为了保持比特币的安全性,需要有足够的用户使用完全节点型客户端,因为他们起着确认和中继交易的作用。比特币为什么有价值?
比特币具有价值是因为它作为货币形式的一种是有用的。比特币具有货币的数学特性(持久性,可携带性,可互换性,稀缺性,可分割性和易识别性)而非依赖于物理特性(比如黄金和白银)或中央权力机构的信任(比如法定货币)。简而言之,比特币是由数学支持的。有了这些特性,一种货币形式要具有价值所需要的就是信任和使用。对比特币而言,这可以从它日益增长的用户,商家和初创企业基数上得到体现。同所有货币一样,比特币的价值直接来自于愿意接受它作为支付方式的人们,这也是唯一的来源。
引用自:https://bitcoin.org/zh_CN/faq
什么是交易所
数字资产交易平台,方便数字资产更好的流动,国内一般用火币、OKEX。
交易所导航:https://howtobuybitcoins.info/
资料
官网:https://bitcoin.org/zh_CN/
节点软件开源地址:https://github.com/bitcoin/bitcoin
白皮书:https://bitcoin.org/files/bitcoin-paper/bitcoin_zh_cn.pdf
工作原理:https://bitcoin.org/zh_CN/how-it-works
常见问题:https://bitcoin.org/zh_CN/faq
节点软件发布地址(或直接下载GitHub的release):https://bitcoincore.org/en/download/