您的位置:首页 > 软件问答

比特币客户端中文版(一张图读懂:Bitcoin Core 历史大版本更新一览)

导读比特币客户端中文版文章列表:1、一张图读懂:Bitcoin Core 历史大版本更新一览2、区块链经典应用--比特币一3、比特百问百答比特币——常用名词解析4、比特币软件版本7年变迁,

比特币客户端中文版文章列表:

比特币客户端中文版(一张图读懂:Bitcoin Core 历史大版本更新一览)

一张图读懂:Bitcoin Core 历史大版本更新一览

作为比特币网络最重要的基础设施组件之一,Bitcoin Core 的迭代史其实也是比特币的进化史,而在经历了 21 个大版本的更新过后,Bitcoin Core 在第 22 个大版本更新时使用全新的版本号命名规则,自 0.21.0 更新至 22.0。在发布了两个候选版本后,北京时间今日(9 月 9 日)凌晨,22.0 正式版本的源代码已正式发布。

Bitcoin Core 是一个实现了全节点的比特币客户端,它组成了整个比特币网络的「支架」,可以维持比特币这个点对点网络的运行。Bitcoin Core 源代码完全开放透明,用户可以实现对于资金的完全掌控,无需信任第三方即可验证支付。

来源链接:https://www.chainnews.com/articles/295789601032.htm

区块链经典应用--比特币一

交易传播

钱包应用可以发送新的交易给其它任意一个已联接到互联网的比特币客户端。

任何比特币网络节点(其它客户端)收到一个之前没见过的有效交易时会立刻将它转发给联接到自身的其它节点

这个交易迅速地从 P2P 网 络中传播开来,几秒内就能到达大多数节点。

比特币挖矿

挖矿在构建区块时会创造新的比特币,和一个中央银行印发新的纸币很类似。 每个区块创造的比特币数量是固定的,随时间会渐渐减少

挖矿会创建信任

区块中的挖矿交易记录

矿工会将自上一个区块以来发生的所有交易 生成一个新的区块

新交易不断地从用户钱包和应用流入比特币网络。当比特币网络上的节点看到这些交易时,

会先将它们放到各自节点维护的一个临时的未经验证的交易池中。当矿工构建一个新区块时,

会将这些交易从这个交易池中拿出 来放到这个新区块中,然后通过《工作量证明》证明这个新区块的合法性

比特百问百答比特币——常用名词解析

Cryptography密码学

Hash哈希

(或译作“散列”)是一种函数,它把任何数字或者字符串输入转化成一个固定长度的输出。通过输出我们不可能反向推得输入,除非尝试了所有的可能的输入值。下面是一个简单的哈希函数的例子,平方根:17202的平方根是很容易求得的,它大概是131.15639519291463,所以一个简单的哈希函数的输出可能是输入的数字的平方根的后面几位小数,在这个例子里面就是9291463。但是,只给出9291463的话,我们几乎不可能推算出它是哪个输入的输出。现代加密哈希比如像SHA-256,比上面这个例子要复杂的多也要安全的多。哈希这个词也用于指代这样一个函数的输出值。

encryption algorithm加密算法

是一个函数,它使用一个加密钥匙,把一条信息转化成一串不可阅读的看似随机的字符串,这个流程也是不可逆的(也就是说获得原始信息),除非是被某个也知道那把钥匙的人来操作。加密使得私密数据通过公共的因特网传输的时候不需要冒严重的被第三方知道传输的内容的风险。

Public keycryptography公钥

加密系统是一种加密手段,它的每一个私钥都有一个相对应的公钥,从公钥我们不能推算出私钥,并且被用其中一个密钥加密了的数据,可以被另外一个相对应的密钥解密。这套系统使得你可以先公布一个公钥给所有人,然后所有人就可以发送加密后的信息给你,而不需要预先交换密钥。

Digital signature数字签名

