summaryrefslogtreecommitdiff
path: root/1e/a22ccd72112f5b2df348edad329e6ee58ad851
blob: 6385a049f30b31e0293ce3bd610c316745783f81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
Return-Path: <karljohan-alm@garage.co.jp>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id C941BF08
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 28 Feb 2018 03:57:26 +0000 (UTC)
X-Greylist: delayed 00:09:31 by SQLgrey-1.7.6
Received: from mo.garage.hdemail.jp (mo.garage.hdemail.jp [46.51.242.127])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 00F78CF
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 28 Feb 2018 03:57:25 +0000 (UTC)
Received: from ip-10-217-1-36.ap-northeast-1.compute.internal
	(localhost.localdomain [127.0.0.1])
	by mo.garage.hdemail.jp (hde-mf-postfix) with SMTP id 9E57114C0B9
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 28 Feb 2018 12:47:52 +0900 (JST)
	(envelope-from karljohan-alm@garage.co.jp)
X-Received: from unknown (HELO mo.garage.hdemail.jp) (127.0.0.1)
	by 0 with SMTP; 28 Feb 2018 12:47:52 +0900
X-Received: from mo.garage.hdemail.jp (localhost.localdomain [127.0.0.1])
	by mo.garage.hdemail.jp (hde-ma-postfix) with ESMTP id 950114C072
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 28 Feb 2018 12:47:52 +0900 (JST)
	(envelope-from karljohan-alm@garage.co.jp)
Received: from gw21.oz.hdemail.jp
	(ip-10-172-131-196.ap-northeast-1.compute.internal [10.172.131.196])
	by mo.garage.hdemail.jp (hde-mf-postfix) with ESMTP id 88BCC14C0B9
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 28 Feb 2018 12:47:52 +0900 (JST)
	(envelope-from karljohan-alm@garage.co.jp)
X-Received: from mail-qt0-f197.google.com (lb05.oz.hdemail.jp [54.238.57.175])
	(using TLSv1 with cipher AES128-SHA (128/128 bits))
	(No client certificate requested)
	by gw21.oz.hdemail.jp (Postfix) with ESMTP id 2BF94148C113
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 28 Feb 2018 12:47:52 +0900 (JST)
X-Received: by mail-qt0-f197.google.com with SMTP id 61so967108qta.17
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 27 Feb 2018 19:47:52 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20161025;
	h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
	bh=2h9lHKLj20L2c8VkLi8m7dHqyVXiglVQv44O3fbTeLg=;
	b=FS0GgJkQ1NZ1Lt5LEX76W7ZO670s6VA8budUGF4Iv6sgAmZ86N2v8jSaOudHET0bfQ
	jwsz4rl/ePTvtUI6x4bFsiSlA544H3WsO+aYPg3rFwW7E3EgQdAXzW6i7UboOF/ogR5T
	KibkVIJIpUsRiArCS4pqVz2d2jToyKmASfxn8q1qT4bT81Yw9w6iI+xgpM7Ol1JptOv/
	Sw/FWiGlsHOC7AewJ0v+31hoV62DYKYcFsc18hjrJBCCj5PyOQXwy5Dgtmsc60rvNoRu
	YgkcYVs646lD+Ca8Vn85TLOXeVQmcDHeef4eYdIwVWrsJQOQpFW0lN522JyaovXs8kJE
	vxww==
X-Gm-Message-State: APf1xPCtckqXk39e11rOJEahPcju7VG+xRX6ThWI/pDytPU1kdT25LYq
	awADqIeaDuBw3Q4xZMNovuHCnsenta5psnqPHjw6YKccz/LrV5zd7Lzr8Ehgxf8xiMCSMyHeGxC
	g1Fcy7agafpWSxgvjJWpKAwYx5d8yr3rUQCtZ+GlfkwmbMHalL9TOWRsPcOKhx4+ZlrUknAvU0G
	fxYL3KHphVsI4R3HFWEFMAvWULDAPNjWQ303KPby2GSSehOEf9VsjDLCqNlfCeVKahw8T0FdzGZ
	WkG+gsUEH49EvJsc1aNjTn0rRN2lPOVC/jrMHk1llksWxLCWvjwI6Jx9dXVM55/K3CJNAEAdBSd
	09amQXznMcHDBz4NgSI9/39oJJc=
X-Received: by 10.55.21.16 with SMTP id f16mr19084859qkh.252.1519789670584;
	Tue, 27 Feb 2018 19:47:50 -0800 (PST)
X-Google-Smtp-Source: AG47ELto7WXBjnzfwY6BGx5prKvHvHK9wx5ngUncuoMNeBUfyB+zx6F5B3Z2U5TcIRZW5ZH/rFmjAqZ8q20LHrC6aAo=
X-Received: by 10.55.21.16 with SMTP id f16mr19084836qkh.252.1519789670301;
	Tue, 27 Feb 2018 19:47:50 -0800 (PST)
MIME-Version: 1.0
X-Received: by 10.12.176.3 with HTTP; Tue, 27 Feb 2018 19:47:29 -0800 (PST)
From: =?UTF-8?B?44Ki44Or44Og44CA44Kr44O844Or44Oo44OP44Oz?= <karl@dglab.com>
Date: Wed, 28 Feb 2018 03:47:29 +0000
Message-ID: <CALJw2w4hKCAJY5U7Li82FbHHnXZKjcZ0Cw67V+=WxvknkY=Zxg@mail.gmail.com>
To: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE
	autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
X-Mailman-Approved-At: Wed, 28 Feb 2018 14:20:36 +0000
Subject: [bitcoin-dev] Simple lock/unlock mechanism
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Wed, 28 Feb 2018 03:57:26 -0000

With the recent trend of physically robbing people for bitcoin (or
other cryptocurrencies), I thought it would be beneficial to introduce
a standard for locking up a portion of your bitcoin in a simple
'gotta-wait-awhile' system.

The idea is to simply create a transaction spending a set of UTXOs to
a P2SH address with an OP_CSV attached to it, and then throw away the
private keys.

To spend the bitcoin, you would have to broadcast the transaction and
wait the given amount of time, then use the new txout.

There are several ways to shoot yourself in the foot trying to do this
manually, but e.g. Bitcoin Core could handle this in a fairly
straightforward manner by introducing two new commands, which I call
freeze and unfreeze:

bitcoin-cli freeze [amount OR array of txid+vout objects] [days, default 1]

E.g. bitcoin-cli freeze 10 5
E.g. bitcoin-cli freeze ["abc123:1", "def346:0"] 3

The unfreeze command would by default list all freezes:

bitcoin-cli unfreeze
txid         days     status
bcd123   5           frozen
dca999   3           frozen

including the txid would broadcast the unfreeze and status would
become 'thawing' until the amount becomes available:

bitcoin-cli unfreeze bcd123

bitcoin-cli unfreeze
txid         days     status
bcd123   5           thawing
dca999   3           frozen

The benefit of this is that it becomes physically impossible for you
to spend the coins until you thaw them, and if this becomes standard
enough, it should disincentivize potential robbers as it would be
expected that you keep most of your assets locked up. They could of
course hold you hostage until the period is over, which may be worse,
but I think that kind of operation would be substantially more
difficult than a simply rob-and-run.

The drawback is that you have to broadcast a transaction in order to
spend the content, and you cannot bump the fee so the transaction
could get stuck in a high-fee situation.

-Kalle.