Scrypt Algorithm – BitcoinWiki

From BitcoinWiki

This is the approved revision of this page, as well as being the most recent.

Enjoyed the article? Share:

Scrypt is the encoding method acting that is using a large memory volume and requires a lot of time for survival. The Scrypt algorithm is implemented for the cryptocurrency mining, which allows making it more complicate for the specialize ASIC miners .
The Scrypt coins differ from Bitcoin as the latter uses the SHA-256 algorithm. Unlike the scrypt cryptocurrency, Bitcoin and other currencies on this algorithm are well mined on ASIC ( the devices that are specifically developed only for solving the mining tasks ). It frequently causes a veto feedback by the creators of the scrypt cryptocurrencies, since it gives an advantage to the miners with large resources and violates the decentralization .
Bitcoin that isn ’ metric ton using the Scrypt is just one exemplar. Which is why the scrypt coins delight popularity among miners that are using processors ( CPU ) or video cards ( GPU ) for mine. Let ’ s review the scrypt algorithm, its peculiarities and advantages .

How Scrypt works ? [edit ]

Scrypt algorithm
Before we review the scrypt algorithm coins in relation back of mine, let ’ s have a look at the system itself .
The scrypt algorithm was invented by Colin Percival as the cryptoprotection of the on-line overhaul to keep the backup copies of UNIX-like OS. The working principle of the scrypt algorithm lies in the fact that it artificially complicates the choice of options to solve a cryptanalytic tax by filling it with “ randomness ”. This noise are randomly generated numbers to which the scrypt algorithm refers, increasing the work clock time .
If the scrypt checks the user ’ randomness key, this stay will be about inconspicuous. however, if a fraudster tries to break down the core using the exhaustive search method, the Scrypt complicates it : together, all operations take a draw of time .
For any scrypt mint it means that its mining will require a big number of participants in the network, and each of them will do a separate of knead .

Scrypt mine [edit ]

When choosing a cryptocurrency using the scrypt algorithm, it is besides very important to know where to mine it .
Unlike SHA-256, the scrypt mining needs fewer resources, thanks to which the currencies using the scrypt algorithm can be successfully mined with diverse tools. These are the scrypt consortium, and the scrypt miner CPU and GPU, and flush scrypt asic miner : the manufacturers of ASIC equipment besides look for the ways to “ open ” the algorithm ’ sulfur mine scrypt and implement the scrypt function .
When a newcomer starts studying the scrypt algorithm, the main question appears – what to use for mining. The independent parameter when choosing it becomes the scrypt hashish rate, i.e. the performance required from the equipment, which will allow to mine the cryptocurrency .
To calculate the scrypt hash, i.e. find that identical solution that will allow to create a new blocking in the blockchain, the know miners recommend to use GPU. Video cards have more performance than processors, furthermore, they are besides beneficial at the perform of one operation. Scrypt miner AMD will suit best : these television cards possess a bigger operation than Nvidia, and assembling a farm of them is cheaper. Scrypt mining besides requires bigger memory volumes .
By the way, the manufacturers of ASIC miners besides don ’ triiodothyronine stand still. today, ASIC can cope with the Scrypt algorithm, but the developers continue this technolofical war to let the miner that selected the scrypt algorithm with the less generative equipment besides have the possibility to mine .
however, quite large resources are required to start the scrypt solo mine. An option room are the scrypt pools. These are the communities, where you provide the exponent of your equipment to join the forces. Such an access gives a better resultant role than the solo mine, but the reinforce becomes lower .
To find the best pools for the scrypt mine of the cryptocurrencies, you have to pay attention to their orientation course. There are pools customized to only one coin, and there are the multicurrency ones, where one can switch from one cryptocurrency to another. In relation to the stability of the income, the best scrypt pools belong to the first category .

Cryptocurrency on Scrypt [edit ]

The main question after you ’ ve understand what the scrypt algorithm is, is what to mine on it. The first cryptocurrency using the scrypt algorithm is Litecoin. All forks of Litecoin besides work on it. For case, the less popularity is on the algorithm of the scrypt mint Dogecoin .
Among other cryptocurrencies using the scrypt algorithm there are the coins ProsperCoin, CashCoin, MonaCoin, Mooncoin and many others .

