1.人类社会货币的演变
- 2008年金融危机,美国政府可以无限增发货币因为只有它有记账权
- 不需要一个中心来记账,大家都有权记账货币不能超发,整个账本完全公开透明
- 银行或是第三方支付机构,高度依赖其自身信用作为担保,中心化方式记账,存在黑客攻击,数据篡改危险
- 由只有银行自己记账到人人参与记账,去中心化,更安全
- 区块链技术保证每人手中的账本统一
- 比特币网络大约每0分钟出一页账单,即区块。类似每十分钟出一道数学题,比赛谁算的快。赢得比赛即获得该区块的记账权以及获得新的比特币作为奖励。即,算的快的计算机将“挖”到一定数量的比特币。
- 最初每个区块奖励50个比特币,大约每4年减半一次,一直到2140年全部奖励耗尽。
- 一页账单生成后,紧接着进行下一单的竞争
- 只有掌握全网算力的51%以上,理论上才能改掉某一页账本的数据。社区会警惕并施压超过30%的计算力量,因此恶意数据修改几乎无可能
- 比特币实现了去中心,发行,记账,激励为一整套的发明。其底层技术就是区块链
- 实现价值的传递
- 互联网传递信息:照片发给朋友,你有一份,发给朋友一个普本,即朋友有个同样的备份。但货币,版权,票据等价值载体传递时,不可能出现自己手里100块,转给朋友100,自己还有100。
- 价值的传递:信息的转移和价值的转移同时进行。
2.比特币的转账机制及必修名词
- 比特币转账机制
- 登录钱包
- 选择从自己哪个比特币地址转账给对方
- 对方钱包地址,填写数额,手续费(自己选择手续费多少,不给可能会被矿工拒绝确认),签名,提交比特币网络
- 算力
- 解答比特币数学题:计算机做随即的哈希碰撞,每秒能做多少次哈希碰撞,代表“算力”
- 目前主流矿机为10T左右计算量级,即一台矿机每秒至少10的13次方哈希碰撞
- 一个矿工所掌握矿机占全网总算力的百分比是多少,代表其在这10分钟竞争中获胜的概率为多少
- 工作量证明pow
- 矿工最先计算出数学题的正确答案,说明这个矿工付出了工作量,是一个有权利记账的人。他会把之前打包好的网络上的交易记录到一页账本上,同步给其它人。其他人通过工作量证明来信任他的记账权以及这个账单上的记录
- 权益证明pos
- 拥有越多比特币,记账权利获取的概率越大
- 这种证明机制在一定程度上缩短了达成共识的时间,不需要消耗能源挖矿
- 区块
- 比特币网络是一个巨大的账本,平均每十分钟诞生账本的一页,称之为“区块”
- 包括一:此区块的身份信息,诞生时间,第几个,哈希值,区块大小。用于证明这个区块是正确的,是沿着上一个区块往下的取消,也给下一个区块提供了验证身份的信息
- 包括二:这段时间内网络里产生的比特币之间的交易(非实体货币购买比特币),即这个账本记录的每一笔交易
- minning挖矿
- minner矿工
- hash哈希
- Proof of Work
- block
- blockchain
3.比特币转账运行的原理
- 比特币发行机制
- 总量2100万
- 1BTC可分割到小数点后8位,即一亿份
- 每十分钟出一页账单。即每个区块问世,伴随奖励的比特币一起问世,最初每个区块奖励50个比特币。
- 每21万个区块,奖励减半,到2140年,奖励为0。21万个区块,平均10分钟1个,理论上1458.3天,即3.99年
- 区块高度,用来标记当前为第几个区块
- 比特币记账
- 所有矿工通过竞争哈希计算的方式,争夺记账权。即每十分钟一道数学题被丢到网络中,谁先计算出正确答案,谁将会的本轮的记账权利。紧接着,大家以此页账单为准,争夺下一账单的记账权利。通过这种pow共识机制,实现区中心化的账本
- 获得记账权利的同时,将获得比特币作为奖励,即挖到比特币。以及获得记录在此账单里面交易的手续费,一般一个区块手续费为零点几到两个比特币
- 比特币交易
- 每个区块大小为1M字节,大概容纳数千笔交易
- 当网络中交易较少时,等待矿工确认的时间可能只需要10分钟(挖到下一个区块的矿工将记录此间发生的交易)
- 当网络中交易较多时,将多等待一个或多个10分钟,或更长时间。矿工将选择记录手续高的交易
4.比特币的技术来源
- 去中心化
- 通过非对称加密实现验证真伪,所有节点(nodes)都能验证交易真伪
- 加密和解密使用不同的密钥即为非对称加密,加密和解密使用相同的密钥即为对称加密
- 私钥,只有拥有者用来加密
- 公钥,公开给需要的人,用于解密
- 公钥和私钥可以互相验证对方
- A发信给B,A使用B的公钥加密后发送给B,B用自己的私钥进行解密。别人收到这条信息后无法解密
- 比特比世界中:比特币地址可理解为公钥,签名、输密码的过程理解为私钥的签名
- 每个矿工拿到一笔转账交易时,通过验证公钥和私钥是否匹配,来验证交易是否合法
- 每个人保管好自己的私钥,知道自己的地址和对方的比特币地址,就能够安全的交易,无需中心化的机构来验证交易真伪
- 非对称加密+分布式存储保证了比特币的去中心化
- 无法被篡改
- 工作量证明+最长链机制保证了比特币无法被篡改
- 工作量证明,类似毕业证、驾驶证,即通过一定时间学习或掌握某种知识或技能,通过结果证明你曾经做过某事,做过一定量的工作
- 工作量证明的特点:对于执行的一方,难度适中,对于验证的一方,非常容易验证。因此矿工通过哈希计算获得正确答案,其它节点通过非常简单的验证就可以同意其记账,并同步账本。打上时间戳后,进行下一轮挖矿
- 篡改某个区块高度上的交易信息:从这个区块开始,把之后的区块全部重新计算一遍,再把账本同步给其他人。而在他重算的同时,其它矿工在原有链上继续前进,因为默认最长链为唯一正确的链。若想篡改,需要在很短的时间内赶上现有最长链的区块高度,已让其它矿工误以为这是最长的“正确”链(账本)。除非拥有至少50%的算力,否则机本无可能篡改
- 目前全网算力约为8E哈希每秒,即每秒进行810^18
$8*10^18$
次方次计算,目前主流矿机算力10T左右,即每秒1013次计算。若要拥有51%的算力,需要矿机=1/2 * 8E18/1E13 = 4E5 = 400000,即40万台矿机。按照一台矿机1万人民币,则设备投入为40亿元,况且矿机生产赶不上销量,买不到现货。老矿机不断被淘汰,大于10T的新矿机出世,全网算力会不断提高。购买机器的速度很难赶上算力上涨的速度。因此,从投资回报率角度来看,如果不是为了追逐60,70亿以上的利益,并且有雄厚的资金和技术支持,一般很不会想去进行算力攻击
- 试想攻击发生,比特币的区块连被篡改,则比特币会变得一文不值,通过篡改获得的收益也将不复存在
- 不可伪造
- UTXO,Unspent Transaction Output 未花费的交易输出,比特币交易生成及验证的核心概念
- 从别人那里拿到的钱,我还没花出去,才能给你。即未花费的交易输出
- 我转给你1比特币,一定是别人给我的、我还没有进行花费的比特币。可以一直往前追溯到矿工挖出来的那个区块
- UTXO保证了比特币不可伪造,不可双花/重复支付,解决的信任问题,使得比特币可以广泛被认可