Bitcoin Forum
April 10, 2020, 03:48:24 AM *
News: Latest Bitcoin Core release: 0.19.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Anybody attempted to generate a bitcoin address without an electronic device?  (Read 264 times)
StackGambler
Member
**
Offline Offline

Activity: 210
Merit: 67

YouTuber, gambler, and scam-buster.


View Profile
March 16, 2019, 03:10:51 PM
Merited by Welsh (2), ETFbitcoin (1)
 #1

Yes, I am aware that it is pointless and tedious to do this, and we have computers for a reason. I just think that it would be a super interesting experiment to create a bitcoin address using randomness from a physical source (like flipping a coin or rolling dice) and generating the private key/corresponding address from that entropy.

I might sit down one day and do it myself, but if someone else has already done it, then there's no point. It would, of course, be just for fun, and there's no real use to doing this. It would involve creating a secp256k1 pubkey from a private key, manual SHA-256 hashing, and base 58 conversion... basically, a pain in the ass to do manually.

Has anyone heard of someone doing this? I think it'll be rather fun to try.

1586490504
Hero Member
*
Offline Offline

Posts: 1586490504

View Profile Personal Message (Offline)

Ignore
1586490504
Reply with quote  #2

1586490504
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1586490504
Hero Member
*
Offline Offline

Posts: 1586490504

View Profile Personal Message (Offline)

Ignore
1586490504
Reply with quote  #2

1586490504
Report to moderator
Coding Enthusiast
Hero Member
*****
Offline Offline

Activity: 766
Merit: 1475


Novice C♯ Coder


View Profile WWW
March 16, 2019, 03:31:07 PM
Merited by Welsh (7), ETFbitcoin (4), bones261 (3), achow101 (2), LoyceV (2), franckuestein (1), StackGambler (1)
 #2

It is impossible to create a "bitcoin address" without a computer because it will probably take till the end of time for you to perform the necessary mathematics and functions that are involved in the process.

What you may be referring to is creating a "private key" without a computer while using another source of randomness. That can work. Coin flip is an option, since a private key is a 256 bit (binary or zeros and ones) you have to flip the coin 256 times and each time make a note of which side it lands on then you have your private key. Note that you may have to do a check to make sure you didn't produce a number bigger than N (order) even though the chances are minuscule.

But to get the "address" you will need to first do:
  • the Elliptic Curve multiplication which is the hardest thing (keep in mind this is not regular arithmetic like 10 + 10 = 20, this is modular arithmetic like 10 + 10 ≡ 9 (mod 11) with 256 bit numbers)
  • then take the result and perform the SHA256 hash on it (which is less hard compared to previous step but still very hard and time consuming)
  • then perform a RIPEMD160 hash on the result (again nearly as hard as SHA256)
  • and finally do a baseX (58 or 32) encoding which might be the easiest step but still time consuming.

In all the above steps, it is not just about the amount of time it is going to take or the hardness of each step but mostly about the very high possibility of making a mistake. If you do a single operation wrong then your final result is going to be false and any coins that you send to that resulting address is lost for good.

Here is something you can read: https://www.swansontec.com/bitcoin-dice.html

Projects List+Suggestion box
Donate: 1Q9s or bc1q
|
|
|
FinderOuter(0.1.1)Ann-git
Denovo(0.0.0)Ann-git
|
|
|
BitcoinTransactionTool(0.11.0)Ann-git
WatchOnlyBitcoinWallet(3.1.0)Ann-git
SharpPusher(0.10.0)Ann-git
LoyceV
Legendary
*
Offline Offline

Activity: 1820
Merit: 6143


Thick-Skinned Gang Leader


View Profile WWW
March 16, 2019, 05:56:52 PM
 #3

manual SHA-256 hashing
To get you started, there's this: Mining Bitcoin with pencil and paper.

ETFbitcoin
Legendary
*
Offline Offline

Activity: 1974
Merit: 2316

Use SegWit and enjoy lower fees.


View Profile WWW
March 16, 2019, 06:55:22 PM
 #4

There are 2 similar topic in past, you might want to check both :
https://bitcointalk.org/index.php?topic=1534028.0
https://bitcointalk.org/index.php?topic=5031405.0

Coding Enthusiast and members on those topics already mentions lots of things, but additionally you need to be careful with numeral system you're using (whether it's binary, hex or base58)

odolvlobo
Legendary
*
Offline Offline

Activity: 2828
Merit: 1547



View Profile
March 17, 2019, 04:24:32 AM
Merited by Welsh (1)
 #5

You can generate a private key by rolling dice and entering the result at bitaddress.org.

Quote
How do I make a wallet using dice? What is B6?
An important part of creating a Bitcoin wallet is ensuring the random numbers used to create the wallet are truly random. Physical randomness is better than computer generated pseudo-randomness. The easiest way to generate physical randomness is with dice. To create a Bitcoin private key you only need one six sided die which you roll 99 times. Stopping each time to record the value of the die. When recording the values follow these rules: 1=1, 2=2, 3=3, 4=4, 5=5, 6=0. By doing this you are recording the big random number, your private key, in B6 or base 6 format. You can then enter the 99 character base 6 private key into the text field above and click View Details. You will then see the Bitcoin address associated with your private key. You should also make note of your private key in WIF format since it is more widely used.

Buy stuff on Amazon at a discount with bitcoins or convert Amazon points to bitcoins: Purse.io
Join an anti-signature campaign: Click ignore on the members of signature campaigns.
bitmover
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1318


www.bitcointoyou.com


View Profile WWW
March 17, 2019, 01:31:47 PM
 #6

https://m.youtube.com/watch?v=ieHoQ4sGuEY

In this YouTube video the guy flip a coin many times until he generated a private key.
With the key there are some options, using a computer, to generate your BTC public address.

It's a very informative video and you will understand much better how private keys work.

Chris!
Legendary
*
Offline Offline

Activity: 1350
Merit: 1094



View Profile
April 06, 2019, 04:23:13 AM
Merited by bones261 (1)
 #7

You can generate a private key by rolling dice and entering the result at bitaddress.org.

Quote
How do I make a wallet using dice? What is B6?
An important part of creating a Bitcoin wallet is ensuring the random numbers used to create the wallet are truly random. Physical randomness is better than computer generated pseudo-randomness. The easiest way to generate physical randomness is with dice. To create a Bitcoin private key you only need one six sided die which you roll 99 times. Stopping each time to record the value of the die. When recording the values follow these rules: 1=1, 2=2, 3=3, 4=4, 5=5, 6=0. By doing this you are recording the big random number, your private key, in B6 or base 6 format. You can then enter the 99 character base 6 private key into the text field above and click View Details. You will then see the Bitcoin address associated with your private key. You should also make note of your private key in WIF format since it is more widely used.


That's essentially what I do, although on an air-gapped system of course.

Roll a die 99x or flip a coin 256x. For a die you just convert the 6 to a 0 and you can plug it right into bitaddress. For the coin toss choose whether heads is going to be a 1 or a 0. I think I tried to input binary on bitaddress and it didn't work properly, but anyway it's probably just quicker to convert it to hex before inputting it anyway. There are simple guides on how to do it manually or you can always use that air-gapped system to compute it as well.

I've done it many times and will continue to do so. Unfortunately, going from private to public key then public key to address is never going to happen with pen and paper. That's okay though! I've come to terms with it.

You could also use a segwit address. I've been eyeing https://segwitaddress.org/bech32 and will try to make a bech32 paper wallet soon.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!