The tool that is used to establish these requirements is Script, which is a non-Turing-complete scripting language designed specifically for this purpose ( O’Connor, 2017 Klomp and Bracciali, 2018 Jansen et al., 2019). For example, one could wish to forbid the money from being spent before a certain date, or to require multiple people to agree to spend the money. In other words, instead of just indicating a recipient for a transaction, the sender states certain requirements that need to be met by the recipient in order to spend the transferred money. The second main difference between bank and Bitcoin transactions is that the Bitcoin protocol was designed to allow for more complex spending requirements. In the case of Bitcoin, instead of inspecting the whole ledger to determine whether a certain transaction output has been spent, the nodes in the network keep a record of all of the unspent transaction outputs (UTXOs). Clearly, the system must address the problem of determining which transaction outputs have been spent and which have not. Instead, A must point to one or more transactions of which he/she is the recipient, and whose sum must be at least X. A does not have an account with a balance that determines how much money he/she can transfer. Assume that person A wants to transfer X amount of money to person B. In order to dig deeper on Bitcoin’s smart contracts, we start by pointing out some of the differences that exist between a common bank transaction and a Bitcoin transaction.įirst, there is no concept of account in the Bitcoin protocol. In this paper, we focus on the complexity of processing scripts, and, more importantly, of verifying whether a smart contract is valid, in the sense that the requirements posed by the contract are actually possible to satisfy. However, there are still lower-level complexity questions that remain unanswered about Script. The Bitcoin protocol and its Script language permit the design of different forms of smart contracts, and currently we have a variety of pre-designed contracts, and several formal models to understand the correctness of contracts, their semantics or their power. These contracts are issued using Script, a language specifically designed for this task, and that is integrated into the Bitcoin protocol. The subject of this article is a feature called “smart contracts”, which, in Bitcoin, work by specifying certain requirements that must be satisfied by transactions before this money can be spent 1. But there are several other advantages of using Bitcoin to transfer currency. As a currency, Bitcoin allows for transactions between users, and can be used for instance as a way of transferring money between individuals in a secure way, and without depending on any bank or centralized institution. Bitcoin ( Nakamoto, 2008 Bonneau et al., 2015 Narayanan et al., 2016 Antonopoulos, 2017) is a decentralized cryptocurrency protocol proposed in 2008 by a person or a group of people under the pseudonym Satoshi Nakamoto.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |