Re: Fwd: Wallet Lock, Unlock BIP idea

Re: Fwd: Wallet Lock, Unlock BIP idea


  2016-01-14  8:38   ` Bastiaan van den Berg
  
From: Scott Morgan @ 2016-01-13 23:47 UTC (permalink / raw)
  To: bitcoin-dev

[-- Attachment #1: Type: text/plain, Size: 3528 bytes --]

Hi All,

   Here is a suggestion which is similar to bip-0065, but slightly
different.
In a nutshell I under stand bip-0065 to do this;
Create a transaction adding a lock time, that the recipient user must wait
before they can spend the coins.

My proposal is to do this;
Create an entry in the blocks to lock entire wallet addresses indefinitely,
with a specified unlock period.
Later on create / modify an entry in the blocks to acknowledge the wallet
is being unlocked.
Remove the lock on the wallet after the unlock period has transpired.

  I think it is technically feasible since many wallet addresses are in
each block at the transaction level.  However, it would have huge
implications to the entire Bitcion ecosystem, so it would probably need a
start date at least a year in the future after it was developed.

bip-0065 would not allow the following;
  This would allow users holding coins for long periods to monitor the
blockchain to see if someone else is unlocking their wallets (which may
have been stolen/copied etc), giving them some time to react to a
intrusion.  Perhaps there should also be a re-lock (during unlock) feature.

My original message is attached.

Cheers,
Scott

---------- Forwarded message ----------
From: Scott Morgan <scott@adligo•com>
Date: Tue, Jan 12, 2016 at 3:35 PM
Subject: Wallet Lock, Unlock BIP idea
To: bitcoin-dev@lists•linuxfoundation.org


Hi All,

   It seems to me that one of the large issues with bitcoin is that they
can be stolen like cash.   This issue also culminates with the fact that
most miners probably need to hold their coins for some time to be
profitable due to the large interest in mining.
   I think it may be possible to reduce some of this theft by adding a BIP
to lock and unlock wallets.  Here is the basic idea (probably with some
holes);

   1) Users could 'lock' their wallet specifying a unlock period (i.e. 15
days)
       The information that a particular wallet is locked would get added
to the blocks and confirmed like other transactions.
    2) During transaction creation and mining (to be sure a locked wallet
isn't drained) the top blocks would be checked to see if the wallet is
locked.  Locked wallet transactions would not be confirmed.
    3)  Users would eventually 'unlock' their wallet.
        This would put a unlocking as of date time in the blocks to specify
a wallet is unlocking.  Eventually the wallet would not have any lock or
unlocking entries in the blocks.
    4) The users would wait the unlock period (i.e. 15 days)
    5) The Users could then spend their coins.


   This would also have some other consequences on the bitcoin system,
since anyone could check the transactions to locked wallets to see how many
BTC are being held, or are being unlocked soon.   This could effect the
price of BTC in fiat as supply would change similar to the way mining
changes it.  Also it will slow transaction creation a little and mining a
fair amount.
   Also locking a wallet might incur a fee.

  What are your thoughts, does this idea qualify for a BIP?
  If so, I would appreciate it if someone takes it and runs with it.

Cheers,
Scott

PS A bit about me, I am a Privacy and Java evangelist, so I will not be
doing any work on the main bitcoin core.  I have been doing a little mining
to attempt to help fund my companies (Adligo Inc) open source Java projects
Tests4j and Fabricate and hopefully in the future Taxi, Sanctum and
Intelligence4j.

Donations are always welcome;

http://www.plumfund.com/crowdfunding/adligoorg

[-- Attachment #2: Type: text/html, Size: 6764 bytes --]

 permalink raw reply	[|nested]
2016-01-13 23:47 ` Scott Morgan

  
From: Bastiaan van den Berg @ 2016-01-14  8:38 UTC (permalink / raw)
  To: bitcoin-dev

[-- Attachment #1: Type: text/plain, Size: 420 bytes --]

You might not be aware, but the wallet supports encrypting. Which then
means that when Mr Badguy steals your wallet.dat, he cannot do anything
with it without the passphrase. See RPC calls 'encryptwallet'
'walletpassphrase' and 'walletlock'.

Also i'd like to say, that adding a big waving flag in the blockchain to
say you are locking/unlocking your wallet might not match good privacy
ethics ;)
​
--
buZz

[-- Attachment #2: Type: text/html, Size: 502 bytes --]

 permalink raw reply	[|nested]
From: Scott Morgan @ 2016-01-14 18:26 UTC ( / )
  To: bitcoin-dev



Hi Again (buZz),

   I am aware of wallet encryption, even if encryptwallet was NOT there you
could always copy wallet.dat and use a third party encryption /decryption
tool.   Also any encryption can be broken, although this may not be
profitable.   I know a few people who still have problems with intruders
taking copper pipe out of buildings in Chicago, which is also unprofitable
since commodity prices have crashed.
   Your right that a big waving flag in the block chain may be a bad idea,
I figured there would be a good way to obsfucate the information through
some one way encryption.  Then anyone could check if wallet '1ABC...' is
locked by encrypting the wallet address and comparing it to a list of
encrypted wallet addresses, but couldn't easily obtain a list of locked or
unlocking wallets.   I haven't done any detailed work on implementation
though, as I mentioned.

Cheers,
Scott