Bitcoin Forum
December 05, 2016, 12:54:08 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 [3]  All
  Print  
Author Topic: how to bury some bitcoins without even installing the client  (Read 14001 times)
mintymark
Sr. Member
****
Offline Offline

Activity: 272


View Profile
August 19, 2011, 02:43:08 PM
 #41

Grondilu , good work!

A bash script, that can do this, this will help everyone understand what is happening here!

To JPL who said
>  Without having tested a method to import that private key into a Bitcoin implementation, you won't know whether you've made some subtle mistake in the first part, irreversibly donating sent money into the ether.

Its easy to test, test with a tiny tiny sum, say 0.01 BTC : if it works, you have tested it! If not perhaps you sent 0.01 btc into the aether! 

[[ All Tips gratefully received!!  ]]
15ta5d1N8mKkgC47SRWmnZABEFyP55RrqD
1480942448
Hero Member
*
Offline Offline

Posts: 1480942448

View Profile Personal Message (Offline)

Ignore
1480942448
Reply with quote  #2

1480942448
Report to moderator
1480942448
Hero Member
*
Offline Offline

Posts: 1480942448

View Profile Personal Message (Offline)

Ignore
1480942448
Reply with quote  #2

1480942448
Report to moderator
1480942448
Hero Member
*
Offline Offline

Posts: 1480942448

View Profile Personal Message (Offline)

Ignore
1480942448
Reply with quote  #2

1480942448
Report to moderator
I HATE TABLES I HATE TABLES I HA(╯°□°)╯︵ ┻━┻ TABLES I HATE TABLES I HATE TABLES
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Boussac
Legendary
*
Offline Offline

Activity: 1173


e-ducat.fr


View Profile WWW
August 19, 2011, 03:21:22 PM
 #42

That would be greatly appreciated by all average joe's running on windows: I will try it on win 7..

grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
August 20, 2011, 08:50:43 AM
 #43

Instead of xxd, I guess it is possible to use perl oneliners:

Code:
checksum() {
    perl -we "print pack 'H*', '$1'" |
    openssl dgst -sha256 -binary |
    openssl dgst -sha256 -binary |
    perl -we 'print unpack q{H8}, join q{}, <>'
}

hash160() {
    openssl dgst -sha256 -binary |
    openssl dgst -rmd160 -binary |
    perl -we 'print unpack q{H*}, join q{}, <>'
}

Perl is usually easy to install on systems where bash is installed.

Watch for the last lines of these two functions:  they are actually different (H8 instead of H*), as the checksum function only needs the four first bytes.


THIS HAS NOT BEEN TESTED MUCH.   Please test it thorously before actually using it.
Boussac
Legendary
*
Offline Offline

Activity: 1173


e-ducat.fr


View Profile WWW
August 23, 2011, 08:23:24 AM
 #44

Thaks for this new installment: it works beautifully as per the transcript below (only the last lines).
I have not yet tested the "spending" end though (sending coins to the address below importing the private key and spending).
Meanwhile if anyone can send me a dime (0.10 BTC) Roll Eyes

$ gpg < wallet.pem.asc |
> openssl ec -pubout |
> publicKeyToAddress

You need a passphrase to unlock the secret key for
user: "Boussac"
read EC key
2048-bit RSA key, ID 26B8AF92, created 2011-07-02

read EC key
gpg: encrypted with 2048-bit RSA key, ID 26B8AF92, created 2011-07-02
      "Boussac"
writing EC key
writing EC key
1E1wr4xtgWDVsuqUR42rDi8J5U1nhKYnKa

wolciph
Jr. Member
*
Offline Offline

Activity: 33


View Profile
August 25, 2011, 09:17:33 AM
 #45

Instead of xxd, I guess it is possible to use perl oneliners:

Code:
checksum() {
    perl -we "print pack 'H*', '$1'" |
    openssl dgst -sha256 -binary |
    openssl dgst -sha256 -binary |
    perl -we 'print unpack q{H8}, join q{}, <>'
}

hash160() {
    openssl dgst -sha256 -binary |
    openssl dgst -rmd160 -binary |
    perl -we 'print unpack q{H*}, join q{}, <>'
}

Perl is usually easy to install on systems where bash is installed.

Watch for the last lines of these two functions:  they are actually different (H8 instead of H*), as the checksum function only needs the four first bytes.


THIS HAS NOT BEEN TESTED MUCH.   Please test it thorously before actually using it.

Unless I'm missing something, it seems to me that simply doing
Code:
checksum() {
    perl -we "print pack 'H*', '$1'" |
    openssl dgst -sha256 -binary |
    openssl dgst -sha256
}

hash160() {
    openssl dgst -sha256 -binary |
    openssl dgst -rmd160
}
would be sufficient in this case, since openssl outputs in hex by default.

Nice script by the way. I may make use of it to implement an idea that I've had for a while.
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
August 25, 2011, 01:57:53 PM
 #46