algorithm [edit ]

The algorithm includes the follow parameters :

  • Passphrase – The string of characters to be hashed.
  • Salt – A string of characters that modifies the hash to protect against Rainbow table attacks
  • N – CPU/memory cost parameter.
  • p – Parallelization parameter; a positive integer satisfying p ≤ (232− 1) * hLen / MFLen.
  • dkLen – Intended output length in octets of the derived key; a positive integer satisfying dkLen ≤ (232− 1) * hLen.
  • r – The blocksize parameter, which fine-tunes sequential memory read size and performance. 8 is commonly used.
  • hLen – The length in octets of the hash function (32 for SHA256).
  • MFlen – The length in octets of the output of the mixing function (SMix below). Defined as r * 128 in RFC7914.
 Function scrypt
Passphrase: Bytes  string of characters to be hashed
Salt: Bytes  random salt
CostFactor (N): Integer  CPU/memory cost parameter 
BlockSizeFactor (r): Integer  blocksize argument ( 8 is normally used )
ParallelizationFactor (p): Integer  Parallelization parameter. (1..232-1 * hLen/MFlen)
DesiredKeyLen: Integer  Desired key length in bytes
DerivedKey: Bytes  array of bytes, DesiredKeyLen long

 Step 1. Generate expensive salt
blockSize ← 128*BlockSizeFactor  //Length ( in bytes ) of the SMix mix function output ( e.g. 128*8 = 1024 bytes ) 

 Use PBKDF2 to generate initial 128*BlockSizeFactor*p bytes of data ( e.g. 128*8*3 = 3072 bytes )
 Treat the result as an array of p elements, each entry being blocksize bytes ( e.g. 3 elements, each 1024 bytes )
[B0...Bp−1] ← PBKDF2HMAC-SHA256(Passphrase, Salt, 1, blockSize*ParallelizationFactor)

 Mix each barricade in B 2CostFactor times using ROMix affair ( each parry can be mixed in parallel )
 for i ← 0  to p-1  do
Bi ← ROMix(Bi, 2CostFactor)

 All the elements of B is our newly `` expensive '' salt
expensiveSalt ← B0∥B1∥B2∥ ... ∥Bp-1 //where ∥ is concatenation

 Step 2. Use PBKDF2 to generate the desired number of bytes, but using the expensive salt we just generated
 return PBKDF2HMAC-SHA256(Passphrase, expensiveSalt, 1, DesiredKeyLen);
Function ROMix(Block, Iterations)

 Create Iterations copies of X
X ← Block
for i ← 0 to Iterations−1 do
Vi ← X
X ← BlockMix(X)

for i ← 0 to Iterations−1 do
 //Convert inaugural 8-bytes of the last 64-byte block of X to a UInt64, assuming little endian ( Intel ) format
j ← Integerify(X) mod N 
X ← BlockMix(X xor Vj)

return X

Where Integerify is a bijective officiate from { 0, 1 } thousand to { 0, … ,2k− 1 } .

Function BlockMix(B):

 The block B is r 128-byte chunks (which is equivalent of 2r 64-byte chunks)
r ← Length(B) / 128;

 Treat B as an array of 2r 64-byte chucks
[B0...B2r-1] ← B

X ← B2r−1for i ← 0 to 2r−1 do
X ← Salsa20/8(X xor Bi)  //Salsa20/8 hashes from 64-bytes to 64-bytes
Yi ← X

return ← Y0∥Y2∥...∥Y2r−2 ∥ Y1∥Y3∥...∥Y2r−1

Where Salsa20/8 is the 8-round interpretation of Salsa20 .

See besides on BitcoinWiki [edit ]

  • Key derivation function
  • Argon2, winner of the Password Hashing Competition
  • crypt, password storage and verification scheme
  • PBKDF2, a widely used standard password-based key derivation function
  • bcrypt, password hashing function using Blowfish

Sources [edit ]

Scrypt algorithm coins – wikipedia
Scrypt asic miner – Coinchoose
Scrypt algorithm – Prostocoin
Scrypt asic miner – Cryptocompare

source :
Category : Finance

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *