Ethereum: Understanding the creation of the address and role of an ordinary library
In Blockchain Ethereum, the address is a key aspect that guarantees unique digital identities for each user and transactions. The standard Ethereum customer, including the control line interface (CLI address), is based on a random numbers generator to create addresses. However, it should be understood whether this library really uses randomness or whether there are deterministic aspects.
seed value
When creating a new address, the bookstore is random, it is initiated with the value of seeds that can be set during initialization using Setrandomvalue (). The seed value is determined by the model of random numbers generated by the library.
For example:
`Javascript
Const {eters} = requirement ('@ehersproject/eters');
// initiate the library with the value of seeds
Async createaddress () {function
Const Address = Expect Ethers.randombytes (32); // generates a new random address at 32 bytes
Return address;
}
Console.log (Createaddress ());
''
In this example, the "Setrandomvalue () function is used to initialize the" random "library with a specific seed value. This means that if the same value as the seeds is supplied again, it generates the same sequence of random numbers.
Determinism
The deterministic aspect of the "random" library can be observed using the same seed value several times. For example:
Javascript
Const Address1 = expect ethers.randombytes (32);
Const Address2 = expect Ethers.randombytes (32);
Console.log (address1, address2); // Exit: The same random addresses at 32 bytes
` ”
As shown above, generating two different random addresses of the same value as seeds will bring the same output. This shows the deterministic aspect of the “random” library.
Ethereum Generator generator
Ethereum Blockchaine uses the implementation of the Mersenne Twister algorithm, a pseudorandom pseudorandom pseudorandom generator (CSPRNG). According to the Ethereum documentation, the random numbers generator is designed to be unpredictable and resistant to attacks.
It is worth noting, however, that the “random” bookcase in a standard customer is not directly related to this CSPRNG. Instead, he uses a simple algorithm to generate random addresses of 32 bytes that are not designed for encryption.
Application
To sum up, while the “random” library used by the standard Ethereum customer provides an interface to generate random numbers, it does so with certain specific aspects due to its value and implementation of seeds. If you need a really random generation generation mechanism, a different approach may be necessary.
Council
- In the case of cryptographically safe random, consider the use of separate random generators, such as “Crypto-Random”.
- When you create addresses for Ethereum, make sure that the seed value is set to random and unpredictable value.
3
Understanding these aspects, programmers can better manage their needs as a generation of random numbers in the Blockchain Ethereum ecosystem.