bitcoin core 百科,bitcoin core0.1.0版本

昕阳小编 108 0

  

  很多人谈论区块链,但很少有人真正做好研究它的基础。没有对这项技术的基本了解,就很难在商业上有所成就。   

  

  比特币是区块链技术的起源。我们应该回到原点,探寻比特币的深层结构和肌理,梳理其演变过程中的冲突与创新。   

  

  探索区块链技术的本质是从业者的必由之路。   

  

  bitcoin core 百科,bitcoin core0.1.0版本-第1张图片-昕阳网   

  

  1起源区块链技术起源于比特币。   

  

  比特币是一种点对点的电子现金系统,由中本聪(Satoshi Nakamoto)于2008年设计开发。这是一个分布式系统,其价值流通媒介是虚拟的加密数字货币:比特币。   

  

  比特币的发行和流通不受任何中央机构控制,只要你有计算能力,能上网,就可以参与其中。它的代码是开源的,由来自世界各地的极客组成的比特币核心的核心开发者在GitHub(源代码托管仓库)上共同维护和更新。GitHub上有超过40000个收藏,代码被分叉超过24000次。   

  

  比特币是密码学和经济学的集大成者,让人类第一次掌握了自己的数据主权,将打破现有互联网巨头垄断的数据孤岛状态。的所有数据都在区块链上,这将是一个由全人类维护的碎片数据库。   

  

  比特币采用的关键技术其实可以追溯到上世纪70年代。   

  

  1977年,罗恩里维斯特、阿迪萨莫尔和伦纳德阿德曼提出了非对称加密算法RSA。非对称加密的思想第一次在具体的算法中付诸实践。   

  

  1980年,Ralph Merkle提出了Merkel数据结构,广泛应用于文件系统和对等网络系统。用比特币Merkle树计算交易根hash。   

  

  1982年,Leslie Lamport提出了拜占庭一般问题来描述分布式系统中的一致性问题。Leslie lamport提出的Paxos算法只适用于没有拜占庭错误的可信环境。中本聪创造性地将工作证明(POW)引入比特币来解决这个问题。   

  

  1983年,David Chaum发表了论文《不可追踪支付的盲签名》。在这篇论文中,他提出了一种盲签名密码算法来实现电子交易中的匿名性,这也是他提出的eCash中的一项重要的密码技术。   

  

  1985年,Nirkko Blietz和Victor Miller独立提出了椭圆曲线加密算法,这是一种基于椭圆曲线数学的公钥加密算法。比特币ECDSA secp256k1算法用于实现其公钥签名系统。   

  

  1997年Adam Back提出了HashCash方法,在这篇算法论文中出现了工作量证明的概念。当时这种算法主要用于反垃圾邮件。如果将电子邮件发送到目标邮箱,则必须满足特定的计算结果,目标邮箱系统才能接收到该电子邮件。对于普通的邮件发送者来说,符合要求的数据的计算是在不经意间完成的,但是对于垃圾邮件发送系统来说,每天都要完成大量的邮件发送任务,这些邮件的累计计算时间会大大增加系统的负担,从而增加垃圾邮件的发送成本。   

  

  1998年,戴伟提出了B-money(一种匿名分布式电子加密货币系统),占据了比特币白皮书的第一个参考资源。它继承了用工作量来证明造币的思想,将记账分布到一个点对点的网络中。但是,离一个可用的P2P电子支付系统还有很大的差距,因为它缺乏最关键的技术——共识机制,也就是说,它不能解决双花问题,所以交易双方必须信任第三方。   

  

  1998年,肖恩范宁(Shawn Fanning)在美国波士顿东北大学读大一的时候,为他的室友开发了一个音乐收集程序。这个程序可以在网上搜索音乐文件,并对其进行整理和索引,用户可以很容易地找到自己想要的音乐。肖恩范宁将该程序命名为Napster。从那以后,越来越多的人开始在互联网上使用P2P技术。   

  

  2001年,由美国国家安全局(NSA)开发、美国国家标准与技术研究院(NIST)发布的SHA2(安全哈希算法2)算法诞生了。它是一种密码哈希函数算法标准,属于SHA算法之一,可分为SHA224、SHA256、SHA384、SHA512、SHA512/224、SHA512/256六种不同的算法标准。使用比特币SHA256算法计算块数字摘要,使用两次。   

SHA256算法进行挖矿运算。

  


  

