joshbb (OP)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 07, 2012, 11:26:15 PM |
|
Heyaa.... is it technically possible to generate a transaction from a private key and somehow get it out into the block chain without actually having the blockchain? Like to make a really lightweight "spend only" client with your private key(s) in it?
Help me, big brains!
|
|
|
|
cytokine
Donator
Full Member
Offline
Activity: 224
Merit: 100
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 07, 2012, 11:33:28 PM |
|
Heyaa.... is it technically possible to generate a transaction from a private key and somehow get it out into the block chain without actually having the blockchain? Like to make a really lightweight "spend only" client with your private key(s) in it?
Help me, big brains!
Yes, I believe it is possible. The block chain is only needed to verify transactions. But you would need all the unspend txs for your wallet.
|
|
|
|
austonst
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 76
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 07, 2012, 11:34:53 PM |
|
I think all you need to make a transaction is your private key, your public key, the recipient's public key, and the amount. Have a look at https://en.bitcoin.it/wiki/Transactions#Transfer_to_Bitcoin_address . Once you have the transaction made, you need a way to broadcast it to the network. I know a lot of lightweight clients already have the functionality for doing that, but there's also http://bitsend.rowit.co.uk/ for a browser-based version.
|
|
|
|
casascius
Mike Caldwell
VIP
Legendary
Offline
Activity: 1386
Merit: 1140
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 07, 2012, 11:42:17 PM |
|
You of course need to know your private key. You don't need to know your public key, it can be calculated from your private key. You don't necessarily need to know the recipient's public key, just their Bitcoin address. (but if you have their public key, you can calculate their Bitcoin address from it). What you need that is NOT listed, is the full TXID+index+amount of the incoming coins you want to spend. TXID is a 256-bit number identifying the transaction that sent you the coins, index is a small number (usually 0 or 1) that identifies which of the payouts belonged to you (since one TXID can and usually does have multiple payouts - one for you, one for the payer to get back his change) and of course you'll need to know the amount so you can generate an appropriate transaction to pay yourself back the change from the transaction you later produce (you need to know how much the change will be for this to be possible).
|
Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable. I never believe them. If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins. I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion. Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice. Don't keep coins online. Use paper or hardware wallets instead.
|
|
|
cytokine
Donator
Full Member
Offline
Activity: 224
Merit: 100
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 07, 2012, 11:51:30 PM |
|
You of course need to know your private key. You don't need to know your public key, it can be calculated from your private key. You don't necessarily need to know the recipient's public key, just their Bitcoin address. (but if you have their public key, you can calculate their Bitcoin address from it). What you need that is NOT listed, is the full TXID+index+amount of the incoming coins you want to spend. TXID is a 256-bit number identifying the transaction that sent you the coins, index is a small number (usually 0 or 1) that identifies which of the payouts belonged to you (since one TXID can and usually does have multiple payouts - one for you, one for the payer to get back his change) and of course you'll need to know the amount so you can generate an appropriate transaction to pay yourself back the change from the transaction you later produce (you need to know how much the change will be for this to be possible). Right, this is what I was trying to say... albeit without the same depth of technical understanding ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
austonst
Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 76
Merit: 10
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 07, 2012, 11:58:08 PM |
|
You of course need to know your private key.
You don't need to know your public key, it can be calculated from your private key.
You don't necessarily need to know the recipient's public key, just their Bitcoin address. (but if you have their public key, you can calculate their Bitcoin address from it).
What you need that is NOT listed, is the full TXID+index+amount of the incoming coins you want to spend. TXID is a 256-bit number identifying the transaction that sent you the coins, index is a small number (usually 0 or 1) that identifies which of the payouts belonged to you (since one TXID can and usually does have multiple payouts - one for you, one for the payer to get back his change) and of course you'll need to know the amount so you can generate an appropriate transaction to pay yourself back the change from the transaction you later produce (you need to know how much the change will be for this to be possible).
That makes a lot of sense; good to know. I did mean that you need your public key eventually for creating the transaction, not necessarily that you need to know it ahead of time. I completely forget about incoming transactions though ![Undecided](https://bitcointalk.org/Smileys/default/undecided.gif) . So, if you're trying to avoid storing the entire blockchain, would you want to contact a server to get your transaction history every so often?
|
|
|
|
Stephen Gornick
Legendary
Offline
Activity: 2506
Merit: 1010
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 08, 2012, 03:08:23 AM |
|
My Wallet in Blockchain.info can be used offline to do this. The code that does this is in Javascript. You do need to have logged into the wallet in the browser previously, but from that browser wallet, the transaction can be performed offline. - http://blockchain.info/walletThe transaction then can be transported and used with their pushtrx page (or with RowIT's Bitsend) The instructions are: "To complete the transaction open one of these pages blockchain.info/pushtx or bitsend.rowit.co.uk. Copy and paste the text below into the textarea and press submit to complete the transaction." And the links are to: - http://blockchain.info/pushtx - http://bitsend.rowit.co.ukArmory has instructions how this is done with their client as well: - http://bitcoinarmory.com/index.php/using-offline-wallets-in-armory
|
|
|
|
jothan
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 184
Merit: 100
Feel the coffee, be the coffee.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 08, 2012, 02:36:23 PM |
|
What you need that is NOT listed, is the full TXID+index+amount of the incoming coins you want to spend. TXID is a 256-bit number identifying the transaction that sent you the coins, index is a small number (usually 0 or 1) that identifies which of the payouts belonged to you (since one TXID can and usually does have multiple payouts - one for you, one for the payer to get back his change) and of course you'll need to know the amount so you can generate an appropriate transaction to pay yourself back the change from the transaction you later produce (you need to know how much the change will be for this to be possible).
If I understand correctly, this would amount to a list of unspent outputs belonging to me ? This is pretty cool, as an offline/portable device could sign a transaction and hand over the TX to an internet connected vending machine (via NFC or QR code) that does the validation and dispense a product.
|
Bitcoin: the only currency you can store directly into your brain.
What this planet needs is a good 0.0005 BTC US nickel.
|
|
|
ThomasV
Legendary
Offline
Activity: 1896
Merit: 1353
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 08, 2012, 02:46:31 PM |
|
Heyaa.... is it technically possible to generate a transaction from a private key and somehow get it out into the block chain without actually having the blockchain? Like to make a really lightweight "spend only" client with your private key(s) in it?
Help me, big brains!
Electrum does exactly that
|
Electrum: the convenience of a web wallet, without the risks
|
|
|
|