I am interested in the exact process for generating the various components of a Bitcoin wallet by hand. Specifically, the components I'm interested in are:

  • Private Key
  • Public Key
  • Public Key Hash
  • Address

The kinds of tools I have in mind for doing the necessary calculations to generate each by hand is:

  • Pencil & Paper
  • Graphing Calculator
  • Any Other Non-electronic Mathematical Tool
  • Your Answer

If the process is not too tedious, I might try and give it go.

  • Unless the calculator can be programmed, I'd expect that it may well take days of work at least to compute an address, and again as much to spend. Given that, are you still interested in an answer? – Pieter Wuille May 17 at 16:19
  • A single mistake in some parts of the process will likely render your funds permanently unspendable. Be very careful here. – chytrik May 17 at 16:58
  • @PieterWuille Ah, it's as I feared. Hearing that it'd probably take days of work, I probably won't have the fortitude to do it myself. That being said, I am still definitely interested in the answer if you're willing to supply it. EDIT: And who knows, maybe some brave soul out there might see your answer and take on the challenge. – Vince May 17 at 17:31
  • @chytrik Ah, I kind of expected that, but one might say that's part of the fun of doing it by hand ;). At any rate, if I were to do this, I'd probably just test it by transferring a few cents worth of Bitcoin to the address. – Vince May 17 at 17:35

"Mining Bitcoin with pencil and paper: 0.67 hashes per day" suggests that doing SHA256 hashes by hand requires on the order of 36 hours of work.

I've done some work on "Verifying Bech32 Checksums with Pen and Paper", though I have not timed myself. That work is slowly being folded into my work on Shamir Secret Sharing (over the Bech32 alphabet) using paper computers in my SSS32 project to design a new master-secret format.

I have never tried to do any elliptic curve operations by hand and I have always assumed that it doing so many modular arithmetic operations over such large numbers is just too tedious and error prone to do by hand.

If you are willing to use a computer to pre-generate a list of nonces (and SHA256 midstates for your nonce/public key for BIP340), it might be plausible that you could compute an ECDSA or BIP340 signature, as the remaining steps only require a few modular arithmetic operations. While such a list of nonces is independent of your private key and your transaction, if that data were leaked it would compromise your private key from your signature, so even pre-computing that data may not be secure enough for whatever your purpose is.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.