Digital signature数字签名是这样一个东西,它可以被附着在一条消息后面,证明这条消息的发送者就是和某个公钥相对应的一个私钥的所有人,同时可以保证私钥的秘密性。某人在检查签名的时候,将会使用公钥来解密被加密了的哈希值(译者注:这个哈希值是数据通过哈希运算得到的),并检查结果是否和这条信息的哈希值相吻合。如果信息被改动过,或者私钥是错误的话,哈希值就不会匹配。在比特币网络以外的世界,签名常常用于验证信息发送者的身份 – 人们公布他们自己的公钥,然后发送可以被公钥所验证的,已经通过私钥加密过的信息。

BasicTerminology 基本术语

Bitcoin client比特币客户端

是一个用来操纵接收与发送比特币的软件。

Bitcoin address比特币地址

像“13ignD31FysQbaBBVJUzffcQoFxxEuEcbE”这样的一串字符串,你需要知道这个地址,才能向他人发送比特币。创建比特币地址和相对应的私钥这一操作,可以通过比特币客户端完成。

Private key私钥

在比特币的语境中,是指与一个地址(这个地址是与这个私钥相对应的公钥的哈希值)相关联的一把密钥。它存放在后台,使得你可以发送之前被发送到这个地址的比特币出去。需要留意的是,因为比特币使用的加密算法是ECDSA椭圆曲线数字签名算法,公钥和地址都可以从私钥推出。

Transaction交易

是发送到比特币网络的一条消息,通告全网一次比特币的所有权转移发生了,使得接收者能够花费掉收到的比特币,同时组织发送者再次使用已经发送了的比特币。

Bitcoin network比特币网络

这个是指比特币交易广播到的,以及维护公共区块链的电脑连接在一起形成的网络。有的时候,这个词也用于指代miners矿工。

Blockchain区块链

是一个公开的包括所有已经被发送的交易的列表,它保证了每个人都知道每个比特币的真实所有者(地址)。所有网络上的全功能节点都会保留一份区块链的拷贝。

Block区块

是区块链上的独立单位。每一个区块都包含了前一个区块的哈希值(所以某人不可能剔除或者修改区块链上的任何区块,而同时不使得区块链上的某些哈希值不匹配),还有尽可能多的在网络上可以找到的还没有被确认的交易,以及一个叫做nonce随机数的数字。正在创建一个区块的某人,必须找到一个合适的nonce随机数,以使得这个区块的哈希值低于某个阈值(the target 目标值),这只能通过一个接着一个的尝试完所有的随机数,直到一个产生了想要的哈希值的随机数被找到,这个目标值越低就越难找到合适的随机数。故意使得区块的创建如此之难,是为了防止某人花掉了比特币,然后创建并推进他自己的不包含刚才那笔显示比特币已经被花费了的交易的区块链,一次擦除刚才的交易记录并允许他把刚才那笔比特币花两次。当一个有效的区块被创建,它会被分发到整个网络,然后基于这个区块开始寻找下一个区块。

The genesis block创始区块

是指区块链上的第一个区块,它于2009年1月4日被创建。

Confirmation 确认

确认表示交易被网络验证并不会被回滚。一个确认就已经相当安全。但是对于大额转账(例如1000美金或以上),用户可以等待一个交易得到更多的确认- 6次确认是一个比较通用的数量。每一次确认都降低了交易回滚的风险。

Unconfirmedtransaction未确认的交易

是一个还没有被打包到区块里面的交易。当一笔交易被打包到区块里面,永久成为了区块链的一部分的时候,一个确认就产生了。“6次确认”意味着这笔交易已经被打包进一个区块,并且在区块链上的这个区块后面还有5个区块,这为这笔交易的合法性提供了更多的保证。

Double Spend 双重支付

如果一个恶意用户试图将同一笔比特币同时支付给两个不同的收款人,这就是双重支付。比特币挖矿和区块链就是用来在网络上共同工作,来确定哪个交易将会被确认。

Hash Rate 哈希率

哈希率是比特币网络的处理能力的衡量单位。为了安全,比特币网络必须进行高强度的数学运算。网络的哈希率达到10TH/s,意味着这个网络每秒能处理10亿次计算。

