![]() | WARNING: ACTIVE COMMUNITY SANCTIONS The article Smart contract, along with other pages relating to blockchain and cryptocurrencies, is designated by the community as a contentious topic. The current restrictions are:
Editors who repeatedly or seriously fail to adhere to the purpose of Wikipedia, any expected standards of behaviour, or any normal editorial process may be sanctioned.
|
![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||||||||||||||||||
|
WP will become much more verifiable and trusted and no more arguing on the talkpage! I am not sure some will be very happy about more honesty. ℳ₳₢†€₨ — Preceding unsigned comment added by Mac Chruitier ( talk • contribs) 06:44, 13 June 2017 (UTC) Since Agoric computing has been redirected here, to Smart contract, and the non-existent page history here doesn't explain it, it's a bit confusing and self-referential now. I added a \{fact} tag to the Agoric computing section of this article with tag to tease out some references. rhyre ( talk) 15:00, 20 December 2009 (UTC)
I've similarly tagged the bit about DRM constituting a smart contract - this looks like synthesis, unless there's a clear reference. We can't really just take things from the past and say "well, that could be a sort of smart contract" without some reference for it - David Gerard ( talk) 19:13, 19 October 2016 (UTC)
One example of a smart contract is "a military mission in deep space must continuously justify the cost-benefit ratio of their mission to the ship or it will stop working." This seems like a bizarre example, as sending a ship out into space and then deactivating it and sacrificing all inside seems like an unrealistic use of a smart contract. — Preceding unsigned comment added by 2602:306:30A7:A040:9C4D:3101:66CF:357C ( talk) 09:08, 30 October 2016 (UTC)
The article opens with: "Smart contracts are computer protocols that facilitate, verify, or enforce the negotiation or performance of a contract, or that make a contractual clause unnecessary." This doesn't sound right. Surely a smart contract is the output of a computer protocol, rather than a computer protocol itself. — Preceding unsigned comment added by 194.213.3.4 ( talk) 14:54, 4 November 2016 (UTC)
This article is incomprehensible to anyone not already familiar with the subject matter, because it is full of domain-specific usage of technical terms that are not defined anywhere in the article or even referenced. What is a "protocol" in this context? Apparently not exactly the same as a network protocol in computing, nor as a protocol in a court of law. Probably something analogous to one or both of those. So then, what? What exactly do we mean here by a "contract" - is it really exactly the same as a traditional legal contract except written in some other format rather than in human language on paper? It doesn't seem so, or at least, it seems that not every kind of contract in traditional contract law would make sense in this context. In any case - explain this critically important term. What does it mean for a computer to "execute" a contract? For traditional legal contracts, executing the contract means a human being going out and doing a physical action like building a building. I don't think the intention is that a "smart contract" must be a humanoid robot. So exactly what kind of "execute" are we talking about here? What does it mean to "enforce" a smart contract - is it linked to the police, or to the court system? What is a "blockchain" and what is "anonymous Byzantine replication"? The term "replicated asset registries", which seems to be essential to the following discussion, is referenced, but only to a web page from 2005 that I am currently unable to retrieve. And even if the web page still exists, this term is obscure enough and central enough that it requires at least a few words of explanation here in the article. Etc. I am marking this article with the Confusing template. StormWillLaugh ( talk) 19:43, 13 November 2016 (UTC)
This has been a huge venture scoffed at and no one has gotten traction to take it from developer talk to everyday user things. I agree when you cant understand the language its hard. The general public will have to address this as the technology is growing. It will become something everyone grasps. At its core it is a very simple concept but a consensus is hard to get. ℳ₳₢†€₨ — Preceding unsigned comment added by Mac Chruitier ( talk • contribs) 06:37, 13 June 2017 (UTC)
I just tagged a pile of bad sources. Will wait a week before clearing badly-sourced material out of the article - David Gerard ( talk) 15:48, 5 December 2016 (UTC)
- cRy0g3nIc24 ( talk) 12:37, 13 July 2019 (UTC)
It is a very specific issue that happens in the Ethereum blockchain. It should be in the Issues section not in the introduction. — Preceding unsigned comment added by 195.37.187.155 ( talk) 11:03, 7 December 2017 (UTC)
"agoric systems" is cited to what appears to be sociological conference proceedings concerning open source development, not any sort of authoritative reference on smart contracts or computing itself. A 30-second Google doesn't show the term "agoric system" in more than hypothetical use. Anyone got something better? - David Gerard ( talk) 09:28, 29 March 2017 (UTC)
[Mist Wallet] Is one example of running a code contract to support multi sig. [1] 96.230.78.121 ( talk) 21:28, 19 June 2017 (UTC)
[Etheria] is a game made possible by smart contracts. [2] (see the 'How to play', the first instruction creates the smart contract, or more formally the EDCC/executable distributed code contract) 96.230.78.121 ( talk) 21:28, 19 June 2017 (UTC)
As far as I can tell ... Ethereum is actually the first smart contract system that isn't just hypotheticals that people actually use at all. I recall there was XCP/Counterparty on the Bitcoin blockchain, and a few other things on Bitcoin, but they seem to have seen negligible use.
Monax is apparently Ethereum, or uses chunks of Ethereum. (primary source)
What non-hypothetical smart contract systems were there before Ethereum? Is there a list?
To be clear: I don't mean taking past things and saying "well, it's sort of a smart contract system if you squint right" - I mean something that wore the label "smart contract" and was running code used by parties other than its authors - David Gerard ( talk) 07:41, 2 June 2017 (UTC)
Greveakira keeps adding a claim about David Zimbeck. The only reference, which seems to meet the requirements for a reliable secondary source is the CoinDesk article, which doesn't say anything like that. No mentioning of the first contract between Zimbeck and his neighbor. The article is about BitHalo, which was not mentioned by Greveakira for some reason. As I read the article, the claim is that "the first decentralized two-party smart contract quietly entered public beta". Zimbeck is mentioned as "developer" with no further clarifications if he was the author or one of the authors or a lead developer or the only developer or somebody else. YouTube videos from personal channels are not reliable sources, so I didn't even watch that. So, perhaps, BitHalo can be mentioned in the History section with the CoinDesk article to back it up, if notable enough, which I doubt at the moment. The lead section is supposed to be a brief summary of the most important points of the article, so I don't think this belongs in the lead. Retimuko ( talk) 17:11, 26 October 2017 (UTC)
'Decentralized application' redirects here, but the article doesn't mention the term. Jonpatterns ( talk) 18:22, 6 November 2017 (UTC)
References
In general this is a hijacked page in Wikipedia (not a Wikipedia article) overly sourced to in-bubble primary sources.
The Industry white paper that User:Vegetablemarket is edit warring into the page is not an acceptable source. It is B2B selling by the industry. Not the kind of thing we use to generate content in Wikipedia. Content based on it industrial waste being dumped into our project. Jytdog ( talk) 18:04, 8 March 2018 (UTC)
There needs to be a section on smart contract use cases and a technical discussion on how these use cases are enabled through the use of oracles. Smart contracts are not just a technical concept - which is what a reader would take away if they visited this page - but they are an emerging technology which will be used in the future by many industries. The main point that needs to be made is that smart contracts are not limited to cryptocurrency, which is the focus of this article, but have other potential and emerging real-world applications. There is also the concept of "the oracle problem" which refers to the difficulty of integrating smart contracts to data that is not stored on the blockchain - i.e. a barrier to taking smart contracts from a technical exercise to real-world applications. I thought that oracles should be included on the smart contract article instead of having their own article because it should really be a sub section on smart contracts. I tried to add a section on this but apparently it was not acceptable.
If industry reports are not acceptable sources then what is? Here are publications from google scholar. Are these acceptable or not?
For example here is one source which is a research publication which is about a potential future application of smart contracts to derivatives markets, and which is one example of potential applications of smart contracts https://www.researchgate.net/publication/321146680_On_the_Feasibility_of_Decentralized_Derivatives_Markets where it says "In practice, an entity feeding prices (or any external information) into a smart contract is called an oracle.... As discussed in Subsect. 4.2, fully decentralized Price feeds and oracles are needed in order to have a trustless decentralized financial market"
Here's another research paper from the journal ASIA PACIFIC JOURNAL OF INNOVATION AND ENTREPRENEURSHIP https://www.emeraldinsight.com/doi/full/10.1108/APJIE-12-2017-035 this discusses Internet of Things / smart contracts and also talks about the necessity of oracles. It lists some examples of how oracles have been developed too.
Here's another source that explains oracles very well and again is about potential application to derivatives markets. http://heinonline.org/HOL/Page?handle=hein.journals/fjcf22&div=12&g_sent=1&casa_token=&collection=journals The source is Ryan Surujnath, Off the Chain: A Guide to Blockchain Derivatives Markets and the Implications on Systemic Risk, 22 Fordham J. Corp. & Fin. L. 257 (2017) "There must then be a way for the blockchain to monitor these triggering conditions. The blockchain, however, cannot keep track of every parameter that can influence the activation of a contract. Multisignatures and oracles resolve this problem by keeping track of information off the blockchain and providing a trusted signature once a condition to the contract is satisfied. Oracles use multi-sig to incorporate outside information into the blockchain. An oracle serves as an additional signatory that attests to information that is not tracked by the blockchain." It can reference an agreed upon data source and serve as an additional signature to a transaction that is contingent on a real-world event."' Once the required condition is met, the oracle signs the transaction with its private key to effectuate the transaction. In a trading system that relies on numerous ledgers to keep track of different assets, the oracle can facilitate a payment that is contingent on a factor tracked by another blockchain. Smart contract technology is still very much in its early stages of development, so some of the advantages and disadvantages may not be clear yet. But even as of now, the technology is compelling enough to attract significant investment."
Here is one about a use case to supply chain management. Madhwal, Yash and Panfilov, Peter B., "Industrial Case: Blockchain on Aircraft’s Parts Supply Chain Management" (2017). AMCIS 2017 Workshops. Twenty-third Americas Conference on Information Systems, Boston, 2017 http://aisel.aisnet.org/cgi/viewcontent.cgi?article=1005&context=sigbd2017 — Preceding unsigned comment added by Vegetablemarket ( talk • contribs) 18:53, 8 March 2018 (UTC)
Here is a section from a book, you can read the section on google books https://link.springer.com/chapter/10.1007/978-3-319-48478-5_6 "[smart contracts] may replace lawyers and banks for handling certain recurring financial transactions in future" "Szabo's original theories about these smart contracts could work remained unrealised because there was no technology to support programmable agreements and transactions between parties. His example of a smart contract was the vending machine that holds goods until money has been received and then the goods are released to the buyer. The machine holds the property and is able to enforce the contract. There were two main issues that needed to be addressed before smart contracts could be used in the real world. Firstly, the control of physical assets by smart contracts to be able to enforce agreements. Secondly, the last of trustworthy computers that are reliable and trusted to execute the contract between two or more parties." Then goes on to say that cryptocurrency has changed this, first with Bitcoin.... "the potential for blockchain technology and smart contracts goes beyond the transfer of value from one party to another. Smart contracts could be used to unlock the door of a car by connecting smart contracts to the Internet of Things." Then they also list updating a will or getting a mortgage without a lawyer — Preceding unsigned comment added by Vegetablemarket ( talk • contribs) 19:47, 8 March 2018 (UTC)
Here is one that is from the European Parliamentary Research Service. Is government research acceptable? This one also talks about supply chain using smart contracts How blockchain technology could change our lives http://www.europarl.europa.eu/RegData/etudes/IDAN/2017/581948/EPRS_IDA(2017)581948_EN.pdf
Here is what I propose for a start on a new section on Use Cases based on the above sources
A major limitation of smart contracts is that they are unable to communicate with resources external to the blockchain they are secured on. In practice, this means that smart contracts, on their own, are not able to trigger based on real-life events. It is for this reason that the application of smart contracts has, so far, been mostly confined to cryptocurrency.
In order for smart contracts to be able to receive and act on off-chain data, such as web APIs, they require a piece of blockchain middleware known as an oracle. This limiting factor in smart contract usability is known as "the oracle problem", after test oracles. Oracles provide external data and submit this to a blockchain in order to trigger smart contract executions when pre-defined conditions are met, providing connectivity to the outside world.
By integrating with off-chain data through an oracle, numerous potential applications of smart contracts have been suggested. For example, supply chain management, derivative markets and the internet of things. — Preceding unsigned comment added by Vegetablemarket ( talk • contribs) 19:04, 8 March 2018 (UTC)
But if you want to put in uses that are being used right now, those would have to be the names of actual businesses and you'll say I'm "selling" again. — Preceding unsigned comment added by Vegetablemarket ( talk • contribs) 19:57, 8 March 2018 (UTC)
For example, here's a record of a smart contract used for cyber security insurance by AXA https://create.smartcontract.com/#/profiles/AXAInsurance Insurance is one of the areas that people are talking about for smart contracts and here it is being used. But it's on smartcontract.com so it isn't allowed? — Preceding unsigned comment added by Vegetablemarket ( talk • contribs) 20:00, 8 March 2018 (UTC)
The lead states the term was coined in 1994, while the body says 1996. Which is it? Curly "JFC" Turkey 🍁 ¡gobble! 07:29, 16 April 2018 (UTC)
Article sorely needs an example to clarify what it is saying and possible issues. Right now the reader is left to imagine what a "smart contract" might say, how it would be executed or enforced, and so on. An example would clear that up quite a bit I think.
Here's a hopefully absurd example to illustrate why a better example might lead to better understanding:
Contract:
Now: How do we know Fred and Jerry have both agreed? Where do the coins come from; the contract does not say. What if Fred hacks his local copy of the software to include a math library that returns Pi=5?
There must be solutions to these problems, but without an example, how can we even begin the conversation? 72.208.150.248 ( talk) 23:27, 21 April 2018 (UTC)
I think there needs to be an addition to include platforms that create easy no code smart contracts. — Preceding unsigned comment added by 70.127.51.66 ( talk) 13:37, 17 May 2018 (UTC)
This text was added:
Do we have good third party sources on this? I can only find this actually naming Salin, which doesn't credit the term to him. Phil Salin doesn't have supporting third-party references either - David Gerard ( talk) 11:57, 14 June 2018 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
Third party references are mostly text explaining what Smart Contracts are, which is great. How about an infographic?
https://www.chainbits.com/cryptocurrency-terms/smart-contracts-definition/ Kifakrec ( talk) 10:04, 1 August 2018 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
change smartcontract is a protocol to smartcontract is code Secunoid ( talk) 19:31, 3 August 2018 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
change A smart contract is a computer protocol to A smart contract is a computer code Secunoid ( talk) 19:54, 3 August 2018 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
remove the entire "In 2018, a US Senate report said: "While smart ..."", since quoted organization is NOT a subject matter authority. 2601:152:4700:700:7049:E186:6945:281A ( talk) 21:47, 9 August 2018 (UTC)
{{
edit semi-protected}}
template.
Dolotta (
talk) 14:46, 10 August 2018 (UTC)![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
In subsection "Implementations" change "Automated Transactions is another Turing complete smart contract language" to "Automated Transactions is a Turing-complete smart contract language"
Reason: Automated Transactions is the first Turing-complete language in the itemised list. Zorawar87 20:09, 20 October 2018 (UTC)
I want to suggest that a discussion of semantic ambiguity be added to this page on smart contract languages, such as Ethereum. In urging this, I should note that although I work in distributed computing, I do not have any financial interest or papers on blockchain, and am a disinterested expert, not one with an axe to grind. I read papers on this topic, but do not write them.
The existing page seems to brush off the concerns many in the field are expressing about the lack of rigorous meaning for smart contracts: no mention occurs of this concern, at all! To me, this results in a page that is more like marketing material to advertise a product -- it tells the good news story, but omits any mention of the very serious concerns. The editor felt that my revision was more of an essay than a Wikipedia entry. But for me, the article itself is really an essay -- an essay about a research concept.
The problem is that with smart contract languages, it is easy to specify things that are imprecise. My addition gave a few simple examples; you can see it in the edit history of the page. The example on which I focused would seem to be trivial: Alice buys a pack of chewing gum from Bob for one BC. Astonishingly, even this seemingly trivial transaction would be problematic in today's smart contract platforms!
A primary source of such issues involves forward references: a smart contract that anticipates some event or events that will occur in the future ("Alice will pay Ted one BC"). However, issues are also seen even if a smart contract is interpreted at the moment it is appended, due to the potential for rollback. The mixture of contracts that refer to events elsewhere in the blockchain, rollback, chains of dependencies between smart contracts create a heady blend: on the one hand, we have an exciting new research area (namely, study of blockchains that include executable code in some records -- namely, the smart contracts), but on the other, very little firm agreement on how to build these systems and operate them safely.
In the programming languages community, such questions are said to involve the semantics of a concept: the "formal meaning", where "formal" implies a rigorous reduction to a mathematical description. We would say that the semantics of smart contracts are ill-specified and prone to ambiguity. An ambiguous real-world contract would cause you and I to disagree about who needs to pay for the damage caused by the tree on your property that lost a branch over my porch. An ambiguous smart contract could allow an attacker to steal money, spend the same money twice, or to otherwise compromise the integrity of the system. Historically, weak semantics have been a major source of security exploits, open the door to malicious content or even to thefts of bitcoins.
Thus the issue I am raising is not a shallow one.
In reverting my proposed edit, your editor indicated that my semantic ambiguity discussion requires a citation to a comprehensive review. I myself have never seen a really good discussion of this in a reviewed journal or conference paper. I have little doubt that such a review exists. It would be great if someone could add a citation to papers of this kind -- I would certainly read them!
Let me push back: shouldn't the page itself be required to have a "smart contracts semantics" discussion pointing to peer-reviewed papers on the rigorous semantics for smart contracts? The article has a great many citations, yet none seem to be rigorous treatments of this question. Most are just citations to articles in the popular press.
This is not an article that rises to the usual Wikipedia quality standards.
Ken Birman ( talk) 13:08, 13 August 2019 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
Etherium -> Ethereum Lucalevi ( talk) 07:00, 29 May 2020 (UTC)
One issue not discussed is the fact that most of the platforms listed (ethereum, eos, bitcoin, ...) are not stablecoins, meaning if you are payed out for a item or service by smart contract, and the payout is either done in one of these currencies, or when it even uses it as an intermediate exchange currency (say USD to ETH to USD), the value of what you get may vary (perhaps significantly) from what you stated to be given in the smart contract (due to the fast value fluctuations).
Aren't there any platforms that use stablecoins, or CBDC's ? Can the issue be mentioned in this article ? -- Genetics4good ( talk) 09:44, 12 May 2021 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
Add reference to Stored Procedures in "See Also" section.
Further elaboration on the similarities between smart contracts and stored procedures should be added, the fundamental difference between the two types of programs simply being the means by which the database system/network arrives at consensus regarding current state. Hashamadeus ( talk) 22:35, 15 May 2021 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
change contacts to contracts Georgeattrueshot ( talk) 12:52, 7 September 2021 (UTC)
![]() | This edit request by an editor with a conflict of interest was declined. |
Hi all, I'm A at Chainlink and I've been paid by Chainlink Labs. I won't make any edits to this page myself to remain compliant with COI rules and have disclosed my COI above. I have some suggestions for the "Applications" section of the article to demonstrate how the space has evolved through the advancement of oracle technologies. I think these edits would fit well in the fourth paragraph of the section (suggested edits bolded below):
Use cases for smart contracts have expanded as smart contracts have gained access to new types of external data and computation through
blockchain oracles.
[1]
Inheritance wishes could hypothetically be implemented automatically upon registration of a
death certificate by means of smart contracts.
[2]
[3]
Birth certificates can also work together with smart contracts.
[4]
[5] Additionally, developers can create applications based on data provided by decentralized oracle networks, including asset price data for financial products
[6], weather data for insurance products
[7], and election, sports, and business data
[8].
Happy to address any changes/issues as the editors see fit, and thanks so much in advance for your help and consideration. A at Chainlink ( talk) 15:27, 24 November 2021 (UTC)
References
As a section of the page clearly highlights the differences between smart contracts and smart legal contracts, it makes sense to split the latter into a new page and expand the content.
Following on from guidance issued by the Law Commission (UK Government organisation) The law of England and Wales can accommodate smart legal contracts, concludes Law Commission the current state of the page could leave users confused as to the difference, and given the number of sources available for the new page, including from the UK Government and respected publications there is ample room for the content to grow to fully explain the topic. [1] [2] [3]
References
I had considered following the Be Bold guidance, but given the topic's relation to Blockchain, I wanted to canvas views first. -- WonderingCamel ( talk) 12:18, 6 December 2021 (UTC)
All 2409:4043:594:8971:0:0:83F:38B1 ( talk) 08:56, 29 May 2022 (UTC)
This article was the subject of a Wiki Education Foundation-supported course assignment, between 4 July 2022 and 16 August 2022. Further details are available
on the course page. Student editor(s):
Sqlo123 (
article contribs).
— Assignment last updated by OneGoodNut ( talk) 17:27, 23 July 2022 (UTC)
![]() | WARNING: ACTIVE COMMUNITY SANCTIONS The article Smart contract, along with other pages relating to blockchain and cryptocurrencies, is designated by the community as a contentious topic. The current restrictions are:
Editors who repeatedly or seriously fail to adhere to the purpose of Wikipedia, any expected standards of behaviour, or any normal editorial process may be sanctioned.
|
![]() | This article is rated C-class on Wikipedia's
content assessment scale. It is of interest to the following WikiProjects: | ||||||||||||||||||||||||||||||||||||
|
WP will become much more verifiable and trusted and no more arguing on the talkpage! I am not sure some will be very happy about more honesty. ℳ₳₢†€₨ — Preceding unsigned comment added by Mac Chruitier ( talk • contribs) 06:44, 13 June 2017 (UTC) Since Agoric computing has been redirected here, to Smart contract, and the non-existent page history here doesn't explain it, it's a bit confusing and self-referential now. I added a \{fact} tag to the Agoric computing section of this article with tag to tease out some references. rhyre ( talk) 15:00, 20 December 2009 (UTC)
I've similarly tagged the bit about DRM constituting a smart contract - this looks like synthesis, unless there's a clear reference. We can't really just take things from the past and say "well, that could be a sort of smart contract" without some reference for it - David Gerard ( talk) 19:13, 19 October 2016 (UTC)
One example of a smart contract is "a military mission in deep space must continuously justify the cost-benefit ratio of their mission to the ship or it will stop working." This seems like a bizarre example, as sending a ship out into space and then deactivating it and sacrificing all inside seems like an unrealistic use of a smart contract. — Preceding unsigned comment added by 2602:306:30A7:A040:9C4D:3101:66CF:357C ( talk) 09:08, 30 October 2016 (UTC)
The article opens with: "Smart contracts are computer protocols that facilitate, verify, or enforce the negotiation or performance of a contract, or that make a contractual clause unnecessary." This doesn't sound right. Surely a smart contract is the output of a computer protocol, rather than a computer protocol itself. — Preceding unsigned comment added by 194.213.3.4 ( talk) 14:54, 4 November 2016 (UTC)
This article is incomprehensible to anyone not already familiar with the subject matter, because it is full of domain-specific usage of technical terms that are not defined anywhere in the article or even referenced. What is a "protocol" in this context? Apparently not exactly the same as a network protocol in computing, nor as a protocol in a court of law. Probably something analogous to one or both of those. So then, what? What exactly do we mean here by a "contract" - is it really exactly the same as a traditional legal contract except written in some other format rather than in human language on paper? It doesn't seem so, or at least, it seems that not every kind of contract in traditional contract law would make sense in this context. In any case - explain this critically important term. What does it mean for a computer to "execute" a contract? For traditional legal contracts, executing the contract means a human being going out and doing a physical action like building a building. I don't think the intention is that a "smart contract" must be a humanoid robot. So exactly what kind of "execute" are we talking about here? What does it mean to "enforce" a smart contract - is it linked to the police, or to the court system? What is a "blockchain" and what is "anonymous Byzantine replication"? The term "replicated asset registries", which seems to be essential to the following discussion, is referenced, but only to a web page from 2005 that I am currently unable to retrieve. And even if the web page still exists, this term is obscure enough and central enough that it requires at least a few words of explanation here in the article. Etc. I am marking this article with the Confusing template. StormWillLaugh ( talk) 19:43, 13 November 2016 (UTC)
This has been a huge venture scoffed at and no one has gotten traction to take it from developer talk to everyday user things. I agree when you cant understand the language its hard. The general public will have to address this as the technology is growing. It will become something everyone grasps. At its core it is a very simple concept but a consensus is hard to get. ℳ₳₢†€₨ — Preceding unsigned comment added by Mac Chruitier ( talk • contribs) 06:37, 13 June 2017 (UTC)
I just tagged a pile of bad sources. Will wait a week before clearing badly-sourced material out of the article - David Gerard ( talk) 15:48, 5 December 2016 (UTC)
- cRy0g3nIc24 ( talk) 12:37, 13 July 2019 (UTC)
It is a very specific issue that happens in the Ethereum blockchain. It should be in the Issues section not in the introduction. — Preceding unsigned comment added by 195.37.187.155 ( talk) 11:03, 7 December 2017 (UTC)
"agoric systems" is cited to what appears to be sociological conference proceedings concerning open source development, not any sort of authoritative reference on smart contracts or computing itself. A 30-second Google doesn't show the term "agoric system" in more than hypothetical use. Anyone got something better? - David Gerard ( talk) 09:28, 29 March 2017 (UTC)
[Mist Wallet] Is one example of running a code contract to support multi sig. [1] 96.230.78.121 ( talk) 21:28, 19 June 2017 (UTC)
[Etheria] is a game made possible by smart contracts. [2] (see the 'How to play', the first instruction creates the smart contract, or more formally the EDCC/executable distributed code contract) 96.230.78.121 ( talk) 21:28, 19 June 2017 (UTC)
As far as I can tell ... Ethereum is actually the first smart contract system that isn't just hypotheticals that people actually use at all. I recall there was XCP/Counterparty on the Bitcoin blockchain, and a few other things on Bitcoin, but they seem to have seen negligible use.
Monax is apparently Ethereum, or uses chunks of Ethereum. (primary source)
What non-hypothetical smart contract systems were there before Ethereum? Is there a list?
To be clear: I don't mean taking past things and saying "well, it's sort of a smart contract system if you squint right" - I mean something that wore the label "smart contract" and was running code used by parties other than its authors - David Gerard ( talk) 07:41, 2 June 2017 (UTC)
Greveakira keeps adding a claim about David Zimbeck. The only reference, which seems to meet the requirements for a reliable secondary source is the CoinDesk article, which doesn't say anything like that. No mentioning of the first contract between Zimbeck and his neighbor. The article is about BitHalo, which was not mentioned by Greveakira for some reason. As I read the article, the claim is that "the first decentralized two-party smart contract quietly entered public beta". Zimbeck is mentioned as "developer" with no further clarifications if he was the author or one of the authors or a lead developer or the only developer or somebody else. YouTube videos from personal channels are not reliable sources, so I didn't even watch that. So, perhaps, BitHalo can be mentioned in the History section with the CoinDesk article to back it up, if notable enough, which I doubt at the moment. The lead section is supposed to be a brief summary of the most important points of the article, so I don't think this belongs in the lead. Retimuko ( talk) 17:11, 26 October 2017 (UTC)
'Decentralized application' redirects here, but the article doesn't mention the term. Jonpatterns ( talk) 18:22, 6 November 2017 (UTC)
References
In general this is a hijacked page in Wikipedia (not a Wikipedia article) overly sourced to in-bubble primary sources.
The Industry white paper that User:Vegetablemarket is edit warring into the page is not an acceptable source. It is B2B selling by the industry. Not the kind of thing we use to generate content in Wikipedia. Content based on it industrial waste being dumped into our project. Jytdog ( talk) 18:04, 8 March 2018 (UTC)
There needs to be a section on smart contract use cases and a technical discussion on how these use cases are enabled through the use of oracles. Smart contracts are not just a technical concept - which is what a reader would take away if they visited this page - but they are an emerging technology which will be used in the future by many industries. The main point that needs to be made is that smart contracts are not limited to cryptocurrency, which is the focus of this article, but have other potential and emerging real-world applications. There is also the concept of "the oracle problem" which refers to the difficulty of integrating smart contracts to data that is not stored on the blockchain - i.e. a barrier to taking smart contracts from a technical exercise to real-world applications. I thought that oracles should be included on the smart contract article instead of having their own article because it should really be a sub section on smart contracts. I tried to add a section on this but apparently it was not acceptable.
If industry reports are not acceptable sources then what is? Here are publications from google scholar. Are these acceptable or not?
For example here is one source which is a research publication which is about a potential future application of smart contracts to derivatives markets, and which is one example of potential applications of smart contracts https://www.researchgate.net/publication/321146680_On_the_Feasibility_of_Decentralized_Derivatives_Markets where it says "In practice, an entity feeding prices (or any external information) into a smart contract is called an oracle.... As discussed in Subsect. 4.2, fully decentralized Price feeds and oracles are needed in order to have a trustless decentralized financial market"
Here's another research paper from the journal ASIA PACIFIC JOURNAL OF INNOVATION AND ENTREPRENEURSHIP https://www.emeraldinsight.com/doi/full/10.1108/APJIE-12-2017-035 this discusses Internet of Things / smart contracts and also talks about the necessity of oracles. It lists some examples of how oracles have been developed too.
Here's another source that explains oracles very well and again is about potential application to derivatives markets. http://heinonline.org/HOL/Page?handle=hein.journals/fjcf22&div=12&g_sent=1&casa_token=&collection=journals The source is Ryan Surujnath, Off the Chain: A Guide to Blockchain Derivatives Markets and the Implications on Systemic Risk, 22 Fordham J. Corp. & Fin. L. 257 (2017) "There must then be a way for the blockchain to monitor these triggering conditions. The blockchain, however, cannot keep track of every parameter that can influence the activation of a contract. Multisignatures and oracles resolve this problem by keeping track of information off the blockchain and providing a trusted signature once a condition to the contract is satisfied. Oracles use multi-sig to incorporate outside information into the blockchain. An oracle serves as an additional signatory that attests to information that is not tracked by the blockchain." It can reference an agreed upon data source and serve as an additional signature to a transaction that is contingent on a real-world event."' Once the required condition is met, the oracle signs the transaction with its private key to effectuate the transaction. In a trading system that relies on numerous ledgers to keep track of different assets, the oracle can facilitate a payment that is contingent on a factor tracked by another blockchain. Smart contract technology is still very much in its early stages of development, so some of the advantages and disadvantages may not be clear yet. But even as of now, the technology is compelling enough to attract significant investment."
Here is one about a use case to supply chain management. Madhwal, Yash and Panfilov, Peter B., "Industrial Case: Blockchain on Aircraft’s Parts Supply Chain Management" (2017). AMCIS 2017 Workshops. Twenty-third Americas Conference on Information Systems, Boston, 2017 http://aisel.aisnet.org/cgi/viewcontent.cgi?article=1005&context=sigbd2017 — Preceding unsigned comment added by Vegetablemarket ( talk • contribs) 18:53, 8 March 2018 (UTC)
Here is a section from a book, you can read the section on google books https://link.springer.com/chapter/10.1007/978-3-319-48478-5_6 "[smart contracts] may replace lawyers and banks for handling certain recurring financial transactions in future" "Szabo's original theories about these smart contracts could work remained unrealised because there was no technology to support programmable agreements and transactions between parties. His example of a smart contract was the vending machine that holds goods until money has been received and then the goods are released to the buyer. The machine holds the property and is able to enforce the contract. There were two main issues that needed to be addressed before smart contracts could be used in the real world. Firstly, the control of physical assets by smart contracts to be able to enforce agreements. Secondly, the last of trustworthy computers that are reliable and trusted to execute the contract between two or more parties." Then goes on to say that cryptocurrency has changed this, first with Bitcoin.... "the potential for blockchain technology and smart contracts goes beyond the transfer of value from one party to another. Smart contracts could be used to unlock the door of a car by connecting smart contracts to the Internet of Things." Then they also list updating a will or getting a mortgage without a lawyer — Preceding unsigned comment added by Vegetablemarket ( talk • contribs) 19:47, 8 March 2018 (UTC)
Here is one that is from the European Parliamentary Research Service. Is government research acceptable? This one also talks about supply chain using smart contracts How blockchain technology could change our lives http://www.europarl.europa.eu/RegData/etudes/IDAN/2017/581948/EPRS_IDA(2017)581948_EN.pdf
Here is what I propose for a start on a new section on Use Cases based on the above sources
A major limitation of smart contracts is that they are unable to communicate with resources external to the blockchain they are secured on. In practice, this means that smart contracts, on their own, are not able to trigger based on real-life events. It is for this reason that the application of smart contracts has, so far, been mostly confined to cryptocurrency.
In order for smart contracts to be able to receive and act on off-chain data, such as web APIs, they require a piece of blockchain middleware known as an oracle. This limiting factor in smart contract usability is known as "the oracle problem", after test oracles. Oracles provide external data and submit this to a blockchain in order to trigger smart contract executions when pre-defined conditions are met, providing connectivity to the outside world.
By integrating with off-chain data through an oracle, numerous potential applications of smart contracts have been suggested. For example, supply chain management, derivative markets and the internet of things. — Preceding unsigned comment added by Vegetablemarket ( talk • contribs) 19:04, 8 March 2018 (UTC)
But if you want to put in uses that are being used right now, those would have to be the names of actual businesses and you'll say I'm "selling" again. — Preceding unsigned comment added by Vegetablemarket ( talk • contribs) 19:57, 8 March 2018 (UTC)
For example, here's a record of a smart contract used for cyber security insurance by AXA https://create.smartcontract.com/#/profiles/AXAInsurance Insurance is one of the areas that people are talking about for smart contracts and here it is being used. But it's on smartcontract.com so it isn't allowed? — Preceding unsigned comment added by Vegetablemarket ( talk • contribs) 20:00, 8 March 2018 (UTC)
The lead states the term was coined in 1994, while the body says 1996. Which is it? Curly "JFC" Turkey 🍁 ¡gobble! 07:29, 16 April 2018 (UTC)
Article sorely needs an example to clarify what it is saying and possible issues. Right now the reader is left to imagine what a "smart contract" might say, how it would be executed or enforced, and so on. An example would clear that up quite a bit I think.
Here's a hopefully absurd example to illustrate why a better example might lead to better understanding:
Contract:
Now: How do we know Fred and Jerry have both agreed? Where do the coins come from; the contract does not say. What if Fred hacks his local copy of the software to include a math library that returns Pi=5?
There must be solutions to these problems, but without an example, how can we even begin the conversation? 72.208.150.248 ( talk) 23:27, 21 April 2018 (UTC)
I think there needs to be an addition to include platforms that create easy no code smart contracts. — Preceding unsigned comment added by 70.127.51.66 ( talk) 13:37, 17 May 2018 (UTC)
This text was added:
Do we have good third party sources on this? I can only find this actually naming Salin, which doesn't credit the term to him. Phil Salin doesn't have supporting third-party references either - David Gerard ( talk) 11:57, 14 June 2018 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
Third party references are mostly text explaining what Smart Contracts are, which is great. How about an infographic?
https://www.chainbits.com/cryptocurrency-terms/smart-contracts-definition/ Kifakrec ( talk) 10:04, 1 August 2018 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
change smartcontract is a protocol to smartcontract is code Secunoid ( talk) 19:31, 3 August 2018 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
change A smart contract is a computer protocol to A smart contract is a computer code Secunoid ( talk) 19:54, 3 August 2018 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
remove the entire "In 2018, a US Senate report said: "While smart ..."", since quoted organization is NOT a subject matter authority. 2601:152:4700:700:7049:E186:6945:281A ( talk) 21:47, 9 August 2018 (UTC)
{{
edit semi-protected}}
template.
Dolotta (
talk) 14:46, 10 August 2018 (UTC)![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
In subsection "Implementations" change "Automated Transactions is another Turing complete smart contract language" to "Automated Transactions is a Turing-complete smart contract language"
Reason: Automated Transactions is the first Turing-complete language in the itemised list. Zorawar87 20:09, 20 October 2018 (UTC)
I want to suggest that a discussion of semantic ambiguity be added to this page on smart contract languages, such as Ethereum. In urging this, I should note that although I work in distributed computing, I do not have any financial interest or papers on blockchain, and am a disinterested expert, not one with an axe to grind. I read papers on this topic, but do not write them.
The existing page seems to brush off the concerns many in the field are expressing about the lack of rigorous meaning for smart contracts: no mention occurs of this concern, at all! To me, this results in a page that is more like marketing material to advertise a product -- it tells the good news story, but omits any mention of the very serious concerns. The editor felt that my revision was more of an essay than a Wikipedia entry. But for me, the article itself is really an essay -- an essay about a research concept.
The problem is that with smart contract languages, it is easy to specify things that are imprecise. My addition gave a few simple examples; you can see it in the edit history of the page. The example on which I focused would seem to be trivial: Alice buys a pack of chewing gum from Bob for one BC. Astonishingly, even this seemingly trivial transaction would be problematic in today's smart contract platforms!
A primary source of such issues involves forward references: a smart contract that anticipates some event or events that will occur in the future ("Alice will pay Ted one BC"). However, issues are also seen even if a smart contract is interpreted at the moment it is appended, due to the potential for rollback. The mixture of contracts that refer to events elsewhere in the blockchain, rollback, chains of dependencies between smart contracts create a heady blend: on the one hand, we have an exciting new research area (namely, study of blockchains that include executable code in some records -- namely, the smart contracts), but on the other, very little firm agreement on how to build these systems and operate them safely.
In the programming languages community, such questions are said to involve the semantics of a concept: the "formal meaning", where "formal" implies a rigorous reduction to a mathematical description. We would say that the semantics of smart contracts are ill-specified and prone to ambiguity. An ambiguous real-world contract would cause you and I to disagree about who needs to pay for the damage caused by the tree on your property that lost a branch over my porch. An ambiguous smart contract could allow an attacker to steal money, spend the same money twice, or to otherwise compromise the integrity of the system. Historically, weak semantics have been a major source of security exploits, open the door to malicious content or even to thefts of bitcoins.
Thus the issue I am raising is not a shallow one.
In reverting my proposed edit, your editor indicated that my semantic ambiguity discussion requires a citation to a comprehensive review. I myself have never seen a really good discussion of this in a reviewed journal or conference paper. I have little doubt that such a review exists. It would be great if someone could add a citation to papers of this kind -- I would certainly read them!
Let me push back: shouldn't the page itself be required to have a "smart contracts semantics" discussion pointing to peer-reviewed papers on the rigorous semantics for smart contracts? The article has a great many citations, yet none seem to be rigorous treatments of this question. Most are just citations to articles in the popular press.
This is not an article that rises to the usual Wikipedia quality standards.
Ken Birman ( talk) 13:08, 13 August 2019 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
Etherium -> Ethereum Lucalevi ( talk) 07:00, 29 May 2020 (UTC)
One issue not discussed is the fact that most of the platforms listed (ethereum, eos, bitcoin, ...) are not stablecoins, meaning if you are payed out for a item or service by smart contract, and the payout is either done in one of these currencies, or when it even uses it as an intermediate exchange currency (say USD to ETH to USD), the value of what you get may vary (perhaps significantly) from what you stated to be given in the smart contract (due to the fast value fluctuations).
Aren't there any platforms that use stablecoins, or CBDC's ? Can the issue be mentioned in this article ? -- Genetics4good ( talk) 09:44, 12 May 2021 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
Add reference to Stored Procedures in "See Also" section.
Further elaboration on the similarities between smart contracts and stored procedures should be added, the fundamental difference between the two types of programs simply being the means by which the database system/network arrives at consensus regarding current state. Hashamadeus ( talk) 22:35, 15 May 2021 (UTC)
![]() | This
edit request has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
change contacts to contracts Georgeattrueshot ( talk) 12:52, 7 September 2021 (UTC)
![]() | This edit request by an editor with a conflict of interest was declined. |
Hi all, I'm A at Chainlink and I've been paid by Chainlink Labs. I won't make any edits to this page myself to remain compliant with COI rules and have disclosed my COI above. I have some suggestions for the "Applications" section of the article to demonstrate how the space has evolved through the advancement of oracle technologies. I think these edits would fit well in the fourth paragraph of the section (suggested edits bolded below):
Use cases for smart contracts have expanded as smart contracts have gained access to new types of external data and computation through
blockchain oracles.
[1]
Inheritance wishes could hypothetically be implemented automatically upon registration of a
death certificate by means of smart contracts.
[2]
[3]
Birth certificates can also work together with smart contracts.
[4]
[5] Additionally, developers can create applications based on data provided by decentralized oracle networks, including asset price data for financial products
[6], weather data for insurance products
[7], and election, sports, and business data
[8].
Happy to address any changes/issues as the editors see fit, and thanks so much in advance for your help and consideration. A at Chainlink ( talk) 15:27, 24 November 2021 (UTC)
References
As a section of the page clearly highlights the differences between smart contracts and smart legal contracts, it makes sense to split the latter into a new page and expand the content.
Following on from guidance issued by the Law Commission (UK Government organisation) The law of England and Wales can accommodate smart legal contracts, concludes Law Commission the current state of the page could leave users confused as to the difference, and given the number of sources available for the new page, including from the UK Government and respected publications there is ample room for the content to grow to fully explain the topic. [1] [2] [3]
References
I had considered following the Be Bold guidance, but given the topic's relation to Blockchain, I wanted to canvas views first. -- WonderingCamel ( talk) 12:18, 6 December 2021 (UTC)
All 2409:4043:594:8971:0:0:83F:38B1 ( talk) 08:56, 29 May 2022 (UTC)
This article was the subject of a Wiki Education Foundation-supported course assignment, between 4 July 2022 and 16 August 2022. Further details are available
on the course page. Student editor(s):
Sqlo123 (
article contribs).
— Assignment last updated by OneGoodNut ( talk) 17:27, 23 July 2022 (UTC)