submitted by /u/arslanbajwa [link] [comments] |
source https://www.reddit.com/r/btc/comments/gwa96s/satoshi_nakamoto_and_bitcoin/
This blog brings you the best Cryptocurrency & Blockchain, ICO & P2P and Exchange & Laws news. Also contains technology and research based post from all around the world every single day. Get informed! Think Future!
This seems very deceitful and misleading. If you are proud to be holding Bitcoing Cash BCH - why all the trickery with the BTC and Bitcoin.com domain. Why not BitcoinCash.com? it's say something about the operation that's going on here. I don't care how cool your coin might be, until you break ties with bitcoin (btc), your coin will get no consideration from me.
Hi all, I want to hear your strongest arguments for and against the idea of “opting out” with Bitcoin. I’m not quite a maxi and believe there is a place for altcoins (though far less than exist today), but let’s focus on this Bitcoin narrative here.
“Defund the state, buy bitcoin” — you see it all over Twitter. But how does this actually work if we still have to pay taxes on every transaction? What does opting out look like/ to what extent?
I want to believe but am not enough of an Econ nerd to validate or invalidate the idea myself. Look forward to hearing your thoughts.
Last release of Core is amazing !
The main new feature is sortedmulti
descriptor. This allows you to import your multisig setup in Core almost as if it was Electrum when combine to the new PSBT export in GUI !
As it needs command line and some weird checksum, you also need to input very long command in the console and if you made a mistake, you cannot copy the last command you made. So take your time when the commands are long to check everything and don't miss anything, use copy paste before validating the long command. You only have to do this once fortunately :)
I detail here how you do it with a k
of n
setup, good luck:
n
xpub and fingerprint of all your hardware wallets signers (basically, you will do some command like ./hwi.py enumerate
to get the fingerprint fffffff
and ./hwi.py -f fffffff getxpub derivation_path
for each of the hardware wallets used in the multisig setup, for air-gapped ones you normally have native way to get xpub). If you use other tools, remember it must be xpub formated, not Zpub or Ypub (which may represent the same key but very differently, use https://jlopp.github.io/xpub-converter/ at your own risk if you don't want to use HWI).createwallet "Name_wallet" true true
, the private key are also disabled. Load this wallet in command line of QT (you must select Name_wallet
in Qt at the top of command line, or load it with loadwallet
). All command must be run with this wallet loaded (don't load another one in between ....)sh(sortedmulti(k,...))
, for a P2WSH (native segwit) setup wsh(sortedmulti(k,...))
, and for a P2SH-P2WSH (segwit) sh(wsh(sortedmulti(k,...)))
because we all want to spare fees, I will take P2WSH for what happens next but you know how to get other addresses type. Our descriptors will look like wsh(sortedmulti(k,[path1]xpub1.../0/*,[path2]xpub2.../0/*,...,[pathn]xpubn/0/*))
for receiving addresses and wsh(sortedmulti(k,[path1]xpub1.../1/*,[path2]xpub2.../1/*,...,[pathn]xpubn/1/*))
for change. pathm
is the derivation path of the m
th xpub of our setup (order of xpub doesn't matter). But be careful: for a derivation path like m/44'/0'/0'/312
you must write pathm
as fffffff/44h/0h/0h/312
where fffffff
is the fingerpring of the xpub m
given by HWI and h
replace '
(else it is harder to input in command-line, you need to input \'
instead of '
each time)getdescriptorinfo "wsh(sortedmulti(k,[path1]xpub1.../0/*,[path2]xpub2.../0/*,...,[pathn]xpubn/0/*))"
and getdescriptorinfo "wsh(sortedmulti(k,[path1]xpub1.../1/*,[path2]xpub2.../1/*,...,[pathn]xpubn/1/*))"
. In the two cases, the result is a JSON with a new descriptor (we don't care of it) and a field like so "checksum": "nefdbkdf"
. This second string is what we want, we name checksum0
and checksum1
the checksum results of the two calls.importmulti '[{"desc": "wsh(sortedmulti(k,[path1]xpub1.../0/*,[path2]xpub2.../0/*,...,[pathn]xpubn/0/*))#check_sum0", "timestamp": birth_timestamp, "range": [0,2000], "watchonly": true, "keypool": true}]'
. You recognize the same first descriptor and we append checksum0
to it with a #
. If you didn't use this wallet setup before (in Electrum ...), set birth_timestamp
to "now"
else input a timestamp close to the first time you used the wallet to avoid a full rescan (if you don't remember, delete it from the call and enjoy a coffee during full rescans)importmulti '[{"desc": "wsh(sortedmulti(k,[path1]xpub1.../1/*,[path2]xpub2.../1/*,...,[pathn]xpubn/1/*))#check_sum1", "timestamp": birth_timestamp, "range": [0,2000], "watchonly": true, "internal": true}]'
. Notice that keypool
is not set, so it is set to false: the keypool is needed to show you receiving addresses one by one to avoid addresses reuse. For change addresses, we need to set internal
to true so that they are added to the outputs as change automatically.And you are DONE ! You should get the exact same addresses than Electrum and you can created receiving addresses in Qt ! To send money, just go to the send section, use the new coin control feature and export a partially signed transaction. You can use HWI or Electrum to sign it with your hardware wallets !
Notice: You can import more or less than 2000 addresses of each type. If less, blockchain rescan is faster but you may need to redo what we have done here later when all addresses will have been used once. If more, it is the contrary.
You now have the most possibly secure setup in one software: multisig with hardware on the full node wallet. When Bitcoin Core 0.21.0 will be out, we will also have native descriptor wallet so maybe we will have HD version of this. But for now, this is the best you can do ! Enjoy :)
P.S. : if you like doing things in one shot you can do the last two steps in one big command: importmulti '[{"desc": "wsh(sortedmulti(k,[path1]xpub1.../0/*,[path2]xpub2.../0/*,...,[pathn]xpubn/0/*))#check_sum0", "timestamp": birth_timestamp, "range": [0,2000], "watchonly": true, "keypool": true}, {"desc": "wsh(sortedmulti(k,[path1]xpub1.../1/*,[path2]xpub2.../1/*,...,[pathn]xpubn/1/*))#check_sum1", "timestamp": birth_timestamp, "range": [0,2000], "watchonly": true, "internal": true}]'
Once upon a time there was an evil totalitarian emperor. He was the emperor of Fiatville. In Fiatville, they steal your money whenever you do anything.
So one day, a brave Agorist known as Satoshi Nakamoto, decided to start a peaceful rebellion, and many followed him as he led them many miles away to a new land. This land was rich with milk and honey. They called this land, Bitcoinville.
Satoshi Nakamoto ruled righteously, and gave everyone freedom. Bitcoinville was a prosperous, beautiful city. But then on his deathbed, he gave the crown to his son, Gavin.
Gavin was a righteous heir, and decided that he wanted to get rid of monarchy. So Gavin appointed a commitee to rule instead of himself as king. This did not go as planned though, as his appointees were saboteurs and spies from Fiatville. King Gavin was assasinated.
Bitcoinville grew very very prosperous, and boomed with attractions and functions. But one day, there was so many people, and so many attractions, that people began to be crowded on the roads. It would take too long to go anywhere, because the roads were to few and too narrow. The people of Bitcoinville began to grow miserable, some even left the city.
Many begged the commitee of Bitcoinville to build and widen the roads, and expand the city. But the commitee refused, saying that expanding too far would open the city up to attack, and we must remain compact in order to be secure.
So one day, a brave warrior, known as Sir Ver, decided to take people from the city of Bitcoinville and leave it for a land soon to be known as BitcoinCashVille. Except he didn't call it BitcoinCashVille, he and his followers called it The Real Bitcoinville.
Ver's plan was to lure in merchants and travellers by telling them it was The Original Bitcoinville, and that he had solved the urban planning crisis of transportation by widening the roads.
Except, what was the point of wider roads if your land is desolate and you have no grandiose city for the roads to lead to?
BitcoinCashVille forever remained with a low cap population, and continually widened and polished its roads, but never had a real city to use them. They even upgraded their stone slab roads to asphalt roads, but still nobody wanted to use them.
Then one day the town's Joker, Sir Wright, was fired by King Ver. Sir Wright rebelled against Ver, and took an army of handicapped people to BitcoinSVVille, under the guise that Asphalt wasnt the original road system, and that the Original Bitcoinville had stone slabs!
There was now three Bitcoinvilles, the real thing which was crowded out forever, an emptier version of it with no city of people, and a bunch of intellectual caveman banging rocks together in a desert, forever.
The end.