当前位置:首页 » 比特币问答 » btc难度系数字符串

btc难度系数字符串

发布时间: 2023-07-20 04:22:16

1. 自学区块链(六)BTC-挖矿难度

我们来看下挖矿的计算公式

H(block header) target,这个target就是 目标阈值

BTC用的哈希算法是SHA-256,它产生的哈希值是256位,那么就有2^256种取值,这个就是他的输出空间,要增大挖矿难度, 就调节目标值在这个输出空间所占的比例 。

挖矿难度和目标阈值是成反比的, 当算力强时,调节难度,使目标阈值变小 。

不调节难度,随着矿工数量增多,随着算力的上升,那么挖到区块的时间就会变短,从10分钟缩短到1分钟甚至几秒钟,这个会带来什么样的问题呢?可能很多人觉得这不是挺好吗,交易等六个确认就会缩短时间了,交易就会变快了。其实出块时间缩到很短,风险是很大的,因为网络延迟,出块时间变短,不同节点很可能接到不同的区块信息,导致会有很多分叉节点出现。矿工会根据自己认为正确的区块接着挖。这种情况下,恶意节点发动分叉攻击就比较容易成功,因为诚实节点的算力被分散了。

导致不需要51%的算力就能成功,所以缩短出块时间是不利于BTC系统的稳定的。虽然10分钟不一定是最优的时间,但是也算是比较合理的。

下面是 算力增长曲线

下面是 挖矿难度曲线

下面是 平均出矿时间

我们来看下难度公式:每2016个区块调整一次挖矿难度,10分钟出一个平均算下来是两星期调整一次。

previous_difficulty是上一次的挖矿难度,分母是最近2016个区块花费的时间

每个节点挖矿是独立的,BTC的协议也是开源的,会不会有矿工不修改挖矿难度呢?可能性是存在的,但是不影响结果,因为广播给其他节点需要独立验证block header的哈希值, 这个header里面有难度的一个压缩编码,修改难度产生的结果是不会被诚实的节点认可的。

2. 比特币如何算出来的

