@@ -3,3 +3,164 @@ sidebar_position: 11
3
3
---
4
4
5
5
# ASICBoost
6
+
7
+ Introduction to a method to optimize mining power—ASICBoost.
8
+
9
+ In the field of Bitcoin mining, as competition becomes increasingly fierce, various optimization techniques have
10
+ emerged. Among them, ASICBoost is a technology that can significantly improve the efficiency of mining machines. This
11
+ article will analyze what ASICBoost is from a professional technical perspective, its implementation principles, why it
12
+ can improve the efficiency of mining machines, and how mining pools support ASICBoost.
13
+
14
+ ## What is ASICBoost
15
+
16
+ ASICBoost is a technology proposed by Dr. Timo Hanke in 2016 that improves Bitcoin mining efficiency by optimizing the
17
+ SHA-256 hash calculation process. ASICBoost reduces the power consumption and time required for each hash calculation by
18
+ eliminating certain repetitive steps in the hash computation. This optimization can be implemented on existing ASIC
19
+ hardware without requiring physical modifications to the chip.
20
+
21
+ For a detailed understanding of the ASICBoost technology, please refer to the
22
+ paper: [ AsicBoost - A Speedup for Bitcoin Mining] ( https://arxiv.org/pdf/1604.00575 ) .
23
+
24
+ ## Introduction to ASICBoost Principles
25
+
26
+ The core idea of ASICBoost is to utilize intermediate states of the SHA-256 hash calculation. The SHA-256 algorithm is
27
+ an iterative process where each round of computation depends on the output of the previous round. ASICBoost reduces the
28
+ total computation by introducing "intermediate state reuse" in the hash calculation.
29
+
30
+ Specifically, ASICBoost can be implemented in two ways:
31
+
32
+ 1 . ** Explicit ASICBoost** :
33
+ - Explicit ASICBoost is a public and transparent method that optimizes proof-of-work (PoW) calculations by modifying
34
+ specific fields in the Bitcoin block header. This method requires changes to a part of the Bitcoin protocol and
35
+ can be detected by other nodes on the network.
36
+ - Explicit ASICBoost is mainly achieved by modifying the version field in the block header. This method requires
37
+ miners to make specific optimizations in their mining equipment and software. By adjusting the version field in
38
+ the block header to produce the same intermediate state, it reduces the computational load. Different version
39
+ numbers can map to the same intermediate hash state, allowing the reuse of previously cached intermediate states
40
+ when calculating new hashes.
41
+
42
+ 2 . ** Covert ASICBoost** :
43
+ - Covert ASICBoost is a concealed method that optimizes PoW calculations without altering significant fields in the
44
+ block header. This method is difficult for other nodes on the network to detect, hence the term "covert."
45
+ - Covert ASICBoost is more complex and typically requires specific circuit design and optimization at the hardware
46
+ level to reduce the computational load.
47
+
48
+ ** Differences** :
49
+
50
+ - ** Transparency** : Explicit ASICBoost is open and transparent, easily detectable; covert ASICBoost is concealed and
51
+ hard to detect.
52
+ - ** Implementation** : Explicit ASICBoost mainly involves modifying the version field in the Bitcoin protocol; covert
53
+ ASICBoost involves optimization through hardware circuit design.
54
+ - ** Community Reaction** : Covert ASICBoost, being hard to detect and considered potentially unfair, is controversial
55
+ within the community. Explicit ASICBoost, being transparent, faces relatively less controversy.
56
+
57
+ Currently, the mainstream implementation of ASICBoost is explicit ASICBoost because it is relatively simple and easy to
58
+ implement, and it is also more detectable by other network nodes.
59
+
60
+ ## Reasons for Increased Efficiency
61
+
62
+ The primary reasons ASICBoost can improve mining machine efficiency are:
63
+
64
+ 1 . ** Reduced Computation** : By reusing intermediate states, ASICBoost reduces the total computational load required for
65
+ each hash calculation. This means that mining machines can perform more hash calculations in the same amount of time,
66
+ increasing overall hash power.
67
+
68
+ 2 . ** Lower Power Consumption** : With fewer unnecessary computational steps, mining machines consume less power for each
69
+ hash calculation. This is particularly important for large-scale mining farms, as electricity costs are a significant
70
+ part of their operating expenses.
71
+
72
+ 3 . ** Hardware Optimization** : ASICBoost does not require physical modifications to existing ASIC hardware and can be
73
+ implemented through firmware or software updates. This allows existing mining machines to quickly deploy and utilize
74
+ this technology to improve mining efficiency.
75
+
76
+ ## How Mining Pools Support ASICBoost
77
+
78
+ To support ASICBoost, mining pools need to make some adjustments and configurations. This mainly involves the
79
+ verification and management of the work submitted by miners. Specifically, mining pools need to:
80
+
81
+ 1 . ** Work Task Generation** : When generating work tasks, the mining pool needs to create tasks that can utilize
82
+ ASICBoost. This includes adjusting the version field in the block header to fit the ASICBoost computation model.
83
+
84
+ 2 . ** Work Verification** : The solutions submitted by miners need to be verified by the mining pool. The mining pool must
85
+ be able to recognize and validate the hash calculation results using ASICBoost to ensure their legality and validity.
86
+
87
+ 3 . ** Software Compatibility** : The mining pool needs to update its software to ensure compatibility with miners using
88
+ ASICBoost. This includes protocol adjustments and optimizations to support ASICBoost features.
89
+
90
+ 4 . ** Collaboration and Coordination** : Mining pool operators need to collaborate with miners and ASIC manufacturers to
91
+ ensure the smooth implementation and deployment of ASICBoost technology. This includes providing technical support
92
+ and assistance to help miners implement and optimize ASICBoost.
93
+
94
+ ## Stratum Protocol Changes
95
+
96
+ The [ Stratum protocol] ( stratum-protocol.md ) is a commonly used communication protocol between miners and mining pools.
97
+ To support ASICBoost technology, mining pools can make corresponding adjustments and optimizations through the Stratum
98
+ protocol. This includes:
99
+
100
+ ** Protocol Extensions** : Mining pools can extend the Stratum protocol to add support for ASICBoost. This includes
101
+ defining new message types and fields to transmit ASICBoost-related information. Compared to the ordinary Stratum
102
+ protocol, ASICBoost extends the following plugins:
103
+
104
+ * "version-rolling"
105
+ * "minimum-difficulty"
106
+ * "subscribe-extranonce"
107
+
108
+ ** mining.configure** : The mining pool can send ASICBoost-related configuration information to miners via the
109
+ mining.configure message. This includes specifying the method of using ASICBoost and version field adjustments, among
110
+ other things. This is also a way to distinguish ASICBoost miners from ordinary miners.
111
+
112
+ ``` json
113
+ {
114
+ "method" : " mining.configure" ,
115
+ "id" : 1 ,
116
+ "params" : [
117
+ [
118
+ " minimum-difficulty" ,
119
+ " version-rolling"
120
+ ],
121
+ {
122
+ "minimum-difficulty.value" : 2048 ,
123
+ "version-rolling.mask" : " 1fffe000" ,
124
+ "version-rolling.min-bit-count" : 2
125
+ }
126
+ ]
127
+ }
128
+ ```
129
+
130
+ ** Using the version-rolling Plugin** : The version-rolling plugin is a crucial part of ASICBoost, used to adjust the
131
+ version field in the block header. Mining pools can send version field adjustment information to miners via the
132
+ version-rolling plugin to support the ASICBoost computation model.
133
+
134
+ ``` json
135
+ {
136
+ "method" : " mining.configure" ,
137
+ "id" : 1 ,
138
+ "params" : [
139
+ [
140
+ " version-rolling"
141
+ ],
142
+ {
143
+ "version-rolling.mask" : " 1fffe000" ,
144
+ "version-rolling.min-bit-count" : 2
145
+ }
146
+ ]
147
+ }
148
+ ```
149
+
150
+ The mask field specifies the mask for the version field, and the min-bit-count field specifies the minimum number of
151
+ bits for version adjustment. These two fields determine the range that the version can be adjusted.
152
+
153
+ When handling work submitted by ASICBoost miners, the mining pool needs to adjust and verify the block header
154
+ accordingly based on this configuration to correctly package the transactions.
155
+
156
+ For more details, please refer
157
+ to [ Stratum Extensions] ( https://github.com/slushpool/stratumprotocol/blob/master/stratum-extensions.mediawiki ) .
158
+
159
+ ## Conclusion
160
+
161
+ As a technology to optimize Bitcoin mining efficiency, ASICBoost significantly improves the computational efficiency and
162
+ energy efficiency of mining machines by reducing repetitive steps in the SHA-256 hash calculation. Its implementation
163
+ principle mainly relies on reusing intermediate states, which can reduce computation and lower power consumption. Mining
164
+ pools can support ASICBoost technology through appropriate adjustments and configurations, providing a more efficient
165
+ mining environment for miners. As the Bitcoin network continues to develop, innovative technologies like ASICBoost will
166
+ play an important role in improving mining efficiency and reducing operational costs.
0 commit comments