Cryptocurrencies can be used merely to transfer value between identities, but many of the more interesting uses of cryptocurrencies require contracts, e.g., “a transfer of X coins from party S to party R is permitted only if conditions A and B hold”. Bitcoin (and related cryptocurrencies) place strict limits on the language in which these conditions can be phrased. In particular, conditions have limited length and may not contain loops. In this work, we show how to augment the Bitcoin scripting language with a single “innocuous” operation to allow us to create “meta conditions” with much more expressive power (e.g., as defined by arbitrarily-sized circuits). We construct a protocol to compile such meta-conditions into a set of (augmented) Bitcoin transactions. We then show how to use this compiler to realize a full “meta-ledger” functionality, which we show is secure in the universal composability framework.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Bitcoin+: Cheap Support for Complex Spending Conditions in a UTXO Ledger

  • Yaron Kaner,
  • Tal Moran

摘要

Cryptocurrencies can be used merely to transfer value between identities, but many of the more interesting uses of cryptocurrencies require contracts, e.g., “a transfer of X coins from party S to party R is permitted only if conditions A and B hold”. Bitcoin (and related cryptocurrencies) place strict limits on the language in which these conditions can be phrased. In particular, conditions have limited length and may not contain loops. In this work, we show how to augment the Bitcoin scripting language with a single “innocuous” operation to allow us to create “meta conditions” with much more expressive power (e.g., as defined by arbitrarily-sized circuits). We construct a protocol to compile such meta-conditions into a set of (augmented) Bitcoin transactions. We then show how to use this compiler to realize a full “meta-ledger” functionality, which we show is secure in the universal composability framework.