Miner矿工

是指尝试创建区块并添加到区块链上的人或者机器(这个词同时也指代做这个事情的软件)。当一个新的有效的区块被创建时,比特币协议自动分发50个(注:现在是12.5个)新的比特币给相应的矿工,作为工作的奖赏。这也是比特币存在的基础。

Difficulty难度

代表着创建一个新的区块有多困难(与target目标值相反),这个数字是自动调节的,以保证全网平均10分钟找到一个新的有效的区块。

Mining pool矿池

这是一种服务,使得矿工们能够一起工作以创建区块,并平分利润。这使得矿工能够获得持续稳定的收入,而不是小概率的一次性获得50个(现在是12.5个)比特币。

51% attack 51%攻击

是指通过获得或是并使用足够强大(超过了比特币网络其他算力之和)的计算力(也就是控制至少51%的全网算力),尝试去获得阻拦并逆转比特币交易的力量。

The Market 市场

Exchange兑换所

是一项服务,它允许人们互相买入和卖出比特币。当前最受欢迎的兑换所是Mt.Gox、CryptoXChange、Cavirtex(比特币到加元)还有Intersango(比特币到英镑)。 (译者注:从交易量来看的话,最受欢迎的是Mt.Gox和BitStamp,国内最大的是比特币中国)

“Ask” price 卖出价

是指在某个兑换所中,人们愿意卖出比特币的最低价格。

“Bid” pirce 买入价

是指在某个兑换所中,人们愿意买入比特币的最高价格。

Ask-bid spread 买卖价差

是上面这两个价格相减的绝对值。

Volume of an exchange交易所兑换量

Volume of an exchange交易所兑换量

Market depth 市场深度

是指在一个比特币兑换所里在一个给定的时间,人们放出来待售还没有卖出(因为没有人愿意接受他们的价格)的比特币数量。

Speculator 投机者

是指那些尝试着低价买入比特币然后高价卖出的那些人。Arbitrage 套利,是指通过利用不同兑换所之间的价格差来获取收益的行为。High-frequencytrading 高频交易,是指通过预测非常短期的价格波动并基于此低买高卖以期获利的行为。

Bubble 泡沫

人们对于比特币的价格将走高持乐观态度,并基于此买入比特币,导致比特币价格上升,并持续这个循环,直到“泡沫”破灭价格暴跌(一次修正)。

比特币软件版本7年变迁,最大的变化在哪儿?

免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。

小编:记得关注哦

来源:头等仓

BitMEX研究团队进行了35次初始区块下载,将初始区块下载时间作为一个基准测试的指标,以此来测试Bitcoin Core的性能。测试中使用了2012年至2019年的Bitcoin软件版本。

这段测试中,我们使用了2012年至2019年期间的Bitcoin软件版本,结果表明,该软件在性能上有了相当大的进步,但也存在很大的差异。即使使用了最新的电脑硬件,老版本的Bitcoin也难以克服2015年至2016年期间交易量上升的障碍。因此,我们得出结论,如果没有增强软件性能,今天的快速初始同步几乎是不可能的。

图1-比特币初始区块下载时间(天)-3次尝试的平均时间

(来源:BitMEX研究,注:区块高度同步到602,707)

综述

为了测试Bitcoin Core在初始同步过程中的性能,我们尝试了35次初始区块下载,并记录了每次尝试所花费的时间。结果如图1所示,说明在2016年2月推出Bitcoin Core 0.12.0时,由于签名验证从OpenSSL升级到libsecp256k1,比特币的速度有了明显的提升。(头等仓注:Bitcoin Core软件0.12.0版本升级后,签名验证速度提升了7倍左右。)

Libsecp256k1是专门为比特币构建的。此后,速度上的改进步伐慢了许多,由于初始区块下载时间的差异很大,只有多次尝试下载才能看出明显的改进。但发布Bitcoin Core 0.12.0版之后,相继发布0.13.0到0.19.0.1版本,每个Bitcoin Core版本的性能都有一个小的逐步提升。

