Post
Topic
Board Speculation
Merits 5 from 2 users
Re: Suggestions for segwit paper wallet generation
by
death_wish
on 31/05/2022, 14:09:30 UTC
⭐ Merited by JayJuanGee (4) ,bitebits (1)
Hi, I read here a lot, but do not speak much. This thread has the majority of advanced users, so I am asking here...
I have used public/private keys, generated locally offline from the code at https://bitcoinpaperwallet.com (public key starts with a 1).

I wish to move them to a segwit paper wallet (public key starts 3), I understand there are technical advantages (cheaper miner fees?). What's the best way to generate offline segwit key pairs? I found https://segwitaddress.org/ but have no experience with it.

Then, I assume I should just sweep them into a local wallet (I prefer Electrum), then send them to the new segwit public address. Suggestions or advice?

Follow Heater’s adviceusing a computer that is never connected to the Internet, if you are creating a cold-storage paper wallet.

You don’t want the address that starts with a 3.  Native Segwit addresses begin with the string bc1.  (Neither of these is a public key.)

<Snip terse, confusing non-explanation loaded with tech jargon*—would take 20 printed pages to explain sensibly.>

Some of the subforums here have smart regulars who are generous with their time answering questions.  Beginner-level guidancetechnical support (for Electrum) — the development forum is great if you want to dig deeply into this, but you shouldn’t post there unless you already have advanced technical knowledge.

Segwit will indeed save you on fees, when you send the money from the Segwit address.  The fee savings is not arbitrary:  Spends from Segwit make better use of limited block space, and use a neat trick to expand the block size; accordingly, the bytes in Segwit spends are accounted in a way that results in paying less fees.  It also has many other advantages, but they don’t seem relevant to your use case; the Segwit upgrade is necessary for many things built on top of Bitcoin, such as the Lightning Network.  Segwit activation on the network also closed a little loophole in the mining algorithm that let some miners gain an unfair advantage (covert ASICBOOST), but that’s old news and not relevant anymore.


* The address starting with a 3 is a backwards-compatibility “nested Segwit” address.  It a pre-Segwit P2SH (Pay to Script Hash) address; in this case, you would be creating an address from the hash of a script that spends a Segwit output.  It is better than the address that starts with a 1 (P2PKH, Pay to Public Key Hash), but not as efficient as “native Segwit”; accordingly, you would only get part of the Segwit fee savings.  The nested addresses were only necessary during the transition in 2017–2018, maybe even as late as 2019–2020—and only necessary for receiving money from people (or exchanges) with old wallet software, who were unable to send to a native Segwit address.  In 2022, I think it’s long obsolete.

Native Segwit addresses (bech32 and bech32m) are case-insensitive, and they look very different than the older style of Bitcoin addresses.  There are also now multiple versions of Segwit:  Witness Version 0, P2WPKH (Pay to Witness Public Key Hash) or P2WSH (not relevant here); Witness Version 1, P2TR (Pay to Taproot).  I don’t want to complicate the explanation even more here; for what seems like your use case, P2WPKH should be fine.  Segwit was designed with forward compatibility; future witness version numbers may go up to 15.