This is very difficult.
https://bitcoinmagazine.com/culture/diy-bitcoin-private-key-project
Is a casino dice not enough? 256 bits of dice is surely random enough and does not require you to trust an RNG. Your suggestion of random.org requires to trust random.org RNG and your computer and the network connection between them. It is inferior to dice in my opinion as it involves more trust required than an actual physical dice in your hands.
Have you read that blog post? That is definitely a more complicated method than I recommended (typing your 256 bits of dice entropy into multiple open source tools on an airgapped computer and getting yourself a nice deterministic wallet of endless addresses and private keys).JohnnyDoe said:
https://bitcoinmagazine.com/culture/diy-bitcoin-private-key-project
Anyway, you are over complicating it. Just buy a Trezor.
Click to expand...
It is in practice, but it is not entirely random: The three-dimensional dynamics of the die throw
Indeed, but we are talking of pure theory here.bunchofmolecules said:
Have you read that blog post? That is definitely a more complicated method than I recommended (typing your 256 bits of dice entropy into multiple open source tools on an airgapped computer and getting yourself a nice deterministic wallet of endless addresses and private keys).
Click to expand...
Since OP is probably neither a chaos expert nor a programmer, for practical purposes it is less risky for him to “trust” Trezor.bunchofmolecules said:
In the end you recommend the OP to use Trezor, while their question was how to generate a private key without trusting 3rd parties such as Trezor.
Click to expand...
Since any 256bit hex number is also a private key we just have to generate a random number, nothing special is required.var crypto = require('crypto');
privateKey = crypto.randomBytes(32).toString('hex');
console.log(privateKey);
Click to expand...
import random
import ecdsa
def generate_wallet():
# Generate a random private key
private_key = random.getrandbits(256)
# Create a public key from the private key
public_key = ecdsa.SigningKey.from_secret_exponent(private_key, curve=ecdsa.SECP256k1).get_verifying_key().to_public_key()
# Get the Bitcoin address from the public key
address = ecdsa.util.encode_point(public_key, 'bin').decode('hex')[12:]
return private_key, address
if __name__ == '__main__':
private_key, address = generate_wallet()
print('Private key:', private_key)
print('Address:', address)
Click to expand...
id advise strongly against it. If you have to ask, the chances of errors are high.azb1 said:
Hello Everyone....
I want to store my bit coin for Long-term....I do not want to trust any third party app/tools for the same....My plane is to create my own Bitcoin address and Private Key....without using any third party tool....Anybody know how to do this ?
Is anybody try doing this ?
Thanks
Click to expand...
this is the underlying problem. How to achieve full randomness. Very difficult to do and what one think is random mostly isnt random at all. stated primitively, its why ai can construct nice sounding language or one can have automatic text correction services etc.latindev said:
Ok as a developer my first response is: Do not re-invent the god damn wheel!... But here is how you do it:
- Get the bip39 list in the language of your preference (here is the english one bips/english.txt at master · bitcoin/bips · GitHub).
- Pick 24 words in an fully random way (btw this is not enough to ensure entropy but since you want to do it yourself)
Click to expand...
true, the last sentence is how you can stay completely anonymous if you pickup such type of wallets in the shop and pay with cash.JohnnyDoe said:
This is very difficult.
https://www.mathworks.com/help/stats/generating-random-data.htmlRandom.org can help, if you trust it
https://bitcoinmagazine.com/culture/diy-bitcoin-private-key-project
Anyway, you are over complicating it. Just buy a Trezor.
Click to expand...
JohnnyDoe said:
This is very difficult.
https://www.mathworks.com/help/stats/generating-random-data.htmlRandom.org can help, if you trust it
https://bitcoinmagazine.com/culture/diy-bitcoin-private-key-project
Anyway, you are over complicating it. Just buy a Trezor.
Click to expand...
Every software is hackable, always remember that is not a matter of how but when. For a hacker to hack your Trezor it needs to have access to the device, just like with any other wallet (air gapped wallets included).wellington said:
Trezor can be hacked lol
Ledger collects heaps of information (ip, computer etc)
What you want is a airgapped HW wallet - something like Ngrave etc or something card.
Click to expand...
100% that's why in my comment I said picking 24 words from the bip39 list is not enough to secure a decent amount of entropy, humans tend to select some words over others and that's why it's better to use a software that tries to get them as randomly as possible than doing it manually.JackAlabama said:
id advise strongly against it. If you have to ask, the chances of errors are high.
Best buy a trezor and follow the best practices which are online since many years... and it will be fine.
this is the underlying problem. How to achieve full randomness. Very difficult to do and what one think is random mostly isnt random at all. stated primitively, its why ai can construct nice sounding language or one can have automatic text correction services etc.
Click to expand...
JosephLL said:
1 buy laptop, make sure its vacuum packed
2 open it. Tear up & destroy its lan and wifi and bluetoorh electeical circuits.
3 flip a coin 160 times , make sure you do it alone. Mark each outcome on paper.
4 copy python script on laptop and manually type the outcome string from step3: 100010101111....
5 burn the paper, laptop. Bury the coin somewhere.
6 keep the seed passphrase in yourh head.
Click to expand...