要想了解bitcoin的技术原理,首先需要了解两个重要的密码技术: HASH码:将一个长字符串转换成固定长度的字符串,并且其转换不可逆,即不太可能从HASH码猜出原字符串。bitcoin协议里使用的主要是SHA256。
公钥体系:对应一个公钥和私钥,在应用中自己保留私钥,并公开公钥。当甲向乙传递信息时,可使用甲的私钥加密信息,乙可用甲的公钥进行解密,这样可确保第三方无法冒充甲发送信息;同时,甲向乙传递信息时,用乙的公钥加密后发给乙,乙再用自己的私钥进行解密,这样可确保第三者无法偷听两人之间的通信。最常见的公钥体系为RSA,但bitcoin协议里使用的是lliptic Curve Digital Signature Algorithm。 和现金、银行账户的区别? bitcoin为电子货币,单位为BTC。在这篇文章里也用来指代整个bitcoin系统。 和在银行开立账户一样,bitcoin里的对应概念为地址。每个人都可以有1个或若干个bitcoin地址,该地址用来付账和收钱。每个地址都是一串以1开头的字符串,比如我有两个bitcoin账户,和。一个bitcoin账户由一对公钥和私钥唯一确定,要保存账户,只需要保存好私钥文件即可。 和银行账户不一样的地方在于,银行会保存所有的交易记录和维护各个账户的账面余额,而bitcoin的交易记录则由整个P2P网络通过事先约定的协议共同维护。 我的账户地址里到底有多少钱? 虽然使用bitcoin的软件可以看到当前账户的余额,但和银行不一样,并没有一个地方维护每个地址的账面余额。它只能通过所有历史交易记录去实时推算账户余额。 我如何付账? 当我从地址A向对方的地址B付账时,付账额为e,此时双方将向各个网络节点公告交易信息,告诉地址A向地址B付账,付账额为e。为了防止有第三方伪造该交易信息,该交易信息将使用地址A的私钥进行加密,此时接受到该交易信息的网络节点可以使用地址A的公钥进行验证该交易信息的确由A发出。当然交易软件会帮我们做这些事情,我们只需要在软件中输入相关参数即可。 网络节点后收到交易信息后会做什么? 这个是整个bitcoin系统里最重要的部分,需要详细阐述。为了简单起见,这里只使用目前已经实现的bitcoin协议,在当前版本中,每个网络节点都会通过同步保存所有的交易信息。 历史上发生过的所有交易信息分为两类,一类为"验证过"的交易信息,即已经被验证过的交易信息,它保存在一连串的“blocks”里面。每个"block"的信息为前一个"bock"的ID(每个block的ID为该block的HASH码的HASH码)和新增的交易信息(参见一个实际的block)。另外一类指那些还"未验证"的交易信息,上面刚刚付账的交易信息就属于此类。 当一个网络节点接收到新的未验证的交易信息之后(可能不止一条),由于该节点保存了历史上所有的交易信息,它可以推算中在当时每个地址的账面余额,从而可以推算出该交易信息是否有效,即付款的账户里是否有足够余额。在剔除掉无效的交易信息后,它首先取出最后一个"block"的ID,然后将这些未验证的交易信息和该ID组合在一起,再加上一个验证码,形成一个新的“block”。 上面构建一个新的block需要大量的计算工作,因为它需要计算验证码,使得上面的组合成为一个block,即该block的HASH码的HASH码的前若干位为1。目前需要前13位为1(大致如此,不确定具体方式),此意味着如果通过枚举法生成block的话,平均枚举次数为16^13次。使用CPU资源生成block被称为“挖金矿”,因为生产该block将得到一定的奖励,该奖励信息已经被包含在这个block里面。 当一个网络节点生成一个新的block时,它将广播给其它的网络节点。但这个网络block并不一定会被网络接受,因为有可能有别的网络节点更早生产出了block,只有最早产生的那个block或者后续block最多的那个block有效,其余block不再作为下一个block的初始block。 对方如何确认支付成功? 当该笔支付信息分发到网络节点后,网络节点开始计算该交易是否有效(即账户余额是否足够支付),并试图生成包含该笔交易信息的blocks。当累计有6个blocks(1个直接blocks和5个后续blocks)包含该笔交易信息时,该交易信息被认为“验证过”,从而该交易被正式确认,对方可确认支付成功。 一个可能的问题为,我将地址A里面的余额都支付给地址B,同时又支付给地址C,如果只验证单比交易都是有效的。此时,我的作弊的方式为在真相大白之前产生6个仅包括B的block发给B,以及产生6个仅包含C的block发给C。由于我产生block所需要的CPU时间非常长,与全网络相比,我这样作弊成功的概率微乎其微。 网络节点生产block的动机是什么? 从上面描述可以看出,为了让交易信息有效,需要网络节点生成1个和5个后续block包含该交易信息,并且这样的block生成非常耗费CPU。那怎么样让其它网络节点尽快帮忙生产block呢?答案很简单,协议规定对生产出block的地址奖励BTC,以及交易双方承诺的手续费。目前生产出一个block的奖励为50BTC,未来每隔四年减半,比如2013年到2016年之间奖励为25BTC。 交易是匿名的吗? 是,也不是。所有BITCOIN的交易都是可见的,我们可以查到每个账户的所有交易记录,比如我的。但与银行货币体系不一样的地方在于,每个人的账户本身是匿名的,并且每个人可以开很多个账户。总的说来,所谓的匿名性没有宣称的那么好。 但bitcoin用来做黑市交易的还有一个好处,它无法冻结。即便警方追踪到了某个bitcoin地址,除非根据网络地址追踪到交易所使用的电脑,否则还是毫无办法。 如何保证bitcoin不贬值? 一般来说,在交易活动相当的情况下,货币的价值反比于货币的发行量。不像传统货币市场,央行可以决定货币发行量,bitcoin里没有一个中央的发行机构。只有通过生产block,才能获得一定数量的BTC货币。所以bitcoin货币新增量决定于: 1、生产block的速度:bitcoin的协议里规定了生产block的难度固定在平均2016个每两个星期,大约10分钟生产一个。CPU速度每18个月速度加倍的摩尔定律,并不会加快生产block的速度。 2、生产block的奖励数量:目前每生产一个block奖励50BTC,每四年减半,2013年开始奖励25BTC,2017年开始奖励额为12.5BTC。 综合上面两个因素,bitcoin货币发行速度并不由网络节点中任何单个节点所控制,其协议使得货币的存量是事先已知的,并且最高存量只有2100万BTC

3. btc是什么货币


btc是比特币,是一种虚拟货币,在2009年由中本聪提出,总数量为2100万个。这种货币没有专门的发行机构,它的产生需要依靠特定的算法产生,而且越往后得到的难度会逐渐的增加,因此比特币具有极强的稀缺性。


用户想要获得比特币必须通过挖矿得到,在挖矿时一般需要经过以下步骤,分别是准备工作、找到矿池、注册矿池账号、矿池账号设置、下载比特币挖矿器(软件)、比特币挖矿机配置;经过以上步骤就可以挖矿了。


