Return-Path: <eric@voskuil.org> Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 7A724CBF for <bitcoin-dev@lists.linuxfoundation.org>; Sat, 29 Jun 2019 21:21:26 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-pg1-f196.google.com (mail-pg1-f196.google.com [209.85.215.196]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id B052B2C6 for <bitcoin-dev@lists.linuxfoundation.org>; Sat, 29 Jun 2019 21:21:23 +0000 (UTC) Received: by mail-pg1-f196.google.com with SMTP id t132so775891pgb.9 for <bitcoin-dev@lists.linuxfoundation.org>; Sat, 29 Jun 2019 14:21:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=voskuil-org.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=SSbxuqxsuHZb3iUlQRXkEdWtBtfV46uB2u6Y7rdkeHQ=; b=JEGPZcNVkmdRMY2SW0GHSPSg4VaC5YYT5WnNtc4gDki80muvfZIDbvVkN6FzKBUcJr zDt1nXQTuKG9h70ZmgpbXxklERC+qg8AMGfe0mWCGmXix2A1oF+rM66puzL5eAkiom/1 TxOe1eJcUP+HYz09ad9fr2BmbYf8dH02PaLXUu0RcbPnNZv5Plo+qWIfjZHsokdF3XGb ZmKQ5YuuOJMsc7Iul86cYlYVy7Mt9tifhEAYuA+jTTpXdyUuCVQ78bJWbFwMZR0s69LV KIJamiWftM57YCo/iFfCAKPdaV32fWiH85999BbGpE7oqWkoXp5DVqBw3/zoe/xtg9ek O1JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=SSbxuqxsuHZb3iUlQRXkEdWtBtfV46uB2u6Y7rdkeHQ=; b=Ef1vhBkn0VXtGbm+0nJAf7gl3x3fIgNyWPF0zb3z7and0ARe34G5mR9ZelnF651G9m XyU3EgyroLgxt3SxxfYjqby3DKIEXzhrgNYZ/CjyJd+82J1yY6apD+tgWQZafEp7mg3P 01uA9qCNffluOwGl2GevOXrOxinSspm+z766mx4/6pPKqvOU8ZmGSodavDq6g0F/OcwF eDct9BoTDW36PsHNtagXq9gbabD5y+/MgXj/RNvSQSxHm3TL/fzWiUP9uXFk9oS31wm1 gOVVvNjCMj+A5AwJerIsO7o3Er1rH6vg9q4S35wI+gqp0RTZZV+jEfBfHZMJ9Lx8w+03 nVWA== X-Gm-Message-State: APjAAAVUDj1Xm3fs86plG2toy7VkBzBFZ3FzlZ2NAlOlha+8LSMdATX5 pZQL0SYY1rLTUON/UgUz4g3K3lY6yiw= X-Google-Smtp-Source: APXvYqyGSbDIt7z8LngkuKq4AzFrkUHvRergxz1q1FgEAu/bQ5Lf06DzmvIaGIMiT0eX4vWD7jC8qQ== X-Received: by 2002:a65:64d3:: with SMTP id t19mr5907240pgv.112.1561843282698; Sat, 29 Jun 2019 14:21:22 -0700 (PDT) Received: from ?IPv6:2600:380:8027:8b6d:14f8:e521:300f:c84d? ([2600:380:8027:8b6d:14f8:e521:300f:c84d]) by smtp.gmail.com with ESMTPSA id b11sm6805238pfd.18.2019.06.29.14.21.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 29 Jun 2019 14:21:22 -0700 (PDT) Content-Type: multipart/alternative; boundary=Apple-Mail-A6F96C51-0E07-4567-8329-BE433B666D46 Mime-Version: 1.0 (1.0) From: Eric Voskuil <eric@voskuil.org> X-Mailer: iPhone Mail (16F203) In-Reply-To: <EB743E28-8486-4CD5-B9AE-09B5693B27FA@gmail.com> Date: Sat, 29 Jun 2019 14:21:20 -0700 Content-Transfer-Encoding: 7bit Message-Id: <708D14A9-D25E-4DD2-8B6E-39A1194A7A00@voskuil.org> References: <0DBC0DEA-C999-4AEE-B2E1-D5337ECD9405@gmail.com> <7A10C0F5-E206-43C1-853F-64AE04F57711@voskuil.org> <EB743E28-8486-4CD5-B9AE-09B5693B27FA@gmail.com> To: Tamas Blummer <tamas.blummer@gmail.com> X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, HTML_MESSAGE, MIME_QP_LONG_LINE, 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: Sun, 30 Jun 2019 04:10:05 +0000 Cc: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org> Subject: Re: [bitcoin-dev] Generalized covenants with taproot enable riskless or risky lending, prevent credit inflation through fractional reserve 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: Sat, 29 Jun 2019 21:21:26 -0000 --Apple-Mail-A6F96C51-0E07-4567-8329-BE433B666D46 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > On Jun 28, 2019, at 12:21, Tamas Blummer <tamas.blummer@gmail.com> wrote: >=20 > Hi Eric, >=20 > Thank you for your questions as they show what concepts need further expla= nation, so you understand the potential of this proposal and how it is helpf= ul to the ecosystem. >=20 > Riskless zero bond is in fact the most basic concept of financial engineer= ing. Yes, there are engineers of finance, those who create and price financi= al derivatives (e.g. options, swaps) and structure products such as e.g. ABS= , CDO etc. > I used to be one of them. >=20 > A zero bond formalizes the observation that 1 unit of currency in the futu= re has different value than 1 unit available now. It is called riskless if i= t is certain to receive the payment in the future. > If we put this difference of vaue in relation to the amount then we get th= e =E2=80=9Crisk freee rate of return=E2=80=9D, that you heard of. >=20 > E.g if one is willing to exchange 1 BTC unconditionally available now for 1= .1 BTC certainly available in a year but not earlier, then the implied =E2=80= =9Crisk free rate of return=E2=80=9D is apparently 10% pa. for Bitcoins. As I implied, I am well aware of the concept of risk free rate of return, wh= ich is a hypothetical. > The transaction I construct in the first example achives exactly this, bec= ause: Which implies you have created an actual instance of this heretofore purely h= ypothetical concept. > Bob forgoes his ability to use his unconditionally available coins by givi= ng them to Alice with a covenant that ensures that Bob will receive them bac= k later. > Bob does this because Alice pays for this in advance.=20 >=20 > Alice can further transfer the coins encumbered by the covenant, but they w= ill unconditionally return to Bob in the future.=20 Why would Alice pay for this at all? > The utility of these encumbered coins is that they prove that the loan is f= ully covered by reserves. What loan? Alice has paid Bob for something of no possible utility to her, o= r anyone else. Bitcoin is a money, not consumable in any way. Its utility arises strictly f= rom the possibility of eventually being traded for something else. The only r= eason to accept it in trade is that expectation. Removing that possibility, e= ven transitively and over time, removes all utility immediately. In my previ= ous comments I described a necessary discount to NPV, but it=E2=80=99s safe t= o say that must be 100%. > How valuable this utility is will be decided by the market Value is of course subjective, and is determined by individual preferences. Y= et what is the value one might place on something of no use? Economically sp= eaking it must be zero, since value is a subjective evaluation of utility (i= .e. service to a person). Consider the case of the 1000 and 500 rupee demonetization. Long lines of pe= ople formed at banks to convert to notes to others of equivalent denominatio= n. https://en.m.wikipedia.org/wiki/2016_Indian_banknote_demonetisation Of course, upon announcement of the demonetization, existing 1000/500 rupee n= otes were discounted for the cost/risk of accomplishing this conversion (sev= eral people are reported to have died in the effort). If there was no such c= onversion possible, making the notes worthless at the future date, the *imme= diate* effect would necessarily have been 100% discount. This of course sets aside any consumable value of the =E2=80=9Cpaper=E2=80=9D= notes, such as burning for heat or trading as novelties (e.g. demonetized Z= imbabwean 100T notes currently trading), as Bitcoin is not capable of being c= onsumed. It also sets aside the possibility that some people were unaware of= the demonetization. Who would accept such a note today that was known to be worthless at a futur= e date? If they did, who would would accept it from them? It=E2=80=99s liter= ally an on-chain scamcoin, where the first sucker must find another, and he a= nother, an so on, as soon as possible, before it expires, leaving the last s= ucker holding the bag. Given an efficient market (i.e perfect knowledge of t= he scam), zero initial value is implied. > and that value will be interest received by those who temporarily give up c= ontrol. I am guess the value will be low but positive. Giving up control of money for a period does not imply the money is useful t= o someone else. Bob might as well lock his coins in a time capsule, for whic= h he has the only key, and ask Alice to pay him for it. > Lending does not mandate fractional or full reserves. I didn=E2=80=99t say that it does. Lending implies no =E2=80=9Cmandate=E2=80= =9D. But the nature of fractional reservation is inherent in every loan/inve= stment.=20 > These are choices the market or regulators enforce. Fractional reservation is not a consequence of statutory or market controls.= The level of hoarding vs. lending is a consequence of individual time prefe= rence. > Full reserve banking is not a fiction but is how things worked before intr= oduction of gold receipts. A bank could only lend gold coins it possesed. Pe= rils of fractional reserve were felt repeatedly by the Bitcoin ecnomy e.g. i= n the collaps of MtGox. I don=E2=80=99t believe I called full reserve a fiction. With full reserve t= here is no possible investment, production or products. Unlikely, and disast= rous for humanity, but not provably impossible. A hazard of viewing economic concepts through a financial lens is that those= higher order concepts become obscured by a morass of economically-irrelevan= t regulation and implementation details. At this point we are going to end up in a discussion on what fractional rese= rve actually is. I=E2=80=99d be happy to have a discussion on the topic, but= this list is clearly not a good forum for that. Furthermore the question of whether or not this proposal is relevant to frac= tional reserve is moot unless it can be shown that the assumed utility actua= lly exists. So I suggest we take this interesting but secondary question on f= ractional reserve somewhere else. > The idea to return to full reserve banking is not unique to gold bugs or B= itcoin but recently a popular vote was initiated in Switzerland to force Swi= ss banks to full reserves with respect to lending. This popular vote achived= 24% support [1] which is quite remarkable if considered that the topic is n= ot trivial as also our exchange shows. It shows the breadth of economic ignorance which is not surprising given its= counterintuitive nature. Best, Eric > I published today a writing in medium, that explains the concept of fracti= onal vs. full reserve banking in conjunction with this proposal. Please read= : https://medium.com/@tamas.blummer/full-reserve-banking-with-bitcoin-462b21= ae9479 >=20 > I would welcome feedback on the generalized covenant construct or its impl= ementation, as I think it can open up much more uses than the few examples I= gave. >=20 > Tamas Blummer >=20 > [1] Vollgeld Initiative: https://www.bfs.admin.ch/bfs/de/home/statistiken/= politik/abstimmungen/jahr-2018/2018-06-10/vollgeld-initiative.html >=20 >> On Jun 28, 2019, at 19:25, Eric Voskuil <eric@voskuil.org> wrote: >>=20 >> Hi Tamas, >>=20 >> There are a number of economic assumptions contained herein. While I unde= rstand you would like to focus on implementation, the worst bugs are require= ments bugs. IMO these should be addressed first. I=E2=80=99ve addressed some= possible issues inline. >>=20 >>> On Jun 28, 2019, at 01:27, Tamas Blummer via bitcoin-dev <bitcoin-dev@li= sts.linuxfoundation.org> wrote: >>>=20 >>> I start with a formalisation of loans as common in finance: >>>=20 >>> A zero bond is a contract between two parties Alice and Bob whereby Alic= e receives an amount less than P and has to pay back P at a later time point= called maturity. >>> The difference between the amount received and P is the interest implied= by the contract. E.g. receiving 1 Bitcoin (<P) and agree to pay back 1.1 (=3D= P) in a year is the same as getting a loan with 10% p.a. interest. >>>=20 >>> The inherent risk in the contract is that Alice may not honor the agreem= ent or be bankrupt by then. >>>=20 >>> If we could programmatically guarantee that Alice honors the contract th= en we would be able to create a riskless zero bond, the fundation of financi= al engineering. >>=20 >> I=E2=80=99m not aware of the basis of this statement. While people use th= e term =E2=80=9Crisk free rate of return=E2=80=9D there has never actually b= een such a thing. It=E2=80=99s not clear to me how a unicorn has been the fo= undation of =E2=80=9Cfinancial engineering=E2=80=9D, but I=E2=80=99m not als= o clear and what is intended by =E2=80=9Cengineering=E2=80=9D in this sense.= Generally engineering is the implementation of higher level concepts. It is= those concepts that constitute requirements here. >>=20 >> At a minimum, interest cannot be guaranteed by this proposal, which impli= es that at best it guarantees, setting aside changes in purchasing power, a r= eturn of principle minus economic interest on that principle (ie opportunity= cost). Given that purchasing power changes over time, risk increases with t= he term of the loan. As such this is not riskless - both volatility and oppo= rtunity cost remain as risks. >>=20 >>> A systemic problem with loans is that the lender might operate on fracti= onal reserve, that is lending more than his capital. >>=20 >> This is not a systemic problem, this is the very nature of lending. Fract= ional reserve is simply a state banking term used to describe the fact that p= eople invest (lend) a fraction of their savings and hoard the rest. It matte= rs not that banks or individuals do this, credit expansion is inherent in ec= onomy. Without it there is no investment and therefore no production whatsoe= ver. >>=20 >>> Unchecked inflation of money supply through fractional reserve is creati= ng a mess in the world we live in. Bitcoin could overcome this mess implemen= ting this proposal! >>=20 >> You seem to be conflating state banking with the effects of investing. Ta= xpayer support for bank investment creates both a moral hazard (and the resu= lting misallocation of capital to state-favored projects, creating the famed= economic =E2=80=9Cbusiness cycle=E2=80=9D) and is a manifestation of persis= tent monetary inflation (ie seigniorage is a source taxation. Investment imp= lies credit expansion, and the level of this expansion is controlled by time= preference alone. >>=20 >>> I stop here with finance speak as the purpose of this mail is not to div= e into finance, but to show how loans with full reserve check could be imple= mented in Bitcoin. >>>=20 >>> 1. Receiving the loan is a payment from Bob to Alice, but we need a rest= riction how Alice can use the funds, so Bob can get them back unconditionall= y at maturity, so lending is riskless to him. >>> 2. Bob wants to receive interest, since he gives up his control of the c= oins until maturity, he can not use them elsewhere until then. That interest= could be paid in advance, this can be solved with Bitcoin as is. >>=20 >> Interest cannot be paid in advance. This implies nothing more than a smal= ler amount of principle. >>=20 >>> How do we allow Alice to use the coins, that is: split/merge and transfe= r them to others, but still ensure Bob can claim them back at maturity? >>>=20 >>> We ensure that Alice can only send the coins to outputs that inherit a t= aproot path of validation (using http://bitcoin.sipa.be/miniscript/): 'and(t= ime(100),pk(C))' where C is Bob=E2=80=99s key and 100 is maturity >>>=20 >>> This requires a generalization of the Bitcoin Covenants Idea[1] such tha= t it nicely fits with taproot as follows: >>>=20 >>> 1. A covenant in the form of '_ covenant C=E2=80=99 on output means that= it can be spent to an output that maches the covenant pattern with placehol= der _ and the output(s) will be assigned 'covenant C'. >>> 2. A covenant that mandates an output script with alternate validation p= aths can also assign alternate covernants to be inherited by the output(s) d= epending on which path was used to spend the input eg. 'covenant or(c covena= nt C, d covernant D)=E2=80=99 >>> 3. The resulting covenant of outputs should be reduced following boolean= algebra, e.g. or(b,or(b,a)) to or(b, a) >>> 4. express transitivity with 'covenant transitive=E2=80=99 which means t= he output will have the same covenant as the input >>> 5. allow to omit covenant on the output with 'covenant drop' >>>=20 >>> The covenant Bob would assign to the loan output sent to Alice is: 'cove= nant or(and(time(100),pk(Bob)) covenant drop, _ covenant transitive)' which m= eans: >>> - Alice can send to an output script where she is free to chose the embe= dded script at the placeholder _ and that output will again have the same co= venant as the input. >>> - After maturity Bob can claim any coin that is transitively rooted in t= he loan (more on this later) and the covenant will no longer be assigned to h= is new output(s). >>>=20 >>> Assuming Alice wants to send some of the borrowed coins to Charlie: >>>=20 >>> for shorter notation lets use b=3D'and(time(100),pk(Bob)) covenant drop=E2= =80=99 for the script that gives Bob control after maturity. >>>=20 >>> Alice can not send to pk(Charlie), but she can send to or(b, pk(Charlie)= covenant transitive) >>> Sending to pk(Charlie) would be sending cash, sending to or(b, pk(Charli= e) covenant transitive) is a promissory note issued by Alice to Charlie, her= e is why: >>>=20 >>> If Charlie accepts an or(b, pk(Charlie) covenant transitive) output then= he trusts, that Alice will offer a regular payment in exchange for it befor= e maturity, since that output is worthless to Charlie after maturity as Bob c= an just take it. >>>=20 >>> It seems at the first sight that there is no value in these outputs for C= harlie, since he still has to ensure Alice replaces them before maturity. >>>=20 >>> The value of these outputs to Charlie is the proof that he has exclusive= control of the coins until maturity. >>=20 >> At a minimum, money that predictably depreciates (to zero in this case) m= ust be discounted accordingly. How much is money worth today that is worth z= ero tomorrow? This can be observed with both inflation and demurrage money. T= his also implies that each encumbered coin is not fungible with any other of= a distinct discount schedule. >>=20 >> What is the economic consequence of lending discounted money? Lower inter= est rates. How much lower? The rate of depreciation. This can also be observ= ed with inflation and demurrage, but observation isn=E2=80=99t required. Thi= s is a necessary outcome. >>=20 >> So when one lends 1 demurrage coin for a term one cannot earn interest on= 1 coin, one is earning interest on a fraction of a coin. That fraction crea= tes credit expansion and reduces return in direct proportion to the risk tha= t has been offset. In other words, the risk cost has been converted to oppor= tunity cost. The discounted fraction earns no interest. >>=20 >> So credit expansion and risk remain, in the same proportions as without s= uch a system. However lack of fungibility introduces an additional overhead c= ost. >>=20 >> e >>=20 >>> Alice can not issue promissory notes in excess of own capital or capital= that she was able to borrow. No coin inflation or fractional reserve here, w= hich also reduces the credit risk Charlie takes. >>>=20 >>> Due to the transitive covenant Charlie could pass on the coins to an oth= er temporary owner until maturity when Bob would re-collect them uncondition= ally. >>>=20 >>> Should Charlie no longer be comfortable with Alice=E2=80=99s promise or n= eed final coins (cash) immediatelly, then he could turn to Dan and do a re-p= urchase (repo) agreement with him. >>>=20 >>> Charlie would receive final coins from Dan in exchange for the temporari= ly controled coins and Charlie's promise to replace them with final coins be= fore maturity. >>> Dan would thereby charge high interest through a discount since as he ha= s to bear the credit risk of Charlie. This is not a riskless but a plain zer= o bond. >>>=20 >>> Why would Dan want to take temporary control of the coins at all? Again,= to ensure Charlie is not doing yet another repo with Frank on the same coin= s, the sum of Charlie's repo deals are not in excess of his claims against o= thers. >>> This again avoids lending in excess of coin supply and reduces the credi= t risk Dan takes. >>>=20 >>> Here are the sketches for the transacions for above alternate actions: >>>=20 >>> lets use shortcut c for 'or(and(time(100),pk(Bob)) covenant drop, _ cove= nant transitive)=E2=80=99 >>>=20 >>> the transactions offer a fee of 0.0001 >>>=20 >>> Bob gives a riskless credit to Alice: >>>=20 >>> Input Output >>> 1 pk(Bob) 1 or(b,pk(Alice) covenant c) >>> 0.1 pk(Alice) 0.9999 pk(Bob) >>>=20 >>> Alice could send a 0.5 promissory note to Charlie: >>>=20 >>> Input Output >>> 1 or(pk(Alice) covenant c) 0.5 or(b,pk(Charlie) covenant c) >>> 1 pk(Alice) 0.5 or(b,pk(Alice) covenant c) >>> 0.9999 pk(Alice) >>>=20 >>> Alice could make good of the note before maturity, pay some interest and= get back temporary control of the coins with: >>> Input Output >>> 0.5 or(b,pk(Charlie) covenant c) 0.5 or(b,pk(Alice) covenant c) >>> 0.5101 pk(Alice) 0.51 pk(Charlie) >>>=20 >>> alternatively Charlie borrows from Dan at high interest: >>>=20 >>> Input Output >>> 0.5 or(b,pk(Charlie) covenant c) 0.5 or(b,pk(Dan) covenant c) >>> 0.3001 pk(Dan) 0.3 pk(Charlie) >>>=20 >>> and Charlie re-purchases the temporary coins before maturity, making goo= d of the repo with Dan: >>>=20 >>> Input Output >>> 0.5 or(b,pk(Dan) covenant c) 0.5 or(b,pk(Charlie) covenant c)= >>> 0.5001 pk(Charlie) 0.5 pk(Dan) >>>=20 >>> We need to define further transaction level validations for transactions= spending inputs with covenants as follows: >>>=20 >>> 1. If there are inputs without covenant before the input with covenant t= han inputs without covenant must be spent exactly with outputs preceeding th= e outputs with covenants. >>> 2. A transaction can have inputs with different covenants, their allocat= ion to outputs should follow input order. >>> 3. For output(s) that share input(s) with covenant, the sum of covenant o= utputs must exactly add up to the input(s). This allows merging and splittin= g them. >>>=20 >>> Bob would re-collect his coins at maturity unconditionally. Who followed= through promises or defaulted down the transitive chain is irrelevant to hi= m. >>> Remark: we might also need a covenant attribute defining the minimum siz= e of output, so Bob is not forced to collect dust, which would be expensive o= r even impossible. I am not yet happy with this solution, looking for better= . >>>=20 >>> I am very excited about the possibilities this proposal would unlock and= ask you verify usefulness of this scheme and join working out the details a= nd how covenants would be integrated with taproot. >>>=20 >>> Tamas Blummer >>>=20 >>> [1] Malte Moser, Ittay Eyal, and Emin Gun Sirer. Bitcoin Covenants. URL:= http://fc16.ifca.ai/bitcoin/papers/MES16.pdf >>> _______________________________________________ >>> bitcoin-dev mailing list >>> bitcoin-dev@lists.linuxfoundation.org >>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev >=20 --Apple-Mail-A6F96C51-0E07-4567-8329-BE433B666D46 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable <html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D= utf-8"></head><body dir=3D"auto"><div dir=3D"ltr"><span></span></div><div di= r=3D"ltr"><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D= utf-8"><div dir=3D"ltr"><span></span></div><div dir=3D"ltr"><meta http-equiv= =3D"content-type" content=3D"text/html; charset=3Dutf-8"><div dir=3D"ltr"><s= pan></span></div><div dir=3D"ltr"><div dir=3D"ltr"></div><div dir=3D"ltr"><b= r></div><div dir=3D"ltr">On Jun 28, 2019, at 12:21, Tamas Blummer <<a hre= f=3D"mailto:tamas.blummer@gmail.com">tamas.blummer@gmail.com</a>> wrote:<= br><br></div><blockquote type=3D"cite"><div dir=3D"ltr"><meta http-equiv=3D"= Content-Type" content=3D"text/html charset=3Dutf-8"><div class=3D"">Hi Eric,= </div><div class=3D""><br class=3D""></div><div class=3D"">Thank you for you= r questions as they show what concepts need further explanation, so you unde= rstand the potential of this proposal and how it is helpful to the ecosystem= .</div><div class=3D""><br class=3D""></div><div class=3D"">Riskless zero bo= nd is in fact the most basic concept of financial engineering. Yes, there ar= e engineers of finance, those who create and price financial derivatives (e.= g. options, swaps) and structure products such as e.g. ABS, CDO etc.</div><d= iv class=3D"">I used to be one of them.</div><div class=3D""><br class=3D"">= </div><div class=3D"">A zero bond formalizes the observation that 1 unit of c= urrency in the future has different value than 1 unit available now. It is c= alled riskless if it is certain to receive the payment in the future.</div><= div class=3D"">If we put this difference of vaue in relation to the amount t= hen we get the =E2=80=9Crisk freee rate of return=E2=80=9D, that you heard o= f.</div><div class=3D""><br class=3D""></div><div class=3D"">E.g if one is w= illing to exchange 1 BTC unconditionally available now for 1.1 BTC certainly= available in a year but not earlier, then the implied =E2=80=9Crisk free ra= te of return=E2=80=9D is apparently 10% pa. for Bitcoins.</div></div></block= quote><div><br></div><div>As I implied, I am well aware of the concept of ri= sk free rate of return, which is a hypothetical.</div><br><blockquote type=3D= "cite"><div dir=3D"ltr"><div class=3D"">The transaction I construct in the f= irst example achives exactly this, because:</div></div></blockquote><div><br= ></div><div>Which implies you have created an actual instance of this hereto= fore purely hypothetical concept.</div><br><blockquote type=3D"cite"><div di= r=3D"ltr"><div class=3D"">Bob forgoes his ability to use his unconditionally= available coins by giving them to Alice with a covenant that ensures that B= ob will receive them back later.</div><div class=3D"">Bob does this because A= lice pays for this in advance. </div><div class=3D""><br class=3D""></d= iv><div class=3D"">Alice can further transfer the coins encumbered by the co= venant, but they will unconditionally return to Bob in the future. </di= v></div></blockquote><div><br></div><div>Why would Alice pay for this at all= ?</div><br><blockquote type=3D"cite"><div dir=3D"ltr"><div class=3D"">The ut= ility of these encumbered coins is that they prove that the loan is fully co= vered by reserves.</div></div></blockquote><div><br></div><div>What loan? Al= ice has paid Bob for something of no possible utility to her, or anyone else= .</div><div><br></div><div>Bitcoin is a money, not consumable in any way. It= s utility arises strictly from the possibility of eventually being traded fo= r something else. The only reason to accept it in trade is that expectation.= Removing that possibility, even transitively and over time, removes all uti= lity immediately. In my previous comments I described a necessary discount t= o NPV, but it=E2=80=99s safe to say that must be 100%.</div><div><br></div><= blockquote type=3D"cite"><div dir=3D"ltr"><div class=3D"">How valuable this u= tility is will be decided by the market</div></div></blockquote><div dir=3D"= ltr"><br></div><div dir=3D"ltr">Value is of course subjective, and is determ= ined by individual preferences. Yet what is the value one might place on som= ething of no use? Economically speaking it must be zero, since value is a su= bjective evaluation of utility (i.e. service to a person).</div><div dir=3D"= ltr"><br></div><div dir=3D"ltr">Consider the case of the 1000 and 500 rupee d= emonetization. Long lines of people formed at banks to convert to notes to o= thers of equivalent denomination.</div><div dir=3D"ltr"><br></div><div dir=3D= "ltr"><a href=3D"https://en.m.wikipedia.org/wiki/2016_Indian_banknote_demone= tisation">https://en.m.wikipedia.org/wiki/2016_Indian_banknote_demonetisatio= n</a></div><div dir=3D"ltr"><br></div><div dir=3D"ltr">Of course, upon annou= ncement of the demonetization, existing 1000/500 rupee notes were discounted= for the cost/risk of accomplishing this conversion (several people are repo= rted to have died in the effort). If there was no such conversion possible, m= aking the notes worthless at the future date, the *immediate* effect would n= ecessarily have been 100% discount.</div><div dir=3D"ltr"><br></div><div dir= =3D"ltr"><span style=3D"background-color: rgba(255, 255, 255, 0);">This of c= ourse sets aside any consumable value of the =E2=80=9Cpaper=E2=80=9D notes, s= uch as burning for heat or trading as novelties (e.g. demonetized Zimbabwean= 100T notes currently trading), as Bitcoin is not capable of being consumed.= It also sets aside the possibility that some people were unaware of the dem= onetization.</span></div><div dir=3D"ltr"><br></div><div dir=3D"ltr">Who wou= ld accept such a note today that was known to be worthless at a future date?= If they did, who would would accept it from them? It=E2=80=99s literally an= on-chain scamcoin, where the first sucker must find another, and he another= , an so on, as soon as possible, before it expires, leaving the last sucker h= olding the bag. Given an efficient market (i.e perfect knowledge of the scam= ), zero initial value is implied.</div><br><blockquote type=3D"cite"><div di= r=3D"ltr"><div class=3D"">and that value will be interest received by those w= ho temporarily give up control. I am guess the value will be low but positiv= e.</div></div></blockquote><div><br></div><div>Giving up control of money fo= r a period does not imply the money is useful to someone else. Bob might as w= ell lock his coins in a time capsule, for which he has the only key, and ask= Alice to pay him for it.</div><br><blockquote type=3D"cite"><div dir=3D"ltr= "><div class=3D"">Lending does not mandate fractional or full reserves.</div= ></div></blockquote><div><br></div><div>I didn=E2=80=99t say that it does. L= ending implies no =E2=80=9Cmandate=E2=80=9D. But the nature of fractional re= servation is inherent in every loan/investment. </div><div><br></div><b= lockquote type=3D"cite"><div dir=3D"ltr"><div class=3D""> These are choices t= he market or regulators enforce.</div></div></blockquote><div><br></div><div= ><span style=3D"background-color: rgba(255, 255, 255, 0);">Fractional reserv= ation is not a consequence of statutory or market controls. The level of hoa= rding vs. lending is a consequence of individual time preference.</span></di= v><br><blockquote type=3D"cite"><div dir=3D"ltr"><div class=3D"">Full reserv= e banking is not a fiction but is how things worked before introduction of g= old receipts. A bank could only lend gold coins it possesed. Perils of fract= ional reserve were felt repeatedly by the Bitcoin ecnomy e.g. in the collaps= of MtGox.</div></div></blockquote><div><br></div><div>I don=E2=80=99t belie= ve I called full reserve a fiction. With full reserve there is no possible i= nvestment, production or products. Unlikely, and disastrous for humanity, bu= t not provably impossible.</div><div><br></div><div>A hazard of viewing econ= omic concepts through a financial lens is that those higher order concepts b= ecome obscured by a morass of economically-irrelevant regulation and impleme= ntation details.</div><div><br></div><div>At this point we are going to end u= p in a discussion on what fractional reserve actually is. I=E2=80=99d be hap= py to have a discussion on the topic, but this list is clearly not a good fo= rum for that.</div><div><br></div><div>Furthermore the question of whether o= r not this proposal is relevant to fractional reserve is moot unless it can b= e shown that the assumed utility actually exists. So I suggest we take this i= nteresting but secondary question on fractional reserve somewhere else.</div= ><div><br></div><blockquote type=3D"cite"><div dir=3D"ltr"><div class=3D"">T= he idea to return to full reserve banking is not unique to gold bugs or Bitc= oin but recently a popular vote was initiated in Switzerland to force Swiss b= anks to full reserves with respect to lending. This popular vote achived &nb= sp;24% support [1] which is quite remarkable if considered that the topic is= not trivial as also our exchange shows.</div></div></blockquote><div><br></= div><div>It shows the breadth of economic ignorance which is not surprising g= iven its counterintuitive nature.</div><div><br></div><div>Best,</div><div>E= ric</div><br><blockquote type=3D"cite"><div dir=3D"ltr"><div class=3D"">I pu= blished today a writing in medium, that explains the concept of fractional v= s. full reserve banking in conjunction with this proposal. Please read: = ;<a href=3D"https://medium.com/@tamas.blummer/full-reserve-banking-with-bitc= oin-462b21ae9479" class=3D"">https://medium.com/@tamas.blummer/full-reserve-= banking-with-bitcoin-462b21ae9479</a></div><div class=3D""><br class=3D""></= div><div class=3D"">I would welcome feedback on the generalized covenant con= struct or its implementation, as I think it can open up much more uses than t= he few examples I gave.</div><div class=3D""><br class=3D""></div><div class= =3D"">Tamas Blummer</div><div class=3D""><br class=3D""></div><div class=3D"= ">[1] Vollgeld Initiative: <a href=3D"https://www.bfs.admin.ch/bfs/de/h= ome/statistiken/politik/abstimmungen/jahr-2018/2018-06-10/vollgeld-initiativ= e.html" class=3D"">https://www.bfs.admin.ch/bfs/de/home/statistiken/politik/= abstimmungen/jahr-2018/2018-06-10/vollgeld-initiative.html</a></div><br clas= s=3D""><div><blockquote type=3D"cite" class=3D""><div class=3D"">On Jun 28, 2= 019, at 19:25, Eric Voskuil <<a href=3D"mailto:eric@voskuil.org" class=3D= "">eric@voskuil.org</a>> wrote:</div><br class=3D"Apple-interchange-newli= ne"><div class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; f= ont-style: normal; font-variant-caps: normal; font-weight: normal; letter-sp= acing: normal; text-align: start; text-indent: 0px; text-transform: none; wh= ite-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float:= none; display: inline !important;" class=3D"">Hi Tamas,</span><br style=3D"= font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-ca= ps: normal; font-weight: normal; letter-spacing: normal; text-align: start; t= ext-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0p= x; -webkit-text-stroke-width: 0px;" class=3D""><br style=3D"font-family: Hel= vetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font= -weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px= ; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text= -stroke-width: 0px;" class=3D""><span style=3D"font-family: Helvetica; font-= size: 12px; font-style: normal; font-variant-caps: normal; font-weight: norm= al; letter-spacing: normal; text-align: start; text-indent: 0px; text-transf= orm: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width= : 0px; float: none; display: inline !important;" class=3D"">There are a numb= er of economic assumptions contained herein. While I understand you would li= ke to focus on implementation, the worst bugs are requirements bugs. IMO the= se should be addressed first. I=E2=80=99ve addressed some possible issues in= line.</span><br style=3D"font-family: Helvetica; font-size: 12px; font-style= : normal; font-variant-caps: normal; font-weight: normal; letter-spacing: no= rmal; text-align: start; text-indent: 0px; text-transform: none; white-space= : normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><br= style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; font-= variant-caps: normal; font-weight: normal; letter-spacing: normal; text-alig= n: start; text-indent: 0px; text-transform: none; white-space: normal; word-= spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><blockquote type=3D= "cite" style=3D"font-family: Helvetica; font-size: 12px; font-style: normal;= font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orp= hans: auto; text-align: start; text-indent: 0px; text-transform: none; white= -space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: a= uto; -webkit-text-stroke-width: 0px;" class=3D"">On Jun 28, 2019, at 01:27, T= amas Blummer via bitcoin-dev <<a href=3D"mailto:bitcoin-dev@lists.linuxfo= undation.org" class=3D"">bitcoin-dev@lists.linuxfoundation.org</a>> wrote= :<br class=3D""><br class=3D"">I start with a formalisation of loans as comm= on in finance:<br class=3D""><br class=3D"">A zero bond is a contract betwee= n two parties Alice and Bob whereby Alice receives an amount less than P and= has to pay back P at a later time point called maturity.<br class=3D"">The d= ifference between the amount received and P is the interest implied by the c= ontract. E.g. receiving 1 Bitcoin (<P) and agree to pay back 1.1 (=3DP) i= n a year is the same as getting a loan with 10% p.a. interest.<br class=3D""= ><br class=3D"">The inherent risk in the contract is that Alice may not hono= r the agreement or be bankrupt by then.<br class=3D""><br class=3D"">If we c= ould programmatically guarantee that Alice honors the contract then we would= be able to create a riskless zero bond, the fundation of financial engineer= ing.<br class=3D""></blockquote><br style=3D"font-family: Helvetica; font-si= ze: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal= ; letter-spacing: normal; text-align: start; text-indent: 0px; text-transfor= m: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0= px;" class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; font= -style: normal; font-variant-caps: normal; font-weight: normal; letter-spaci= ng: normal; text-align: start; text-indent: 0px; text-transform: none; white= -space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: no= ne; display: inline !important;" class=3D"">I=E2=80=99m not aware of the bas= is of this statement. While people use the term =E2=80=9Crisk free rate of r= eturn=E2=80=9D there has never actually been such a thing. It=E2=80=99s not c= lear to me how a unicorn has been the foundation of =E2=80=9Cfinancial engin= eering=E2=80=9D, but I=E2=80=99m not also clear and what is intended by =E2=80= =9Cengineering=E2=80=9D in this sense. Generally engineering is the implemen= tation of higher level concepts. It is those concepts that constitute requir= ements here.</span><br style=3D"font-family: Helvetica; font-size: 12px; fon= t-style: normal; font-variant-caps: normal; font-weight: normal; letter-spac= ing: normal; text-align: start; text-indent: 0px; text-transform: none; whit= e-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D= ""><br style=3D"font-family: Helvetica; font-size: 12px; font-style: normal;= font-variant-caps: normal; font-weight: normal; letter-spacing: normal; tex= t-align: start; text-indent: 0px; text-transform: none; white-space: normal;= word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><span style=3D= "font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-c= aps: normal; font-weight: normal; letter-spacing: normal; text-align: start;= text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0= px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;= " class=3D"">At a minimum, interest cannot be guaranteed by this proposal, w= hich implies that at best it guarantees, setting aside changes in purchasing= power, a return of principle minus economic interest on that principle (ie o= pportunity cost). Given that purchasing power changes over time, risk increa= ses with the term of the loan. As such this is not riskless - both volatilit= y and opportunity cost remain as risks.</span><br style=3D"font-family: Helv= etica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-= weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px;= text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-= stroke-width: 0px;" class=3D""><br style=3D"font-family: Helvetica; font-siz= e: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal;= letter-spacing: normal; text-align: start; text-indent: 0px; text-transform= : none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0= px;" class=3D""><blockquote type=3D"cite" style=3D"font-family: Helvetica; f= ont-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: n= ormal; letter-spacing: normal; orphans: auto; text-align: start; text-indent= : 0px; text-transform: none; white-space: normal; widows: auto; word-spacing= : 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;" clas= s=3D"">A systemic problem with loans is that the lender might operate on fra= ctional reserve, that is lending more than his capital.<br class=3D""></bloc= kquote><br style=3D"font-family: Helvetica; font-size: 12px; font-style: nor= mal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal;= text-align: start; text-indent: 0px; text-transform: none; white-space: nor= mal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><span st= yle=3D"font-family: Helvetica; font-size: 12px; font-style: normal; font-var= iant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: s= tart; text-indent: 0px; text-transform: none; white-space: normal; word-spac= ing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !impo= rtant;" class=3D"">This is not a systemic problem, this is the very nature o= f lending. Fractional reserve is simply a state banking term used to describ= e the fact that people invest (lend) a fraction of their savings and hoard t= he rest. It matters not that banks or individuals do this, credit expansion i= s inherent in economy. Without it there is no investment and therefore no pr= oduction whatsoever.</span><br style=3D"font-family: Helvetica; font-size: 1= 2px; font-style: normal; font-variant-caps: normal; font-weight: normal; let= ter-spacing: normal; text-align: start; text-indent: 0px; text-transform: no= ne; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"= class=3D""><br style=3D"font-family: Helvetica; font-size: 12px; font-style= : normal; font-variant-caps: normal; font-weight: normal; letter-spacing: no= rmal; text-align: start; text-indent: 0px; text-transform: none; white-space= : normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><bl= ockquote type=3D"cite" style=3D"font-family: Helvetica; font-size: 12px; fon= t-style: normal; font-variant-caps: normal; font-weight: normal; letter-spac= ing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transf= orm: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-tex= t-size-adjust: auto; -webkit-text-stroke-width: 0px;" class=3D"">Unchecked i= nflation of money supply through fractional reserve is creating a mess in th= e world we live in. Bitcoin could overcome this mess implementing this propo= sal!<br class=3D""></blockquote><br style=3D"font-family: Helvetica; font-si= ze: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal= ; letter-spacing: normal; text-align: start; text-indent: 0px; text-transfor= m: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0= px;" class=3D""><span style=3D"font-family: Helvetica; font-size: 12px; font= -style: normal; font-variant-caps: normal; font-weight: normal; letter-spaci= ng: normal; text-align: start; text-indent: 0px; text-transform: none; white= -space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: no= ne; display: inline !important;" class=3D"">You seem to be conflating state b= anking with the effects of investing. Taxpayer support for bank investment c= reates both a moral hazard (and the resulting misallocation of capital to st= ate-favored projects, creating the famed economic =E2=80=9Cbusiness cycle=E2= =80=9D) and is a manifestation of persistent monetary inflation (ie seignior= age is a source taxation. Investment implies credit expansion, and the level= of this expansion is controlled by time preference alone.</span><br style=3D= "font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-c= aps: normal; font-weight: normal; letter-spacing: normal; text-align: start;= text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0= px; -webkit-text-stroke-width: 0px;" class=3D""><br style=3D"font-family: He= lvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; fon= t-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0p= x; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-tex= t-stroke-width: 0px;" class=3D""><blockquote type=3D"cite" style=3D"font-fam= ily: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: norm= al; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: s= tart; text-indent: 0px; text-transform: none; white-space: normal; widows: a= uto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-= width: 0px;" class=3D"">I stop here with finance speak as the purpose of thi= s mail is not to dive into finance, but to show how loans with full reserve c= heck could be implemented in Bitcoin.<br class=3D""><br class=3D"">1. Receiv= ing the loan is a payment from Bob to Alice, but we need a restriction how A= lice can use the funds, so Bob can get them back unconditionally at maturity= , so lending is riskless to him.<br class=3D"">2. Bob wants to receive inter= est, since he gives up his control of the coins until maturity, he can not u= se them elsewhere until then. That interest could be paid in advance, this c= an be solved with Bitcoin as is.<br class=3D""></blockquote><br style=3D"fon= t-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps:= normal; font-weight: normal; letter-spacing: normal; text-align: start; tex= t-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;= -webkit-text-stroke-width: 0px;" class=3D""><span style=3D"font-family: Hel= vetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font= -weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px= ; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text= -stroke-width: 0px; float: none; display: inline !important;" class=3D"">Int= erest cannot be paid in advance. This implies nothing more than a smaller am= ount of principle.</span><br style=3D"font-family: Helvetica; font-size: 12p= x; font-style: normal; font-variant-caps: normal; font-weight: normal; lette= r-spacing: normal; text-align: start; text-indent: 0px; text-transform: none= ; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" c= lass=3D""><br style=3D"font-family: Helvetica; font-size: 12px; font-style: n= ormal; font-variant-caps: normal; font-weight: normal; letter-spacing: norma= l; text-align: start; text-indent: 0px; text-transform: none; white-space: n= ormal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><block= quote type=3D"cite" style=3D"font-family: Helvetica; font-size: 12px; font-s= tyle: normal; font-variant-caps: normal; font-weight: normal; letter-spacing= : normal; orphans: auto; text-align: start; text-indent: 0px; text-transform= : none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-s= ize-adjust: auto; -webkit-text-stroke-width: 0px;" class=3D"">How do we allo= w Alice to use the coins, that is: split/merge and transfer them to others, b= ut still ensure Bob can claim them back at maturity?<br class=3D""><br class= =3D"">We ensure that Alice can only send the coins to outputs that inherit a= taproot path of validation (using <a href=3D"http://bitcoin.sipa.be/miniscr= ipt/" class=3D"">http://bitcoin.sipa.be/miniscript/</a>): 'and(time(100),pk(= C))' where C is Bob=E2=80=99s key and 100 is maturity<br class=3D""><br clas= s=3D"">This requires a generalization of the Bitcoin Covenants Idea[1] such t= hat it nicely fits with taproot as follows:<br class=3D""><br class=3D"">1. A= covenant in the form of '_ covenant C=E2=80=99 on output means that it can b= e spent to an output that maches the covenant pattern with placeholder _ &nb= sp;and the output(s) will be assigned 'covenant C'.<br class=3D"">2. A coven= ant that mandates an output script with alternate validation paths can also a= ssign alternate covernants to be inherited by the output(s) depending on whi= ch path was used to spend the input eg. 'covenant or(c covenant C, d coverna= nt D)=E2=80=99<br class=3D"">3. The resulting covenant of outputs should be r= educed following boolean algebra, e.g. or(b,or(b,a)) to or(b, a)<br class=3D= "">4. express transitivity with 'covenant transitive=E2=80=99 which means th= e output will have the same covenant as the input<br class=3D"">5. allow to o= mit covenant on the output with 'covenant drop'<br class=3D""><br class=3D""= >The covenant Bob would assign to the loan output sent to Alice is: 'covenan= t or(and(time(100),pk(Bob)) covenant drop, _ covenant transitive)' which mea= ns:<br class=3D"">- Alice can send to an output script where she is free to c= hose the embedded script at the placeholder _ and that output will again hav= e the same covenant as the input.<br class=3D"">- After maturity Bob can cla= im any coin that is transitively rooted in the loan (more on this later) and= the covenant will no longer be assigned to his new output(s).<br class=3D""= ><br class=3D"">Assuming Alice wants to send some of the borrowed coins to C= harlie:<br class=3D""><br class=3D"">for shorter notation lets use b=3D'and(= time(100),pk(Bob)) covenant drop=E2=80=99 for the script that gives Bob cont= rol after maturity.<br class=3D""><br class=3D"">Alice can not send to pk(Ch= arlie), but she can send to or(b, pk(Charlie) covenant transitive)<br class=3D= "">Sending to pk(Charlie) would be sending cash, sending to or(b, pk(Charlie= ) covenant transitive) is a promissory note issued by Alice to Charlie, here= is why:<br class=3D""><br class=3D"">If Charlie accepts an or(b, pk(Charlie= ) covenant transitive) output then he trusts, that Alice will offer a regula= r payment in exchange for it before maturity, since that output is worthless= to Charlie after maturity as Bob can just take it.<br class=3D""><br class=3D= "">It seems at the first sight that there is no value in these outputs for C= harlie, since he still has to ensure Alice replaces them before maturity.<br= class=3D""><br class=3D"">The value of these outputs to Charlie is the proo= f that he has exclusive control of the coins until maturity.<br class=3D""><= /blockquote><br style=3D"font-family: Helvetica; font-size: 12px; font-style= : normal; font-variant-caps: normal; font-weight: normal; letter-spacing: no= rmal; text-align: start; text-indent: 0px; text-transform: none; white-space= : normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><sp= an style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; fon= t-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-al= ign: start; text-indent: 0px; text-transform: none; white-space: normal; wor= d-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline= !important;" class=3D"">At a minimum, money that predictably depreciates (t= o zero in this case) must be discounted accordingly. How much is money worth= today that is worth zero tomorrow? This can be observed with both inflation= and demurrage money. This also implies that each encumbered coin is not fun= gible with any other of a distinct discount schedule.</span><br style=3D"fon= t-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps:= normal; font-weight: normal; letter-spacing: normal; text-align: start; tex= t-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;= -webkit-text-stroke-width: 0px;" class=3D""><br style=3D"font-family: Helve= tica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-w= eight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; t= ext-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-st= roke-width: 0px;" class=3D""><span style=3D"font-family: Helvetica; font-siz= e: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal;= letter-spacing: normal; text-align: start; text-indent: 0px; text-transform= : none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0= px; float: none; display: inline !important;" class=3D"">What is the economi= c consequence of lending discounted money? Lower interest rates. How much lo= wer? The rate of depreciation. This can also be observed with inflation and d= emurrage, but observation isn=E2=80=99t required. This is a necessary outcom= e.</span><br style=3D"font-family: Helvetica; font-size: 12px; font-style: n= ormal; font-variant-caps: normal; font-weight: normal; letter-spacing: norma= l; text-align: start; text-indent: 0px; text-transform: none; white-space: n= ormal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><br st= yle=3D"font-family: Helvetica; font-size: 12px; font-style: normal; font-var= iant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: s= tart; text-indent: 0px; text-transform: none; white-space: normal; word-spac= ing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><span style=3D"font-fa= mily: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: nor= mal; font-weight: normal; letter-spacing: normal; text-align: start; text-in= dent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -we= bkit-text-stroke-width: 0px; float: none; display: inline !important;" class= =3D"">So when one lends 1 demurrage coin for a term one cannot earn interest= on 1 coin, one is earning interest on a fraction of a coin. That fraction c= reates credit expansion and reduces return in direct proportion to the risk t= hat has been offset. In other words, the risk cost has been converted to opp= ortunity cost. The discounted fraction earns no interest.</span><br style=3D= "font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-c= aps: normal; font-weight: normal; letter-spacing: normal; text-align: start;= text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0= px; -webkit-text-stroke-width: 0px;" class=3D""><br style=3D"font-family: He= lvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; fon= t-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0p= x; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-tex= t-stroke-width: 0px;" class=3D""><span style=3D"font-family: Helvetica; font= -size: 12px; font-style: normal; font-variant-caps: normal; font-weight: nor= mal; letter-spacing: normal; text-align: start; text-indent: 0px; text-trans= form: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-widt= h: 0px; float: none; display: inline !important;" class=3D"">So credit expan= sion and risk remain, in the same proportions as without such a system. Howe= ver lack of fungibility introduces an additional overhead cost.</span><br st= yle=3D"font-family: Helvetica; font-size: 12px; font-style: normal; font-var= iant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: s= tart; text-indent: 0px; text-transform: none; white-space: normal; word-spac= ing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><br style=3D"font-fami= ly: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: norma= l; font-weight: normal; letter-spacing: normal; text-align: start; text-inde= nt: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webk= it-text-stroke-width: 0px;" class=3D""><span style=3D"font-family: Helvetica= ; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weigh= t: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text= -transform: none; white-space: normal; word-spacing: 0px; -webkit-text-strok= e-width: 0px; float: none; display: inline !important;" class=3D"">e</span><= br style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; fon= t-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-al= ign: start; text-indent: 0px; text-transform: none; white-space: normal; wor= d-spacing: 0px; -webkit-text-stroke-width: 0px;" class=3D""><br style=3D"fon= t-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps:= normal; font-weight: normal; letter-spacing: normal; text-align: start; tex= t-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px;= -webkit-text-stroke-width: 0px;" class=3D""><blockquote type=3D"cite" style= =3D"font-family: Helvetica; font-size: 12px; font-style: normal; font-varian= t-caps: normal; font-weight: normal; letter-spacing: normal; orphans: auto; t= ext-align: start; text-indent: 0px; text-transform: none; white-space: norma= l; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-= text-stroke-width: 0px;" class=3D"">Alice can not issue promissory notes in e= xcess of own capital or capital that she was able to borrow. No coin inflati= on or fractional reserve here, which also reduces the credit risk Charlie ta= kes.<br class=3D""><br class=3D"">Due to the transitive covenant Charlie cou= ld pass on the coins to an other temporary owner until maturity when Bob wou= ld re-collect them unconditionally.<br class=3D""><br class=3D"">Should Char= lie no longer be comfortable with Alice=E2=80=99s promise or need final coin= s (cash) immediatelly, then he could turn to Dan and do a re-purchase (repo)= agreement with him.<br class=3D""><br class=3D"">Charlie would receive fina= l coins from Dan in exchange for the temporarily controled coins and Charlie= 's promise to replace them with final coins before maturity.<br class=3D"">D= an would thereby charge high interest through a discount since as he has to b= ear the credit risk of Charlie. This is not a riskless but a plain zero bond= .<br class=3D""><br class=3D"">Why would Dan want to take temporary control o= f the coins at all? Again, to ensure Charlie is not doing yet another repo w= ith Frank on the same coins, the sum of Charlie's repo deals are not in exce= ss of his claims against others.<br class=3D"">This again avoids lending in e= xcess of coin supply and reduces the credit risk Dan takes.<br class=3D""><b= r class=3D"">Here are the sketches for the transacions for above alternate a= ctions:<br class=3D""><br class=3D"">lets use shortcut c for 'or(and(time(10= 0),pk(Bob)) covenant drop, _ covenant transitive)=E2=80=99<br class=3D""><br= class=3D"">the transactions offer a fee of 0.0001<br class=3D""><br class=3D= "">Bob gives a riskless credit to Alice:<br class=3D""><br class=3D"">Input &= nbsp; Output<br c= lass=3D"">1 pk(Bob) 1 or(b,pk(Alic= e) covenant c)<br class=3D"">0.1 pk(Alice) &nb= sp; 0.9999 pk(Bob)<br class=3D""><br class=3D"">Alice could send a 0.5 p= romissory note to Charlie:<br class=3D""><br class=3D"">Input &n= bsp; = Output<br class=3D"">1 or(pk(Alice) covenant c) &nbs= p; 0.5 or(b,pk(Charlie) covenant c)<br cl= ass=3D"">1 pk(Alice) &= nbsp; 0.5 or(b,pk(Alice) covenant c)<br class=3D= ""> &= nbsp; 0.9999 pk(Alice)<br class=3D""><br class=3D= "">Alice could make good of the note before maturity, pay some interest and g= et back temporary control of the coins with:<br class=3D"">Input  = ; &nb= sp; Output<br class=3D"">0.5 o= r(b,pk(Charlie) covenant c) 0.5 or= (b,pk(Alice) covenant c)<br class=3D"">0.5101 pk(Alice) &n= bsp; 0.51 p= k(Charlie)<br class=3D""><br class=3D"">alternatively Charlie borrows from D= an at high interest:<br class=3D""><br class=3D"">Input &n= bsp; = Output<br class=3D"">0.5 or(b,pk(C= harlie) covenant c) 0.5 or(b,pk(Da= n) covenant c)<br class=3D"">0.3001 pk(Dan) &n= bsp; 0.3 pk(Charlie)<br= class=3D""><br class=3D"">and Charlie re-purchases the temporary coins befo= re maturity, making good of the repo with Dan:<br class=3D""><br class=3D"">= Input &nbs= p; &n= bsp; Output<br class=3D"">0.5 or(b,pk(Dan) covenant c) &nbs= p; 0.5 or(b,pk(Charlie)= covenant c)<br class=3D"">0.5001 pk(Charlie) = &nbs= p; 0.5 pk(Dan)<br class=3D""><br class=3D"">We need to define further t= ransaction level validations for transactions spending inputs with covenants= as follows:<br class=3D""><br class=3D"">1. If there are inputs without cov= enant before the input with covenant than inputs without covenant must be sp= ent exactly with outputs preceeding the outputs with covenants.<br class=3D"= ">2. A transaction can have inputs with different covenants, their allocatio= n to outputs should follow input order.<br class=3D"">3. For output(s) that s= hare input(s) with covenant, the sum of covenant outputs must exactly add up= to the input(s). This allows merging and splitting them.<br class=3D""><br c= lass=3D"">Bob would re-collect his coins at maturity unconditionally. Who fo= llowed through promises or defaulted down the transitive chain is irrelevant= to him.<br class=3D"">Remark: we might also need a covenant attribute defin= ing the minimum size of output, so Bob is not forced to collect dust, which w= ould be expensive or even impossible. I am not yet happy with this solution,= looking for better.<br class=3D""><br class=3D"">I am very excited about th= e possibilities this proposal would unlock and ask you verify usefulness of t= his scheme and join working out the details and how covenants would be integ= rated with taproot.<br class=3D""><br class=3D"">Tamas Blummer<br class=3D""= ><br class=3D"">[1] Malte Moser, Ittay Eyal, and Emin Gun Sirer. Bitcoin Cov= enants. URL: <a href=3D"http://fc16.ifca.ai/bitcoin/papers/MES16.pdf" class=3D= "">http://fc16.ifca.ai/bitcoin/papers/MES16.pdf</a><br class=3D"">__________= _____________________________________<br class=3D"">bitcoin-dev mailing list= <br class=3D""><a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" clas= s=3D"">bitcoin-dev@lists.linuxfoundation.org</a><br class=3D""><a href=3D"ht= tps://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" class=3D"">htt= ps://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a></blockquote>= </div></blockquote></div><br class=3D""></div></blockquote></div></div></div= ></body></html>= --Apple-Mail-A6F96C51-0E07-4567-8329-BE433B666D46--