bitcoin core 百科,bitcoin core0.1.0版本-第2张图片-昕阳网

  


  

2 发展2008年11月,中本聪发表了《比特币:一种点对点的电子货币系统》,比特币时代正式开启。

  

bitcoin core 百科,bitcoin core0.1.0版本-第3张图片-昕阳网

  

中本聪在文中描述数据结构时,使用了Block和Chain等词,后来人们在提炼比特币底层实现技术时,把抽象出的技术体系用Block和Chain表示,创造出Blockchain这个词,可以说是比特币的底层设计思想衍生出了区块链(Blockchain)的概念。

  

中本聪在论文中阐述,区块链由一串使用密码学方法产生的区块(Block)组合而成,这些区块前后依次关联,新增的区块总是添加在区块链的尾部。

  

区块链由点对点网络节点共同产生,所有网络中的交易由全网节点共同维护,并存储在本地,数据与其他节点一致,因此区块链也可以被看成一个去中心化的分布式数据库。

  

2009年1月5日,比特币主网上的第一枚比特币诞生。比特币的网络节点采用工作量证明算法来产生区块,这也就是通常所说的“挖矿”。

  

“挖矿”是指使用计算机解决一项复杂的数学问题,谁的算力强谁就有可能先解决难题并广播到网络中,而这个数学问题的验证过程很简单,其他节点可以快速校验该答案的正确性。如果正确,那么承认这个难题(区块数据)的合法性。区块数据里包含着交易,网络节点在确认数学问题答案的同时,也将确认交易的合法性,并将其记录在本地的区块链中。

  

为了激励网络节点积极打包出块,并用以抵消节点利用算力带来的电力消耗和设备损耗,开发者在比特币系统中设计了一套挖矿激励机制,即出块奖励机制。给初始区块奖励50枚比特币,随后每隔10分钟就会增加一个区块,并奖励50枚比特币。

  

比特币的总产量为2100万枚,每当开采总量达到剩余的一半时,区块奖励减半,例如当开采量达到1050万枚(2100万枚×1/2)时,区块奖励为25枚(50枚×1/2),当开采量达到1575万枚(1050枚+1050枚×1/2)时,区块奖励为12.5枚(25枚×1/2),以此方式反复减半。每个减半周期约为4年,大约在2140年时出产总量接近2100万枚。用户在发起交易时,需要附加交易费用,而这笔费用也将随同区块奖励一起奖励给挖矿打包的网络节点。

  

在比特币系统中,用户签名并发起的交易如同实体经济中的交易一样,是指在商业行为上用户发起转账的操作实体,包含发起人、收款人、金额、描述等。在比特币系统中所有的交易都存储在区块链账本里,这也被称为区块链账本的记账

  

中本聪在白皮书《比特币:一种点对点的电子货币系统》中创新性地使用了未花费的交易输出(Unspent Transaction Output,UTXO)来记录比特币的交易。

  

比特币的交易由交易输入和交易输出组成,每笔交易都要花费(Spend)一笔(或多笔)输入(Input),同时产生一笔(或多笔)输出(Output),而其所产生的输出,就是“未花费的交易输出”。交易需要由发起方使用私钥完成对交易的签名,用以证明资产所有权和交易合法性,交易的接收者不用参与整个过程。

  

bitcoin core 百科,bitcoin core0.1.0版本-第4张图片-昕阳网图1

  


  

如图11所示,A、B、C为三个账户,定义Tx为交易,每笔交易由输入和输出两部分组成,每笔交易的输入指向上一笔UTXO,在交易完成后该UTXO将变成已花费的交易输出,不能再次被使用;而该交易产生的输出即为新的UTXO,其所有权归属于接收者,如果交易过程中有多余的资产,将会产生一个找零UTXO,接收人为自己。交易的过程如下:

  

(1)交易-1(铸币)表示该交易由矿工挖矿所得,输入标识为挖矿(Mining)获取,输出的所有者为A,表示矿工挖矿得到UTXO-A-1归属于A账户。

  

(2)交易-2的输入指向交易-1的输出,即A账户使用自己的UTXO作为交易-2的输入,输出为B和A,意味着,A账户转账给B账户,同时剩余一笔资金并找零给自己,此时UTXO-A-1将变成已花费的交易输出,不能再次被使用,标识为灰色。

  

(3)交易-3为B账户转账给C账户,交易-4为A账户转账给C账户,同时分别找零给自己形成新的输出,C账户此时拥有UTXO-C-1和UTXO-C-2两笔UTXO。

  