在实际生活中很多人都在买卖比特币,通过买卖让自己得到不错的盈利。一枚比特币在几千美元上甚至上万美元,普通人最好不要涉足这个方面的投资,毕竟它的风险是相当大的,很多可能发生亏损。


用户在买卖时需要不断关注它的行情,现在用户可以通过很多的平台查看比特币的价格。而且它的走势和股票的走势都差不多,用户可以按分时,日K,周线,月线和年线来看,通过这些图形可以知道它最近的走势怎么样。

以上是小编为大家分享的关于btc是什么货币的相关内容,更多信息可以关注建筑界分享更多干货

4. 比特币现在的难度系数

高。比特币挖矿难度已从之前的27.45T上调4%至28.59T,创历史新高。目前比特币未确认交易量为4563笔。全网算力为203.76EH/s,24小时交易速度3.22txs/s。距离下次难度调整还有14天,预计下次挖矿难度上调0.12%至28.62T。所以难度会越来越高。

5. 求解释 比特币

比特币早期挖矿是比较容易,有时让人觉的不公平。其实主权货币和比特币的区别是主权货币啥时候挖它的难度都是一样的,而比特币只有最初是容易的。主权货币保证信用的主权是有“保质期”的,而Btc的保质期=互联网。看看下面这些等式就简明多了。

主权货币发行人=各国央行;比特币发行人=创始人和早期旷工创造了目前总数50%的比特币

主权货币发行货币难度=几乎总是等于一张纸;比特币发行难度=挖矿机价格(损耗系数)+时间+能耗等等的总和且不断增加,未来趋近无穷(PS 国家印币厂几乎是零成本厂房和机器设备)

主权货币本身的价值=主权的信用保证,保质期有限(人治系统);比特币本身的价值=一个价值系统,保质期等于?网络的存在,它的信用不是某个政府某个朝代颁布的,它的信用是这个系统内的每个用户颁发给你的(体治系统)。
(PS 节目中说的津巴布韦的货币通胀就是很形象的例子)

主权货币的央行对于进入流通环节的货币的掌控度=80%以上;比特币大量储备者对已进入流通环节的比特币掌控度=0%,无法控制

比特币的不公平感怎么形成的?
1、发行人不同,国家或央行把你控制在主权货币体系内,不管剥夺多少财富,因为你是弱势群体,根据从众心理等等一系列因素,你从来不敢想这是不正常的。 比特币的“发行人”(姑且这里叫发行人) 只能一次性兑换初期的财富,他们只是早期实践者并不能控制这个系统。这批人并不具有像主权国家一样的权势,所以认为这些人不应该这么“爽”?同时浅薄的认为这就是游戏币,搞什么啊!
2、不了解整个体系的人(一般是旁观者居多,因为没有持有,不会真的心疼钱而认真了解比特币),我们把他叫后发现目标群体,打个比方,
在心理学有个现象:A,一天,你和一个恶霸(或者你认为非常强势的)、一个和你同等地位的人,同时发现地上有1百万的巨款,那个恶霸(或者你认为非常强势的)先拾了,你和同等地位的那个人都不会有抵触心理;但是如果你或者和你同等地位的人拾去,对方会非常心理不平衡,想武力解决的心都有,而恶霸则根据这次事件是否影响他的根本利益来决定是否插手。B,上面同样一件事,如果每天都是恶霸拾到一百万巨款,你们两个同等地位的人都不会叫,如果你和同你同等地位的人拾到那一百万(仅仅一次),一方会仇视另一方。上面A,B 假设可以继续写很长,这是人性,很长一段历史时期都会存在。
3、所处的时代,人的整体意识还没有进阶。大多数人仍然只相信霸权,自己膜拜不同领域的强者,更信任霸权体系的货币,这在很长一段历史时期不会改变,这和政治和治理体系又联系到一起了。其实比特币所牵涉到的金融进步乃至政治进步,太先进了,目前看不清也是人类认识局限造成正常。所以许多只搞金融的不懂互联网搞不清楚比特币,懂互联网的不熟悉金融没法说服搞金融的,但是不明白政治或者系统的人也无法全面认识它。欧洲及美国的治理体系中,德国的政治制度是最接近“体治”的国家,这和为什么德国最先承认比特币的货币地位密切相关...