当然,初始区块下载时间只是一个衡量标准,还可以从其他角度和条件来评估Bitcoin Core的性能。虽然初始区块下载时间(IBD)不是衡量软件性能的最佳指标,但它占用了大量资源,因此是一个成为基准测试的良好指标。

本报告延续了之前的两个实验:

·2018年11月,Jameson Lopp尝试了一次类似的研究,但分析的重点是旧版本Bitcoin Core的独立实现(或简称“Bitcoin”,因为一些较老的软件在“Bitcoin Core”之前命名为Bitcoin)。

·Sjors Provoost也在2017年7月尝试了这项实验,但Sjors的同步次数较少。

完整的测试结果和原始数据如下

图2-比特币初始区块下载时间(天)

(来源:BitMEX研究)

(注:区块高度同步到602,707)

系统规范和其他说明

完整的结果表格

(来源:BitMEX研究)

结果分析

如图2所示,即使用相同的软件和具有相同规范的计算机尝试初始区块下载,所报告的时间也有相当大的差异。

图3- 初始区块下载时间与客户端发布日期(天)- 3次尝试的平均时间

(来源:BitMEX研究)

(注:针对比特币0.8.6客户端,以上数据来自2次尝试的平均结果)

图3表明,除了Bitcoin Core 0.12.0具备强大的性能没有改变外,其他软件的性能随着发布而逐步提高。然而,虽然图3中呈现明显的性能提升趋势,但每次尝试的初始区块下载时间有巨大差异,可能表明性能提升存在相当大的不确定性。关于自2016年来性能不断提升的结论,需要更多的样本数据来坐实。这种差异可能是由于比特币P2P网络或互联网的连接问题。因此进一步研究的最好方法可能是,重新扫描速度,即一旦下载完,完整地验证区块链所需的时间。

Bitcoin Core 0.12.0在上述分析中表现良好。可能是因为,Bitcoin Core 0.12.0启用了libsecp256k,但没有验证隔离见证人的交易输入签名。因此,Bitcoin Core 0.12.0并没有验证2017年8月后区块链的所有签名,这赋予了它某种“不公平的优势”。

然而,Bitcoin Core 0.13.0也具备这种优势。当然,在0.12.0之前的所有版本都具有同样的“不公平”优势,这与使用OpenSSL的缺点相比就相形见绌了。

同步客户端至它的发布日期

图4说明了同步一个客户端到它发布日期的区块高度所需的时间。

图4-同步初始区块下载到客户端发布日期所需的时间(天)

(来源:BitMEX研究)

(注:在Linux上运行的节点数据。Bitcoin Core 0.19.0.1只同步区块高度到602,707)

从图中可以看出,从Bitcoin Core 0.8.6到Bitcoin Core 0.14.0的变化趋势较为平缓,此时可扩展性没有跟随时间的推移和区块高度的增长速度,但也呈现上升的趋势。近年来软件提升的速度降下来了,可能是那些容易实现的改进都实现了,剩下的是难以实现的改进。交易量增加可能也是原因之一。未来提高可扩展性可能更具挑战性,即使维持400万的区块高度限制,进一步升级软件和提升软件性能,初始区块下载的时间也会持续变长。

初始区块下载失败

我们成功编译并运行了Bitcoin 0.8.6之前的版本,但到了2015年-2016年期间,节点同步速度变慢。0.8.6之前版本的节点,例如0.7.0的节点,通过手动更改锁定限制,成功地在2013年完成硬分叉,但是2015年由于交易量增加,太具挑战性,节点暂停处理区块。我们重启了节点,确实有所帮助,但不久节点又停止了。

后面我们甚至在自己的全新本地计算机(匹配64 GB的RAM和8个Intel i9处理器)上运行0.7.0版的Bitcoin Core,但这个节点依然无法跨过2016年。由于涉及的许多换算因数(scaling parameter)都是非线性参数,不能简单地在这个问题上投入更多的硬件就能解决。

