Bitcoin简介

  • 2008年Satoshi Nakamoto(中本聪)在一篇论文《Bitcoin: A Peer-to-Peer Electronic Cash System》中提出的一套支付系统架构的概念。这套架构在2009被实现。
  • 关于中本聪到底谁至今是个谜,被说是中本聪的,当事人都不承认;自己说自己是的,公众都不承认。目前公认决定性的证据是比特币第一笔交易的地址,谁能表演从那边发钱出来到特定地址,基本就能被确认是中本聪本人。
  • 区块链是一种技术,属于Distributed Ledger Technology(DLT)的一种,最终想要实现的是创造一个具有去中心化特性的分散式帐本(Distributed Ledger),当然,同样的技术可以拿去去中心化任何型态的资料。
  • 就像机器学习是为了达成人工智能,但人工智能还有其他不同的实现方式,只是机器学习是当今的主流。Blockchain是为了达成DLT,DLT还有其他不同的实现方式,只是Blockchain是当今的主流。而Bitcoin这条链是Blockchain的先驱。
  • (比特币的那一条链我也不确定怎么称呼,感觉币跟链混着叫有点奇怪,有知道的朋友再请告之一下)
  • Bitcoin架构下,大约每十分钟打包出矿一次,首先算出符合条件的正确Nonce(某个乱数)的那一个人,能获得50BTC的区块补贴奖励,这奖励大约每四年减半。
  • 符合条件的意思是让hash function的输出前n位是零。可以透过调整n的大小,来保持大约平均每10分钟出一个Block。
  • 大家说BTC总量有2100w颗就是这样来的:每年有365 24 6个十分钟,对应*50颗的比特币,每四年减半。总量就是:
  • 挖到矿的矿工,除了以上的区块补贴之外,还能拿交易的手续费。
  • 采矿池的意思是你的算力跟别人的混合在一起,拿到奖励大家依比例分。
  • 单位上,1 Satoshi =10 E-8 BTC;1 BTC = 100M Satoshi。
  • 既然是一个公开的帐本,所以就会有很多问题需要被解决,人性本善这一套不适合行走江湖。在防止非本人发出的交易上,Bitcoin使用了之前提到的签章(Signature)的当作解决方案,也就是提出请求的时候,需要用自己的private key上一个signature,让其他人可以确定交易由你本人发出。
  • 在防止篡改上,Bitcoin采用最长链原则。你的确可以改动之前的帐本,但是大家不认,除非你算力强大到可以独自的,不断把自己改动的那条链变成最长链(这就是51%算力攻击)。
  • 双花攻击(Double Spending)指的是同一笔钱花两次。在现实生活中常见的是,有人持有一笔房地产,先卖给A之后拿到钱后,再卖给一个不知道房产已经卖走的B,拿到两笔钱之后卷款跑路。
  • Bitcoin的转帐采用了UTXO (Unspend Transaction Output) 架构。先想像在Bitcoin上面运作的钱(BTC)都是一张张的支票,每张支票会备注未使用(Unspend) 跟已被使用过。你去检查一个帐户地址的时候,并不会直接看到帐户余额,而是需要去追踪每一张发送给这帐户的未使用的支票,以及这帐户使用过的支票,相减之后才是这帐户现在有的余额。
  • 支票还有一个特性,就是不能部分兑现,也就是我想转5 BTC给A,但我手上只有一张8 BTC的支票,这样的转帐的时候,其实是会开一张5 BTC的支票给A,再开一张3 BTC的给我自己。
  • 在处理双花攻击上,首先是已被使用的支票不能用。再来是如果有人想拿一张未使用的支票同时付给两个人,节点只会认比较早发出交易请求的。如果真的很不凑巧两笔交易时间很近,刚好又被两个不同的节点同时接受并出块了,这样最后一道防线就是用最长链法则来决定哪一个节点说的算。
  • UTXO架构的优点是可以平行处理多笔交易,因为是认支票而不是认帐户的。而且隐私性较高,例如你点的一个帐户无法直接看到所有资讯。但缺点是很不直觉,比较新的链基本都不采用这架构了。
  • UTXO Pool是一个模拟帐户架构的替代方案:先扫过从创世到现在的所有交易纪录,把每一个地址上现在有的余额记录在一个资料库中,让使用者不用傻傻的把整条区块链从头看过一次。
  • 一个比特币节点大概涵盖三部分:UTXO Pool、Tx Pool、Blockchain。第一个是每个帐户的余额,第二个是别人发送进来的还没被打包出块的交易请求,第三个是已经被打包出块的那一条链。
  • 比特币节点又可以简单的分为两种:全档案节点是完整储存所有资料的节点,现在大概250GB左右。轻节点是下载了区块头的节点,不能运行验证,但能检查一些资讯。
  • 所以总合来看,一笔比特币的交易过程会如下:我先用我的私钥,把我的想做的交易上一个Signature,把这含有Signature的交易请求传给节点们,节点中的UTXO Pool先确定我有足够的钱,确定后会把交易放到Tx Pool中,Tx Pool会依照手续费高低排序,再由矿工打包出块到Blockchain上。最后,成功出块的矿工会把自己出的这个新Block广播给其他节点。
  • Omni Layer是一个能再BTC交易上做备注的地方,主要是看到Ethereum的那一套智能合约玩的风生水起想要模仿。但因为性能考量,Bitcoin限制了这个备注的大小,基本把玩智能合约的可能性打死。
  • 有关BTC,有个有趣问题是,每一颗BTC到底有没有同质性?因为曾经有过有污点的BTC被拒收的案例。
  • 有服务商专门提供代币混合的服务,也就是帮你把传过去的钱洗过一圈,再回传给你与之前没有关连的钱。当然,这需要支付一点手续费。

本文链接地址:https://www.wwsww.cn/btbwhy/13282.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。