比特币的最初持有者或集中持有者如果不抛比特币,那么新手怎么办?怎么让它流通成为普遍货币?
1、比特币的普及有许多个维度。从少量巨额持有者向大众持有者不断稀释是一个维度。不同国家、文化、地域、消费领域普遍接受比特币是同样存在多个一个维度。这些稀释过程还同世界主要主权货币的兴盛程度与时间有关。这是一个巨大化学反应过程而且是不可逆的。大量支持者仅仅是一次性发行人,这种稀释是不可扭转的,所以根本不必担心。
2、担心别特币会被后来的强大电子货币所替代?这是肯定的,而且这个担心也太超前了,超光速了。没有永恒的货币形式,从货币的发展就可以看出来,而且随着g u oj i a概念的淡化,主权货币hui退出历史舞台。那种更强大的电子货币的时代也许会和比特币交错出现,也许是比特币盛世时代之后出现,但不太可能在比特币到达鼎盛之前出现。如果有这种情况那一定是强大的外力推动的。这种情况不太可能...

6. 比特币有被完全挖完的一天吗比特币是如何挖出来的

每10min就会有一块BTC被挖掘出来,因为市场竞争这么剧烈,12.5比特币的区块链奖赏将根据其在这一过程中的哈希率奉献在竞争者中间进行分配。大部分BTC采掘也被挖币大农场和开采池所取代,因而,为了获得一些BTC,你必须加入其中一个或另一个开采池,并奉献你所能贡献的一切哈希率。应用传统的个人计算机,乃至GPU服务平台可能需要好多个月的时间才可以挣到BTC,由于ASIC芯片目前在BTC采掘行业占有主导性。

调整后的难度系数促使每形成一个区块链的预期时间为10min。现今难易度约为480PH/s,约是创世区块的680亿倍左右,换句话说,以现在的算率,各大网站挖矿需要经过约3000万亿元亿个哈希运算才能找到一个符合条件的回答,形成一个新的区块链。即使是能够证明你挖掘出来的BTC或者其他的加密数字货币是真实的,可是只不过是临时存有其他人帐户。一般这种手机上云挖矿方式都是要达到一定的总数之后才可以转币,而达到这一周期时间或是门坎必须很长一段时间,已经足够别人跑路了。

7. 比特币系统是由谁在出题并调整难度第一个比特币是如何计算出的

BTC是一种由开源系统的P2P手机软件产生的虚拟货币,是一种网络虚拟货币。比特犬~币不依靠特殊贷币组织发售,它通过特殊算法的很多测算造成,虚拟币经济发展应用全部P2P网络中许多连接点构成的分布式系统来确认并记录每一个交易行为。实际上BTC是近几年才进到投资者的视线,可以这么说BTC刚出现的时候,BTC基本上一文不值,1美金均值可以买到1309.03个BTC。在2011年,BTC与美元的兑换率,竟然从0.5美金一路涨到了13美金,上涨幅度达到2600%!

BTC是基于区块链技术性衍生出来的,而区块链的组成就是普通的编码,我们可以把它理解为一个数据文件,一个不可以随意毁坏、不能伪造、可以从网络查询、可摆脱互联网单独存有、又可通过网络验证系统其详细水平、真假,且又可以随意分拆的文件夹。

8. 用笔记本在家挖矿,一天可以挖几个比特币

现如今如果还试图用笔记本或家用电脑在家里“挖矿”,绝对是吃饱了撑得慌,除了浪费电之外,连比特币的最小单位1聪都不可能获得(1比特币为1亿个聪)。

如果挖矿这件事真的有这么简单,那么多矿场就不会设置在深山老林离发电厂很近的地方,矿场里的每一台算力惊人价值不菲的矿机都极为耗电,可谓是吃电的老虎。

如今一台专业矿机的算力达到了惊人的110TH/s,功率为3250w,也就是一个小时耗电3.25度。

这样一台算力达到了110TH/s的矿机,挖矿一年可以产出0.2158个比特币,年耗电量为284700度电,电费如果以3毛钱计算就是85410元/年,如果是以正常的市电电价挖矿一年下来还真可能连本都捞不回来。

110TH/s的算力是什么概念?

1H/s就是每秒一次哈希碰撞,而1TH/s就是每秒1000G次哈希碰撞(1万亿次),那么110TH/s的算力就是110万亿次哈希碰撞。

拿一块七彩虹的GTX 1080Ti Neptune水冷显卡,这张显卡对于一台普通的电脑来说已经很炸了,通过超频后测得的算力大约是1.8GH/s,也就是0.0018TH/s。按照这样的速度来挖一个比特币,可谓是何年何月,还不如洗洗睡吧,更别提用普通的家用电脑来挖比特币了。

用家用电脑挖矿放到2010年以前还是有可能的

在2010年挖一个比特币需要经过7.3M次哈希碰撞,也就是730万次哈希碰撞。在那个时候,如果你懂得怎么去挖矿,用普通的电脑还是有可能挖出比特币来的。奈何在当时比特币的价格并不足以对一般人产生诱惑力,就跟所有人都后悔为什么没有早点买房一样。