(4)交易-5的输入由两笔C账户的UTXO组成(UTXO-C-1和UTXO-C-2),输出为B账户和自己的C账户,表示为转移资产给B账户,同时找零给自己。

  


  

由于各个账户的余额由最终属于自己的所有UTXO之和组成,在经过这5笔交易之后,A账户的资产有UTXO-A-3,B账户的资产有UTXO-B-2和UTXO-B-3,C账户的资产有UTXO-C-3,每个账户只能控制自己的UTXO,这是它们的剩余资产。所以,从这个角度来说,比特币区块链里并没有余额的概念,只有UTXO。

  


  

比特币的项目地址可以在GitHub网站中搜索到,搜索Bitcoin之后的结果如图2所示。

  


  

bitcoin core 百科,bitcoin core0.1.0版本-第5张图片-昕阳网图2

  


  

Bitcoin项目主要包含两个工程:bitcoin和bips。

  

bitcoin 是比特币客户端源代码项目,使用C++语言开发实现,用户可以在下载并编译后用于挖矿或者当成全节点钱包使用。

  

bips(Bitcoin Improvement Proposals)是比特币改进提案项目,用于接收比特币升级和改善的提案列表,任何人都可以到该项目下提出自己的改进想法,使之成为一个新的提案,每个提案有多种状态,如接收、拒绝、草案、最终版等。比特币的升级和维护更多依赖于这些提案最终是否被确认,这些提案由比特币的社区共同维护和确认。

  


  

3 技术创新比特币是第一个基于区块链技术的去中心化支付系统,有较多的特性和创新,主要体现在两个方面,一是作为支付系统的创新,二是去中心化的创新。

  

1、作为支付系统的创新

  

作为支付系统的创新主要表现为以下四个方面:

  

(1)比特币可以作为全球性的资产,在任何情况下无论多大的资产都可以通过区块链网络转移到目标账户里,比特币的出块时间是10分钟,交易地点不受任何物理限制,只要有网络,用户就可以通过工具发起交易进行资产转移,没有国界和地域之分;

  

(2)比特币的交易成本极低,普通的跨境支付费用大约为1%,而有的支付方式的费用会高达3%左右,如果使用比特币网络支付,那么只需要支付少量的交易打包费即可,并且与金额大小无关,特别是在大额支付中更能体现其手续费低的优势;

  

(3)比特币是去中心化的网络和系统,不归属于某一个中心化组织或者个人,它制定的规则不会被轻易修改,它的网络也不会由个别机器控制,例如发行至今,网络稳定运行已经足够证明其安全性,且其总量为2100万枚的机制至今都由所有矿工维护并未有更改;

  

(4)交易公开并且匿名,任何人都有参与交易的机会,且其账户具有匿名性,无须申请特殊的权限即可进入网络,仅仅通过密码学的方式来证明身份的合法性,与现实的身份无关,具备一定的匿名性。

  

bitcoin core 百科,bitcoin core0.1.0版本-第6张图片-昕阳网

  

2、去中心化的创新

  

在去中心化的创新方面,比特币带来了对系统构建的全新思考,核心是去中心化,但是仍需要正确理解比特币的“去中心化”属性,下面从3个维度来讲:

  

(1)架构层。在物理世界里,系统由多台计算机组成,在运行过程中,我们可以容忍部分计算机宕机而系统不受影响。比特币的网络节点分别部署在世界的各个角落里,这些节点同时也都保存着完整的区块链数据,任何一台或者多台计算机宕机,都不会影响比特币网络的其他节点,更不会影响整个区块链网络的使用。

  

(2)治理层。系统的所有权并不受控于某一个中心,而由多个机构或者个人共同所有。比特币网络的治理由所有参与的矿工决定,矿工的算力是分布均匀的,某个人或者组织很难控制大部分数量(51%)的矿工,这就保证了比特币系统在治理上的去中心化特性。

  

(3)逻辑层。从系统的设计和数据结构上看,它是一个完整的不可分割的整体,所有参与方维护的是同一份账本数据。每个参与计算的网络节点,其本身维护全量的区块链账本,且节点之间的账本具有强一致性,它们也是基于同一份数据进行验证、打包、增长区块的,其数据层实质上是一个强一致性的分布式账本。

标签: 2022 比特币

抱歉,评论功能暂时关闭!

微信号已复制,请打开微信添加咨询详情!