当节点被卡在一个区块上我们会重新启动,4次重启失败后我们放弃同步。对于MacBook Pro上的0.8.6 Bitcoin Core,领头区块在2016年时停止了同步。虽然有点令人失望,但剩下的35次尝试都顺利同步,没有出现重启的情况。

结论

除了在发布MacBook Pros的BitMEX研究报告时应该更加谨慎之外,数据还显示过去7年来的扩容性能大大提升。libsecp256k迁移是最重要的改进。初始区块下载时间的大幅减少和旧节点无法完全同步表明,可扩展性对于比特币的重要性,否则即使用户使用最高配置的硬件,Bitcoin现在也基本宣告死亡了。此外,数据还表明,技术创新不太可能同步于区块链的增长速度,初始区块下载的时间将继续延长。

精通比特币—比特币详细介绍

比特币是什么?

比特币是一种新的基于网络技术基础构建的数字货币生态系统,随着世界互联网技术的不断快速发展,互联网金融也在不断的升级,货币逐渐有传统的纸质货币实现无纸化交易,所以货币系统也在更新和发展。对于比特币新型的数字货币,用户主要通过互联网使用比特币系统,当然其他网络也可以使用。比特币协议以各种开源软件的形式实现,这些软件可以在笔记本电脑、智能手机等多种设备上运行,让用户方便地接入比特币系统。

比特币和传统货币一样,可以用做所有的传统货币能做的事,汇款、贷款、转账收款、买卖商品等等。在一定意义上,比特币具有互联网货币的完美形态,他具有快捷、安全、无国界的特性。全世界都可以通用。比特币没有实体,完全是虚拟的。用户只要有证明其控制权的密钥,用密钥解锁,就可以发送比特币。这些密钥通常存储在计算机的数字钱包里。拥有密钥是使用比特币的唯一条件,这让控制权完全掌握在每个人手中。

比特币是一个分布式的点对点网络系统。因此没有“中央”服务器,也没有中央发行机构。比特币是通过“挖矿”产生的,挖矿就是验证比特币交易的同时参与竞赛来解决一个数学问题。任何参与者(比如运行一个完整协议栈的人)都可以做矿工,用他们的电脑算力来验证和记录交易。平均每10分钟就有人能验证过去这10分钟发生的交易,他将会获得新币作为工作回报。本质上,挖矿把央行的货币发行和结算功能进行分布式,用全球化的算力竞争来取代对中央发行机构的需求。

比特币系统包含调节挖矿难度的协议。挖矿——在比特币网络中成功写入一个区块交易——的难度是动态调整的,保证不管有多少矿工(多少CPU)挖矿,平均每10分钟只有一个矿工成功。

比特币协议还规定,每四年新币的开采量减半,同时限制比特币的最终开采总量为2,100万枚。这样,流通中的比特币数量非常接近一条曲线,并将在2140年比特币将达到2,100万枚。由于比特币的开采速度随时间递减,从长期来看,比特币是一种通货紧缩货币。此外,不能通过“印刷”新比特币来实现“通货膨胀”。

比特币是一种协议、一种网络、一种分布式计算创新的代名词。比特币是这种创新的首次实际应用。作为一个开发者,我看比特币之于货币就像看到当年的互联网,一个通过分布式计算来传播价值和保障数字资产所有权的网络。比起初识比特币,这里将知无不言。

比特币客户端

比特币客户端主要有三种形式:

完整客户端:

一个完整客户端,或称“全节点”,是存储所有比特币交易的整个交易历史(由每一个用户完成的每一笔交易,曾经所有的每一笔)的客户端,管理用户的钱包,并可以在比特币网络上直接开始交易。这类似于一个独立的电子邮件服务器,因为它处理着协议的各个方面,而不依赖于任何其它的服务器或第三方服务。

轻量级客户端:

一个轻量级客户端存储用户的钱包,但需要依赖第三方服务器才能进行比特币交易,才能接入比特币网络。轻量级客户端不保存所有交易的完整副本,因此必须信赖第三方的服务器来获取交易确认。这就类似于一个独立的电子邮件客户端,能够通过邮箱服务器来访问一个邮箱,因为它在网络交流中依赖于一个第三方服务器。

在线客户端:

在线客户端通过网页浏览器在第三方服务器上访问和储存该用户的钱包。这类似于在线邮件,因为它完全依赖于第三方服务器。

比特币客户端的选择,取决于用户想要管理资金的数目。一个完整的客户端将为用户提供最高级的管理和独立性。这样钱包的备份和安全责任就转移到了用户身上。另一种选择是在线客户端,其设置和使用是最简单的,但在线客户端的取舍还在于需衡量第三方介入的风险,因为安全性和控制权是由用户和网页服务商所共同承担的。如果一个在线钱包服务遭受了损失,就像已发生过的那样,用户们可能会失去所有的资金。反过来看,如果用户的一个完整客户端没有进行适当的备份,他们可能会因为电脑的操作失误而丢失他们的资金。

安装Multibit客户端

Multibit客户端会自动生成一个钱包和一个全新的比特币地址

界面中最重要的是比特币地址。类似于电子邮件的地址,用户可以分享这个地址,这样任何人都可以通过这个地址直接将比特币发送到的新钱包里。界面上看起来一长串的字母和数字就是地址:

1Cdid9KFAaatwczBwBttQcwXYCpvK8h7FK。

地址旁是一个二维码。这个二维码是可以被智能手机摄像头扫描到该钱包地址的条形码,即窗口右边黑白相间的方块。通过点击比特币地址或二维码旁边的复制按钮,用户可以将它们分别复制到剪贴板。点击二维码可以将其放大,便于智能手机扫描。

用户也可以打印出这个地址二维码给别人,这样就不用打一长串字母和数字了。

比特币地址以数字1或3开头。类似于电子邮件地址,这些地址可以分享给其他的比特币的用户,这样他们就可以直接通过这些地址发送比特币到你的钱包里。不同于电邮地址的是,你可以任意地创建新的比特币地址,这些地址都能成功地将资金转到你的钱包。钱包是多个地址和解锁资金密钥的简单集合。每笔交易你都可以使用不同的地址,这有利于提高隐私的安全性。用户可创建地址的数量几乎不受限制。

现在可以开始使用她的新比特币钱包了。

比特币获取:

新用户有以下四种方法来获取比特币:

找个有比特币的朋友,直接向他购买一些。很多比特币用户都是这样开始的。

利用localbitcoins.com这样的分类服务网站来寻找你所在地区的卖家,使用现金进行面对面的线下交易。

出售某种产品或服务来换取比特币。如果你是个程序员,可以出售你的编程技能。

使用你所在地区的比特币ATM机。利用CoinDesk里的在线地图来找到你附近的比特币取款机。

发送和接收比特币:

A方案是你通过交易平台购买它,向其他的持有者购买一些比特币,你也可以用人民币或者澳元来购买比特币,就像兑换其他国家的货币那样,能让你用市场价来购买比特币,这也能使你的钱包变鼓一点。以Coinbase为例,购买比特币,需要少许手续费,但是每天比特币的价格都在波动,如果你在几天内买入然后转手卖出的话可以赚差价。

方案B,线下交易,这种方法在几个网站的附录中都有给出,去寻找那些想要做其他事情的持币者。 方案c,就像是现实生活中的工作一样,你在沃尔玛工作,成为一名医生或者是工程师,不管什么职业,你可以工作,作为报酬来获取比特币,就像你的工资一样,或者你还可以卖东西来换取比特币,实际上,如果你是电商的话,你就可以通过Bitpay来获得比特币。

以上就是获取比特币的途径,比特币是一种货币,如果想要拥有它,就不可能免费得到,你需要用这三种方法来获取。购买,下线交易或者提供服务,贩售商品来获得比特币,正如现实生活中专区美元的方式一样。

免责声明:本文由用户上传,如有侵权请联系删除!