自从2016年开始比特币的价格就随着挖矿的难度系数蹭蹭地往上涨,给人的错觉就是比特币的价格是和算力的增加而增加的。实际上我们细微的观察算力曲线和价格曲线就会发现,价格和算力并不成正比,不管是价格还是算力都随着时间的推移有涨有跌。这时我们就会发现它具有了股票、债券、期货这样的市场属性,是可以被炒作的,它也会受市场、政策等因素影响。

按照中本聪的算法,比特币的总量大约为2100万个,最开始的时候,每完成一次记账就会奖励50个比特币,但每过4年奖励就会减半,预计到2140年奖励就会变为0,所以越是往后,挖出比特币的难度系数就会越大。

这么说似乎可以认定比特币是一种稀缺的资源,但它并没有货币的属性,仅仅只是一串毫无用处的字符串。只是币圈的这些人哄抬它就水涨船高了,假如有一天这个巨大的泡沫破裂了,比特币就是一串字符串,接盘的人就是那些手握比特币而出手不了的人。

比特币到底是个什么东西?

比特币就是维持区块链记账系统中的一种奖励机制,对于整个区块链记账系统来说参与挖矿的人越多,参与账本数据确认的人也就越多,区块数据也就越安全。如果没有这种奖励机制,区块链记账系统就玩不下去了。

区块链中的每一个节点都拥有记账的权利,但每笔账单记账权是通过接一道数学题来获得,只不过这道数学题很难解,并且越来越难解。谁先算出难度系数内的值,谁就拥有优先记账权。计算出来的值通过验证后,和账本一起封装,广播到区块链中,这样就完成了记账的过程,然后就会获得相应的比特币奖励。

细细想来挖比特币还真的是挖了个寂寞

那么多矿场的矿机每年耗费那么多电,仅仅为了解一道又一道的数学题从而获得比特币交易的记账权利。这些电用来作为工厂生产不香吗?哪怕用来吹吹空调也划得来。

比特币被资本裹挟后,然后资本在高位临近崩盘时撤离,会不会又是一地鸡毛,一片哀嚎呢。所以普通人还是别想用笔记本挖比特币这件事了。

笔记本一天挖几个?你是来 搞笑 的吗?比特币矿机又叫高频计算机,为什么叫高频计算机,因为他的运算速率是以T为单位,三年前一台11.5T的矿机都需要一年时间挖一个比特币,1T=1024G,而且比特币挖狂周期是不断衰减的,也就是同样算力越往后挖一个时间越久,你的工作笔记本估计也就8G,你说一天能挖几个?

你还想一天挖几个比特币?大概你可以想象一年能不能挖出0.1个比特币。

按现在的通行说法,普通电脑挖矿,大致上回不来电费的本。虽然笔记本是公司的,但家里的电费是你自己掏吧。所以,性能本来就缩水的笔记本去挖矿,一定在电费上让你老开心了。

天上不会突然掉馅饼的。

比特币在2月20日早晨突破了56000美元,截至13时30分,比特币价格为55624美元左右,24小时上涨8.29%,24小时内成交量为753.9美元,市值达1.04万亿,进入“万亿俱乐部”。

以上这样的数据看着当然诱人,一枚比特币的价值近40万人民币,是很多普通上班族不吃不喝工作六七年的工资,想用笔记本在家挖矿,估计连电费都赚不回来。

一夜暴富,想想就好,还是脚踏实地一些好。

保持当前比特币的全网算力难度不变,即便是你用当前3060显卡来挖比特币,那么这个时间也需要1400年才能挖出一枚比特币。所以不要有任何实质性的幻想,你接触比特币的时间现在已经是2021年,不是2009年的那个时间节点。

比特币由原先的几美分已经一路上涨至目前最高的5.8万美元,换句话说2009年左右比特币的价格只有几元人民币,但是到目前为止已经上涨到了30万人民币一枚的价格。再加上比特币的无国界和去中心化属性,在过去11年的时间里,比特币的全网算力已经呈现出指数爆炸式的增长,世界各地电力丰富稳定的地区都有比特币的专业矿场存在。

所以目前我们任何更先进的家用电脑都是无法直接去挖掘比特币的。要不然为什么我们能够听到专业的比特币矿场和相对应的矿机?现在都是几百上千个显卡集中组成的专业矿机来贡献比特币的算力,谁先打包出了相对应的区块,谁就能获得6.25个比特币的奖励。