Code:
checksum() {
    perl -we "print pack 'H*', '$1'" |
    openssl dgst -sha256 -binary |
    openssl dgst -sha256
}

hash160() {
    openssl dgst -sha256 -binary |
    openssl dgst -rmd160
}
would be sufficient in this case, since openssl outputs in hex by default.

It doesn't with my version of openssl (1.0.0d).   Also, don't forget you need to get only the first 4 bytes on checksum.

Quote
Nice script by the way. I may make use of it to implement an idea that I've had for a while.

Thanks.  What would be very cool would be a script that creates a transaction to an other address, using raw block downloaded from blockexplorer.com and an IP found on IRC.
wolciph
Jr. Member
*
Offline Offline

Activity: 33


View Profile
August 25, 2011, 04:56:57 PM
 #47

Code:
checksum() {
    perl -we "print pack 'H*', '$1'" |
    openssl dgst -sha256 -binary |
    openssl dgst -sha256
}

hash160() {
    openssl dgst -sha256 -binary |
    openssl dgst -rmd160
}
would be sufficient in this case, since openssl outputs in hex by default.

It doesn't with my version of openssl (1.0.0d).   Also, don't forget you need to get only the first 4 bytes on checksum.
I have an older version (0.9.Cool. It also has a -hex option for most commands so "openssl dgst -hashalgo -hex" should work. And yes, I forgot about the 4 bytes. It's just that perl gives me skin rash.
Quote
Quote
Nice script by the way. I may make use of it to implement an idea that I've had for a while.

Thanks.  What would be very cool would be a script that creates a transaction to an other address, using raw block downloaded from blockexplorer.com and an IP found on IRC.
I'm not sure I understand what you mean. Sounds weird.
Boussac
Legendary
*
Offline Offline

Activity: 1173


e-ducat.fr


View Profile WWW
August 25, 2011, 09:13:37 PM
 #48

What would be very cool would be a script that creates a transaction to an other address, using raw block downloaded from blockexplorer.com and an IP found on IRC.

Just to clarify, are you suggesting to include the desired spending tx directly in a raw block and start mining it (to avoid the need to import the private key in a wallet) ?
The script would have the destination address and raw block as arguments ? what is this ip address business ?

xali
Member
**
Offline Offline

Activity: 93


View Profile
August 26, 2011, 04:48:44 AM
 #49

"how to bury bitcoins"
you could, you know, buy some bitbills, and literally bury them!! or put in a safe or whatever. crack open 5 years later, be rich

Smiley ;/)
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
August 26, 2011, 12:20:35 PM
 #50

What would be very cool would be a script that creates a transaction to an other address, using raw block downloaded from blockexplorer.com and an IP found on IRC.

Just to clarify, are you suggesting to include the desired spending tx directly in a raw block and start mining it (to avoid the need to import the private key in a wallet) ?

My idea is to use bitcoinexplorer to extract the information that is necessary to write the transaction (block number, hash root and so on).

Quote
The script would have the destination address and raw block as arguments ?

Well, just the destination address, and the origin address.   The raw block would be fetched from blockexplorer.

Quote
what is this ip address business ?

We would need at least one IP of a running full client if we want to publish the transaction.  And IPs are published on irc.

grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
August 26, 2011, 12:23:44 PM
 #51

