Bitcoin Forum
May 10, 2024, 11:06:51 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: warm wallet  (Read 1046 times)
dnydublin12 (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
January 10, 2015, 11:23:35 AM
Last edit: January 10, 2015, 11:34:10 AM by dnydublin12
 #1

Use case: People and companies like Bitstamp (and me) who want to have monies in hot wallet and are happy to forgo instant transactions in some of their wallets, in the interest of extra security and a chance to stop transactions within a certain timeframe. Like a half way house in terms of security between an offline wallet and a hot wallet. Works by forcing certain types of wallets to include a zero output zero input transaction in the blockchain a certain range of blocks before notifying its 'intent to move' funds from the wallet. This allows the owner of the wallet a chance to use a second key to insert a second zero input transaction to block 'intent to move'.

Glossary
Warm Wallet - Type of wallet which requires that transactions are flagged a certain number of blocks ahead of inclusion in the chain
Intent to Move - Zero input, zero output transaction which is included in the block chain, the only purpose of which is to validate the content of a subsequent transaction which must occur within a finite number of blocks.
Intent to move block - zero input, zero output transaction which is included in the block chain, the only purpose of which is to negate a 'intent to move' transaction. High priority transaction with high transaction fee

Description: Special type of wallet, transactions of which can only be processed if a transaction notification has being included in the blockchain X numbers of blocks before, but transaction notification cancellation has not. Presuming 10 block interval, transaction which will achieve the actual transfer must happen between 10 and 20 blocks after the notice of 'intent to move'.

Scenario 1 - Normal case
Example: On block 40 transaction is issued indicating intent to move 100 BTC from warm wallet WW to hot wallet HH.
On block 51 transaction moving 100 BTC from WW to HH is confirmed and funds transferred.

Scenario 2 - Stolen key
Example: On block 40 transaction is issued indicating intent to move 100 BTC from warm wallet WW to hacker wallet HK.
On block 45 real owner of the wallet notices the unauthorized intent to move transaction and issues a 'block intent to move' transaction with 0.001 transaction fee (high priority). An external service could be monitoring the blockchain and notifying users of warm wallets, of 'intent to move' transactions. On block 52 hacker attempts to move 100 BTC from WW to HK, transaction is rejected as miners see 'block intent to move' in block 45.

Scenario 3 - Late move
Example: On block 40 transaction is issued indicating intent to move 100 BTC from warm wallet WW to hot wallet HH.
On block 61 transaction moving 100 BTC from WW to HH is rejected as valid intent to move has not being included in the last 20 blocks. User told to try again.

Scenario 4 - Stolen key slow reaction
Example: On block 40 transaction is issued indicating intent to move 100 BTC from warm wallet WW to hacker wallet HK.
On block 52 hacker moves 100 BTC from WW to HK which is confirmed and funds are transferred.
Real owner of the wallet lost their money.

1715382411
Hero Member
*
Offline Offline

Posts: 1715382411

View Profile Personal Message (Offline)

Ignore
1715382411
Reply with quote  #2

1715382411
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.
1715382411
Hero Member
*
Offline Offline

Posts: 1715382411

View Profile Personal Message (Offline)

Ignore
1715382411
Reply with quote  #2

1715382411
Report to moderator
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4653



View Profile
January 10, 2015, 01:06:10 PM
 #2

A transaction is a list of inputs followed by a list of outputs.

Please explain what a zero input, zero output, "intent to move" transaction would look like.

If the "intent to move" transaction doesn't have any intputs, then how will it indicate which bitcoins you intend to move?

If the "intent to move" transaction doesn't have any outputs, then how will it indicate where you intend to move the bitcoins?

What prevents an attacker from flooding the network with "intent to move" transactions followed by "block intent to move" transactions?

If the thief gains access to your private keys from your wallet, he can just import those private keys into a wallet that sends immediate transactions without an "intent to move".  Therefore, this doesn't really offer you much protection anyhow.
dnydublin12 (OP)
Newbie
*
Offline Offline

Activity: 29
Merit: 0


View Profile
January 11, 2015, 09:08:32 PM
 #3

I know I'm probably being very simplistic, as I'm pretty new to blockchains and you are humouring me, so thanks for that. I do appreciate your time and patience.

A transaction is a list of inputs followed by a list of outputs.
Please explain what a zero input, zero output, "intent to move" transaction would look like.

If the "intent to move" transaction doesn't have any intputs, then how will it indicate which bitcoins you intend to move?
If the "intent to move" transaction doesn't have any outputs, then how will it indicate where you intend to move the bitcoins?
Data Output (OP_RETURN) don't have any inputs or outputs right? Anyway, probably easier just to make it a transaction which sends coins back to the same address, so not zero input/output, inputs being same as outputs, send to self

What prevents an attacker from flooding the network with "intent to move" transactions followed by "block intent to move" transactions?
Transaction fees

If the thief gains access to your private keys from your wallet, he can just import those private keys into a wallet that sends immediate transactions without an "intent to move".  Therefore, this doesn't really offer you much protection anyhow.
I was kind of thinking of hierarchical deterministic wallets (BIP0032/BIP0044), one of the children keys being the one stored live and seed key being used to publish the "block intent to move"
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!