时代已经发展到了目前的这个阶段,如果现在是2009年甚至于2010年的那个时间节点,家用电脑当时确实是可以支持挖掘比特币的,全网算力不高参与量极少,因为那个时候很多人都不了解比特币,当时的比特币也并不值钱。

所以我们能够看到在2010年上半年的时候,当时一部分的矿工在淘宝网上出售相对应的比特币,当时的价格是5元人民币到10元人民币一枚。即便是2011年的下半年比特币当时的价格也才60元人民币左右。

但是从2012年下半年开始,基本上比特币的发展阶段就已经越过了调用电脑贡献算力的时代,开始进入到了专业的矿机时代。当然目前比特币的价格对于相对应的挖矿而言是有丰富的利润回报率的,但是在比特币熊市的时候基本上挖矿是呈现出亏损状态的,那个时候只有垫资囤币等待牛市周期到来才能获得总的盈利。

所以现在也不要轻易的去参与到专业的比特币挖矿行业中,这个行业的入门门槛极高,并且需要专业的人员以及很大的资金链支撑,风险也是比较大的。

一天挖几颗?以现在比特币的价格近5万美元一颗,别人都是在房间里放几十上百张显卡用货架装着挖矿,以笔记本挖矿解码的速度,估计几年都没有一颗,想要挖矿至少还是要配备1050ti以上的显卡才行,而且显卡越多,解码越快,同时对电费,显卡寿命消耗也是不小的费用,作为普通人还是最好不要打比特币的主意,容易踏空摔疼

天上掉馅饼的事情你也相信?就算真能挖到,那也需要你有强大的服务器阵容,而并非是你的一台小电脑能做的。而且挖一个不是按照天来计算,是你以年做单位来计算,你算算,你一年能挖一个不??

大兄弟醒醒,你这个想法容易上当受骗。

不劳而获的心理太重,盲目跟风的行为也重,最好的还是不切实际。

还是脚踏实地吧。

4千台3kW矿机,一天24小时能挖出一个BTC,你的20台笔记本算力比不上一台矿机,按此计算,你一台笔记本需8万天才能挖出一个币,平均一天24小时能挖出8万分之一个比特币。

但是你一台笔记本,即使挖8万/365=220年,肯定挖不出一个比特币,因为每隔2年左右,区块链所藏币的数量会减半,按此逻辑,你这笔记本挖一万年也挖不出一个比特币[捂脸][捂脸][捂脸]

兄弟你想的太多了,不知道你有没看过一个新闻,疫情期间韩国很多网吧全都不营业改挖矿了,整个网吧的电脑一天也挖不了多少,何况一个笔记本了。我有个朋友专门做挖矿的,他在云南的中缅边境那里建的矿场。就是因为那里电费便宜。以前还有很多人在内蒙古建矿场,因为点都是偷的,但是后来被抓住判刑了。所以咱们不是圈里的人基本操作不了,还不如多发发文章赚点零花钱呢!

9. 比特币基础知识 你绝对想不到