I have an older version (0.9.Cool. It also has a -hex option for most commands so "openssl dgst -hashalgo -hex" should work. And yes, I forgot about the 4 bytes. It's just that perl gives me skin rash.

well, I forgot to mention that my version of openssl prints an annoying "(stdin)= xxxxxxx" with the hex option.  I could use a sed 's/^.*= //' but that would be fugly.

Quote
I'm not sure I understand what you mean. Sounds weird.

See my previous message.
wolciph
Jr. Member
*
Offline Offline

Activity: 33


View Profile
August 26, 2011, 09:56:37 PM
 #52


well, I forgot to mention that my version of openssl prints an annoying "(stdin)= xxxxxxx" with the hex option.  I could use a sed 's/^.*= //' but that would be fugly.

I don't think it should do that. The output is supposed to be usable. Are you using a development version?
I'm not sure I understand what you mean. Sounds weird.
Quote

See my previous message.
So basically you want to make a light bash bitcoin client.
Problem is, the protocol for publishing transactions is quite complex and binary I think. And you would be relying on blockexplorer, which doesn't sound too good to me.
I like bash hackishness but within limits.

Also, if you're interested, here's the project I was talking about: https://bitcointalk.org/index.php?topic=39548.0
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
August 27, 2011, 08:24:24 AM
 #53

So basically you want to make a light bash bitcoin client.

Yes, that's the idea.

Quote
Problem is, the protocol for publishing transactions is quite complex and binary I think. And you would be relying on blockexplorer, which doesn't sound too good to me.
I like bash hackishness but within limits.

Binary is not an issue but complexity is indeed.   I'll keep looking at such a solution from times to times, as I would like to make a few bitcoin related websites with CGI I can't/don't want to have a full client on an open webserver.

Quote
Also, if you're interested, here's the project I was talking about: https://bitcointalk.org/index.php?topic=39548.0

« Another is to generate a "false" bitcoin address formed from the hash and to send a small amount of bitcoins to it (e.g. one satoshi). This is the method implemented in my script. »

This has been discussed on the forum, by Satoshi himself.  Indeed you can use the hash160ToPublicKey in order to achieve that.  You basically just need to compute a rmd160 of the data you want to timestamp, and send a small BTC amount to the corresponding bitcoin address.  The money will be lost forever, though.
Boussac
Legendary
*
Offline Offline

Activity: 1173


e-ducat.fr


View Profile WWW
August 28, 2011, 08:47:51 PM
 #54

What's the easiest way to spend this address (created thanks to Grondilu and davout contributions on my Win 7 machine):
1Q82Ur6bYsBmXRdb8QJDzPSxaTZyymD1ZB

using the private key formatted using Davout ruby script ?

davout
Legendary
*
Offline Offline

Activity: 1358


1davout


View Profile WWW
August 29, 2011, 09:35:30 AM
 #55

What's the easiest way to spend this address (created thanks to Grondilu and davout contributions on my Win 7 machine):
1Q82Ur6bYsBmXRdb8QJDzPSxaTZyymD1ZB

using the private key formatted using Davout ruby script ?

You can import it directly in the client using the "importprivkey" command, however, this command is not yet part of the official client, you need to compile sipa's fork to get it (https://github.com/sipa/bitcoin.git, showwallet branch) it will rescan the chain, and the coins should be spendable from there.

mcqueenorama
Jr. Member
*
Offline Offline

Activity: 34


View Profile
August 31, 2011, 11:05:09 PM
 #56

Here are a few ideas for using these holes.  I love this bitcoin stuff!

1) escrow
2) speeding up txns

Escrow:

Make the address and put the money in the hole.  The other person can see its in the hole by looking at the block explorer.  A new escrow tool could be made to allow for creating and sending to the hole and allow peeking into the hole.  So the Seller can see its in the hole but can't take it.  Maybe they could each contribute half of a key (or use two keys) to allow making a safe hole which neither can empty.  They have to cooperate to finish the txn and release the money to the correct recipient, so its not perfect.  Maybe a few more clever idea would fix that.


Speeding up txns:

Put a chunk of money in the hole and wait for it to be confirmed.  Then the txn can proceed with the speed of delivering the keys.  Instead of sending bitcoins you would send the keys and that's fast.  If there is too much money in the hole, the extra can be reclaimed by the buyer before he ships the keys without waiting for confirmations.  Something like that maybe. 
Boussac
Legendary
*
Offline Offline

Activity: 1173


e-ducat.fr


View Profile WWW
September 01, 2011, 09:01:09 AM
 #57

To my knowledge, the bitcoin protocol specs already make provisions for contracts (dual signature transactions): no need to split keys or specify some other mecanism until the bitcoin contracts are tested.
Gavin's ClearCoin makes use of bitcoin contracts.

grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
November 03, 2011, 10:23:42 AM
 #58

Some interesting developments of this thread can be found on this one.
btc_artist
Full Member
***
Offline Offline

Activity: 154


Bitcoin!


View Profile WWW
November 18, 2011, 11:33:20 PM
 #59

Some interesting developments of this thread can be found on this one.

Thanks for the link.

BTC: 1CDCLDBHbAzHyYUkk1wYHPYmrtDZNhk8zf
LTC: LMS7SqZJnqzxo76iDSEua33WCyYZdjaQoE
grondilu
Legendary
*
Offline Offline

Activity: 1134


View Profile
June 09, 2012, 09:51:05 AM
 #60

With the new version there is a command called new-bitcoin-key that returns a brand new key in WIF, along with its bitcoin address and its public point.  All in YAML:

Code:
$ . bitcoin.sh
$ new-bitcoin-key
---
WIF: 5HrkBfQH17QvcAshezqpXzKZRd6ogyxMF4pCgXzJG4QkW4S4en7
bitcoin address: 152PktNSb9MnfavZ76pW1Ry9sXsa17snjF
public key: 045960320CAE057C2F3CEA1D58CA587B7207E7CD0BD8104AF7C563717B14013557E926246A48C8C38ADB2E7483B57DE85A8EEB33CC52BDD037B6C87CD41E358D48

There is also a function called vanityFromPublicPoint that allows searching for a vanity address from a public point:

Code:
$ vanityFromPublicPoint 045960320CAE057C2F3CEA1D58CA587B7207E7CD0BD8104AF7C563717B14013557E926246A48C8C38ADB2E7483B57DE85A8EEB33CC52BDD037B6C87CD41E358D48  "Grondi1u"

This allows people to sell vanity addresses!  (see https://bitcointalk.org/index.php?topic=83749.0)
Pages: « 1 2 [3]  All
  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!