Are loans with interest possible in Bitcoin, such that repayment is enforceably encoded with Bitcoin Script on the blockchain from the establishment of the lending contract?
3 Answers
Script is employed to encode the rules under which a Transaction Output may be spent. E.g. the most common Script requires just proof of control over an address. Thusly, scripts cannot determine circumstances beyond a single transaction.
As a consequence, it appears to be infeasible to set up an enforceable credit contract with interest, because the loan repayment would lock in an amount of bitcoins greater than the loan. Evidently, the borrowing party doesn't have that amount of money to render unspendable at this time, or otherwise they wouldn't be borrowing in the first place.
Lending offchain is possible, but very fraud prone due to it being hard to enforce repayment. Also see: Why there's no bank or institution lending Bitcoins?
-
So, a script is only tied to one transaction? A script cannot make new transactions for covering interest?– GeremiaJun 8, 2015 at 16:28
-
Correct on both counts. Actually, each transaction encodes a set of rules for each Unspent Transaction Output to be fulfilled in order to access the money.– Murch ♦Jun 8, 2015 at 18:01
-
Sidechaining would enable enable a script to "make new transactions for covering interest," right?– GeremiaFeb 3, 2016 at 16:53
-
I don't think so. I think it could be evaded by the borrower by just not ever moving any money back into the address of the contract.– Murch ♦Feb 3, 2016 at 17:23
-
But a contract on a sidechain could be used to move money back, within the sidechain, couldn't it?– GeremiaFeb 4, 2016 at 0:04
What do you mean by "loans with interest"? If you mean guaranteeing being payed back the principal plus some interest that is not possible since that depends on the external world (i.e. it is offchain).
On the other hand, if you mean just creating repayment links for the agreed amounts it is just following the instructions of BIP21.
-
"that is not possible since that depends on the external world." A script couldn't schedule new transactions for covering interest?– GeremiaJun 8, 2015 at 16:30
It's absolutely possible to loan money with Bitcoin. FairShareLoans is a subreddit where money is automatically loaned out in ~20$ increments.
Collecting on those loans, on the other hand, is more difficult. https://www.reddit.com/r/FairShareLoans/comments/35vc5s/the_current_loansheet/ They appear to have a non-repayment rate of about ten percent.
-
I clarified my question to specify that I'm talking about collecting interests on loans within the blockchain.– GeremiaJun 8, 2015 at 21:36
-
-
-
@NickODell: A hash of the contact may be, but that isn't a use of the blockchain to ensure or force repayment. That's really what I'm asking.– GeremiaJun 9, 2015 at 3:41