椭圆曲线数字签名算法
椭圆曲线数字签名算法(ECDSA)是使用椭圆曲线对数字签名算法(DSA)的模拟,该算法是构成比特币系统的基石。
私钥
非公开,拥有者需安全保管。通常是由随机算法生成的,说白了,就是一个巨大的随机整数,32字节,256位。
大小介于1 ~ 0xFFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4141之间的数,都可以认为是一个合法的私钥。
于是,除了随机方法外,采用特定算法由固定的输入,得到32字节输出的算法就可以成为得到私钥的方法。于是,便有了迷你私钥(Mini Privkey),原理很简单,例如,采用SHA256的一种实现:
private key = SHA256()1
迷你私钥存在安全问题,因为输入集合太小,易被构造常见组合的彩虹表暴力破解,所以通常仿轮纳还是使用系统随机生成的比较好,无安全隐患。
公钥
公钥与私钥是相对应的,一把私钥可以推出唯一的公钥,但公钥却无法推导出私钥。公钥有两种形式:压缩与非压缩。
早期比特币均使用非压缩公钥,现大部分客户端已默认使用压缩公钥。
这个貌似是比特币系统一个长得像feature的bug,早期人少活多代码写得不够精细,openssl库的文档又不足够好,导致Satoshi以为必须使用非压缩的完整公钥,后来大家发现其实公钥的左右两个32字节是有关联的,左侧(X)可以推出右侧(Y)的平方值,有左侧(X)就可以了。
现在系统里两种方式共存,应该会一直共存下去。两种公钥的首个字节为标识位,压缩为33字节,非压缩为65字节。以0x04开头为非压缩,0x02/0x03开头为压缩公钥,0x02/0x03的选取由右侧Y开方后的奇偶决定。
压缩形式可以减小Tx/Block的体积,每个Tx Input减少32字节。
签名
使用私钥对数据进行签署(Sign)会得到签名(Signature)。通常会将数据先生成Hash值,然后对此Hash值进行签名。签名(signature)有两部分组成: R + S。由签名(signature)与Hash值,便可以推出一个公钥,验证此公钥,便可知道此签名是否由公钥对应的私钥签名。
通常,每个签名会有三个长度:73、72、71,符合校验的概率为25%、50%、25%。所以每次签署后,需要找出符合校验的签名长度,再提供给验证方。
地址
地址是为了人们交换方便而弄出来的一个方案,因为公钥太长了(130字符串或66字符串)。地址长度为25字节,转为base58编码后,为34或35个字符。base58是类似base64的编码,但去掉了易引起视觉混淆的字符,又在地址末尾添加了4个字节校验位,保障在人们交换个别字符错误时,也能够因地址校验失败而制止了误操作。
由于存在公钥有两种形式,那么一个公钥便对应两个地址。这两个地址都可由同一私钥签署交易。
公钥生成地址的算法:
Version = 1 byte of 0 (zero); on the test network, this is 1 byte of 111
Key hash = Version concatenated with RIPEMD-160(SHA-256(public key))
Checksum = 1st 4 bytes of SHA-256(SHA-256(Key hash))
Bitcoin Address = Base58Encode(Key hash concatenated with Checksum)1234
下图是非压缩公钥生成地址的过程:
对于压缩公钥生成地址时,则只取公钥的X部分即可。
推导关系
三者推导关系:私钥
公钥
两个地址。过程均不可逆。拥有私钥便拥有一切,但通常为了方便,会把对应的公钥、地址也存储起来。
交易
比特币的交易(Transation,缩写Tx),并不是通常意义的桐散交易,例如一手交钱一手交货,而是转账。交易由N个输入和M个输出两部分组成。交易的每个输入便是前向交易的某个输出,那么追踪到源头,必然出现一个没有输入的交易,此类交易称为CoinBase Tx。CoinBase类备没交易是奖励挖矿者而产生的交易,该交易总是位于Block块的第一笔。
拥有一个输入与输出的Tx数据:
Input:
Previous tx:
Index: 0
scriptSig:
241501
Output:
Value: 5000000000
scriptPubKey: OP_DUP OP_HASH160
OP_EQUALVERIFY OP_CHECKSIG12345678910
一旦某个Tx的第N个输出成为另一个Tx的输入,那么该笔比特币即为已花费。每个交易有唯一Hash字符串来标识,通过对交易数据做两次SHA256哈希运算而来:
Tx Hash ID = SHA256(SHA256(Tx Data))1
矿工费
矿工费(Transaction Fee)是鼓励矿工将Tx打包进Block的激励报酬。计算一笔交易的矿工费:
Transaction Fee = SUM(Inputs amount) - SUM(Outputs amount)1
每笔Tx的矿工费必然大于等于零,否则该笔Tx即为非法,不会被网络接收。
数据块
数据块(Block)是存储Block Meta与Tx的地方。Block的第一笔Tx总是CoinBase Tx,因此Block中的交易数量总是大于等于1,随后是这段时间内网络广播出来的Tx。
找到合适的Block是一件非常困难的事情,需要通过大量的数学计算才能发现,该计算过程称为“挖矿”。首个发现者,会得到一些比特币作为奖励。
数据链
多个Block连接起来成为数据链(Block Chain)。
为了引入容错与竞争机制,比特币系统允许Block Chain出现分叉,但每个节点总是倾向于选择最高的、难度最大的链,并称之为Best Chain,节点只认可Best Chain上的数据。
首个Block称为Genesis Block,并设定高度为零,后续每新增一个Block,高度则递增一。目前是不允许花费Genesis Block中的比特币的。
每个Block中的Tx在此Block中均唯一
一个Tx通常只会在一个Block里,也可能会出现在多个Block中,但只会在Best Chain中的某一个Block出现一次
货币存储
比特币是密码货币、纯数字化货币,没有看得见摸得着的硬币或纸币。一个人持有比特币意味着:
其拥有一些地址的私钥
这些地址是数笔交易的输出,且未花费
所有货币记录均以交易形式存储在整个blockchain数据块中,无交易无货币。货币不会凭空产生,也不会凭空消失。遗失了某个地址的私钥,意味着该地址上的Tx无法签署,无法成为下一个Tx的输入,便认为该笔比特币永久消失了。
货币发行
既然所有交易的输入源头都是来自CoinBase,产生CoinBase时即意味着货币发行。比特币采用衰减发行,每四年产量减半,第一个四年每个block的coinbase奖励50BTC,随后是25btc, 12.5btc, 并最终于2140年为零,此时总量达到极限为2100万个btc。
减半周期,严格来说,并不是准确的四年,而是每生成210000个block。之所以俗称四年减半,是因为比特币系统会根据全网算力的大小自动调整难度系统,使得大约每两周产生2016个block,那么四年约21万块block。
该函数GetBlockValue()用于计算挖得Block的奖励值:
int64 static GetBlockValue(int nHeight, int64 nFees)
{
int64 nSubsidy = 50 * COIN;
// Subsidy is cut in half every 210000 blocks, which will occur approximately every 4 years
nSubsidy = (nHeight / 210000);
return nSubsidy + nFees;
}123456789
当达到2100万btc以后,不再有来自CoinBase的奖励了,矿工的收入来源仅剩下交易的矿工费。此时,每个block的收入绝对值btc很低,但此时比特币应当会非常繁荣,币值也会相当的高,使得矿工们依然有利可图。
杜绝多重支付
传统货币存在多重支付(Double Spending)问题,典型的比如非数字时代的支票诈骗、数字时代的信用卡诈骗等。在比特币系统里,每笔交易的确认均需要得到全网广播,并收录进Block后才能得到真正确认。每笔钱的花销,均需要检测上次输入交易的状态。数据是带时间戳的、公开的,BlockChain由巨大的算力保障其安全性。所以比特币系统将货币的多重支付的风险极大降低,几近于零。通过等待多个Block确认,更是从概率上降低至零。一般得到6个确认后,可认为非常安全。但对于能影响你人生的重大支付,建议等待20~30个确认。
匿名性
任何人均可以轻易生成大量的私钥、公钥、地址。地址本身是匿名的,通过多个地址交易可进一步提高匿名性。但该匿名性并不像媒体宣传的那样,是某种程度上的匿名。因为比特币的交易数据是公开的,所以任何一笔资金的流向均是可以追踪的。
不了解比特币的人为它的匿名性产生一些担忧,比如担心更利于从事非法业务;了解比特币的人却因为它的伪匿名性而苦恼。传统货币在消费中也是匿名的,且是法律保障的,大部分国家都不允许个人涂画纸币。
地址本身是匿名的,但你可以通过地址对应的私钥签名消息来向公众证明你拥有某个比特币地址。
其他名词
哈希
哈希(Hash)是一种函数,将一个数映射到另一个集合当中。不同的哈希函数映射的空间不同,反映到计算机上就是生成的值长度不一样。同一个哈希函数,相同的输入必然是相同的输出,但同一个输出却可能有不同的输入,这种情况称为哈希碰撞。
常见的哈希函数有CRC32, MD5, SHA1, SHA-256, SHA-512, RIPEMD-160等,哈希函数在计算中有着非常广泛的用途。比特币里主要采用的是SHA-256和RIPEMD-160。
脑钱包纸钱包
前面提到过的脑钱包与纸钱包,这其实不算是钱包的分类,只是生成、存储密钥的方式而已。脑钱包属于迷你私钥的产物。脑钱包就是记在脑袋里的密钥,纸钱包就是打印到纸上的密钥,仅此而已。
有同学提到过,以一个计算机文件作为输入,例如一个数MB大小的照片,通过某种Hash运算后得到私钥的方法。这个方案的安全性还是不错的,同时可以防止盗私钥木马根据特征扫描私钥。文本形式存储私钥是有特征的,而一个照片文件却难以察觉,即使放在云盘等第三方存储空间中都是安全的。

热点内容
数字货币k特币是什么意思 发布:2025-07-09 10:48:50 浏览:759
eth越来越少 发布:2025-07-09 10:46:47 浏览:644
区块链支付EDT 发布:2025-07-09 10:46:45 浏览:855
以太坊挖到块 发布:2025-07-09 10:46:43 浏览:291
以太坊联盟连与私有链 发布:2025-07-09 10:45:26 浏览:780
无矿机挖比特币 发布:2025-07-09 10:25:05 浏览:76
安阳有玩以太坊挖矿的么 发布:2025-07-09 10:17:06 浏览:44
Btc钱包1mbtc是多少 发布:2025-07-09 10:15:32 浏览:770
中国大陆怎么购买能提币btc 发布:2025-07-09 10:11:42 浏览:919
5月6日数字货币价格 发布:2025-07-09 10:01:49 浏览:187