Bitcoin Forum
May 09, 2024, 09:46:06 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: 难度与算力  (Read 5311 times)
quickhorse (OP)
Newbie
*
Offline Offline

Activity: 20
Merit: 0


View Profile
November 29, 2013, 05:53:38 PM
 #1

我是个技术宅,对于btc而言,是个新人。最近从各个材料上学习了一些btc的理论,个人总结了一些东西,也想写出来给大家分享。
本文的内容,是从技术上来真正解释算力、难度的含义。

1.hash,哈希
学过数据结构的都应该知道hash,但这里也还是再说明一下。hash的含义就是用一个较短的文字/数字,来表示一个较长的文字/数字。
把较长的数字,变为较短的数字的计算过程,叫做hash算法。同时,hash算法从数学上保证了,只能从长数字变为短数字,从短数字无法反过来得到长数字。
如果两个不同的长数字,通过hash算法得到了相同的短数字,就叫冲突。

2.sha256,
是一种hash算法,到目前为止,还没有发现冲突。可以将任意长度的文字/数字,变为256个位的短数字。
当然,如果你的原始数字只有一个位,算法首先会把他变成512个位,然后再进行计算。得出的结果也是256个位。

3.block,块
每个块里,都包含了高度(也就是第几个块,目前是272166),前一个块的hash值,当前时间,所有在这段时间内发生的交易,自己这个块的hash值,以及一个随机数(nonce)。六个段。
下面来说明一下这些这些东西计算的次序。
首先将所有的交易,通过复杂的sha256,得出一个256位的结果。再加上nonce、高度、时间、前一hash,将这五个内容计算sha256。如果计算的结果满足条件,(前面有很多的0),就成功了。

4.算力
上面这些,很多地方都写了,我不过是多说明一下,而下面的内容,网络上就没看到过了,是我自己的理解。
完成上面所说的,对nonce、高度、时间、前一hash,交易hash,进行一次计算,得出一个新的hash。就是1个算力。

5.nonce
nonce是一个32位的数字。对于算力的计算来说,除了nonce,其他的都是都是固定的。而32位的nonce,从0x00000000到0xffffffff,要进行4G次计算。如果4G次计算还不能满足条件呢?
那就是交易hash的变化;将同样这些交易,不过是重新排序,就可以得出不同的交易hash。
目前的算力是7P每秒,在理论上的10分钟内,总计要进行4000+P次计算。也就是有1G个不同的交易hash,每个被计算了4G次。
当然,时间的变化,也可以造成结果hash的不同。

6.难度
从概率上讲,完成了4G次计算,那么就会出现一个前面是32bit个0的hash结果(从显示上看,是8个)。而难度1,就是前面要求32bit个0。
换句话说,难度1,等同于4G次计算。是在10分钟内完成的4G次计算。也就是6.666M每秒的算力。
大家可以到难度算力图上去看看,难度与算力的坐标关系,就是6.666M。

7.算力的计算
算力是根据概率估算出来的。
如目前难度是600M,那么如果有4P每秒的算力,从概率上讲,通过10分钟的计算,会出现一个满足条件的结果。
而如果目前的平均出块时间是8分钟,那估算的算力就是5P每秒。
1715291166
Hero Member
*
Offline Offline

Posts: 1715291166

View Profile Personal Message (Offline)

Ignore
1715291166
Reply with quote  #2

1715291166
Report to moderator
1715291166
Hero Member
*
Offline Offline

Posts: 1715291166

View Profile Personal Message (Offline)

Ignore
1715291166
Reply with quote  #2

1715291166
Report to moderator
Activity + Trust + Earned Merit == The Most Recognized Users on Bitcointalk
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
zhuo2014
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
December 27, 2013, 01:19:52 AM
 #2

赞一个,写得好。

知其然,不知其所以然。
现在有耐心,能仔细学习研究的人少
yufubtcltc
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
December 30, 2013, 11:09:08 AM
 #3

还是似懂非懂,需要多看几遍,谢谢!
GrahamBen
Newbie
*
Offline Offline

Activity: 56
Merit: 0


View Profile
January 10, 2014, 09:10:05 AM
 #4

学习+收藏,
看了几遍了
估计还得看几遍
eureka
Sr. Member
****
Offline Offline

Activity: 301
Merit: 250


网络·自由·客


View Profile WWW
January 17, 2014, 07:41:31 AM
 #5

我以为这是必修课

dac.xyz 
对数字货币深度思考:http://8btc.com/thread-109365-1-1.html
rld71532888jiuji@163.com
Jr. Member
*
Offline Offline

Activity: 53
Merit: 10


View Profile
June 25, 2016, 08:54:54 AM
 #6

理解起来还是有点难度啊
kpp1440250jiab
Newbie
*
Offline Offline

Activity: 31
Merit: 0


View Profile
July 04, 2016, 08:51:50 AM
 #7

现在有耐心,能仔细学习研究的人少
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!