Jump to content

Talk:Smart contract

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by David Gerard (talk | contribs) at 16:59, 15 August 2019 (Semantics discussion lacking; I added one but an editor promptly reverted it). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Template:Blockchain GS talk

Agoric computing references

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 (talkcontribs) 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)[reply]

Removing this section - there's no cite to the term "smart contract" in any source and doesn't appear ever to have been.

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)[reply]

Removed the bit about DRM and tying mechanisms - without a clear cite, saying these are a sort of smart contract is synthesis - David Gerard (talk) 17:43, 31 October 2016 (UTC)[reply]

Deep Space Ship Deactivation

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)[reply]

So does giving $150 million dollars to 800 lines of buggy untested Javascript, but ... - David Gerard (talk) 17:40, 31 October 2016 (UTC)[reply]

Opening sentence

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)[reply]

Smart contract is just set or promises or set of rules or set of agreements like a classic contract but completely digital. Going by Nick Szabo's original writing that coined the term (reference 1), "A smart contract is a set of promises, specified in digital form, including protocols within which the parties perform on these promises." Additionally, he specified that smart contracts have 4 important design principles. First is observability, meaning rules and performance of the protocol can be seen and tracked. Second is verifiability, meaning activity with the protocol can be verified. Third is privity, meaning protocol's control and information access is limited to only intended parties. Fourth is enforceability, meaning protocol rules are enforced. If I had to try to summarize it in general terms, it would be the following: Smart contracts are digital sets of rules that are tracked, verified, and enforced for intended participants by a computer program. Quantumas (talk) 15:17, 27 October 2017 (UTC)[reply]

Not just opening sentence, whole article is incomprehensible to a non-expert

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)[reply]

What about replacing "protocol" with "logic"? A smart contract can be something that is written in some kind of higher level language -- be it programming languages like C or Java or something specifically designed for contracts -- but ultimately it must be convertable into something that a computer system can execute (otherwise it's just a normal contract). Also, there should be a statement in the first paragraph making clear that there is a lot of ambiguity in the term and that -- as of now -- different people mean quite different things when talking about smart contracts. --Denwid (talk) 09:39, 21 November 2016 (UTC)[reply]
The problem is that the article's been maintained and largely written by advocates and apologists for a long time, and needs bringing back to earth with mainstream references. e.g. I think it's obvious that The DAO is the most prominent smart contract in mainstream awareness - it's certainly the only one I can think of that achieved headline coverage that included the word "smart contract" - but how do you prove this to the satisfaction of an advocate who considers its failure an embarrassment? And never mind bowdlerising its embarrassing collapse - David Gerard (talk) 14:03, 28 November 2016 (UTC)[reply]

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 (talkcontribs) 06:37, 13 June 2017 (UTC)[reply]

Source cleanup

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)[reply]

It's been over a month - clearing bad sources out now - David Gerard (talk) 10:15, 19 January 2017 (UTC)[reply]
I'll give it a once-over see what comes of it. I might merge and relink as needed. Total service to the page.

- cRy0g3nIc24 (talk) 12:37, 13 July 2019 (UTC)[reply]

Why should be The DAO in the introduction

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)[reply]

Because it was the most famous smart contract ever and the first to get the idea into the mainstream media - David Gerard (talk) 22:34, 7 December 2017 (UTC)[reply]

Dubious

"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)[reply]

removed after two months - David Gerard (talk) 07:41, 2 June 2017 (UTC)[reply]

Examples with running code that people use?

[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)[reply]

[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)[reply]

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)[reply]

To my understanding there were a number of projects running on Counterparty (technology), but it seems those projects are moving to Ethereum. Maybe I am generalizing, but I did read that about Storj and Everex, both were running live systems on counterparty and have both moved to Ethereum. I too haven't heard of smart contracts prior to counterparty or Ethereum. Jtbobwaysf (talk) 09:14, 4 June 2017 (UTC)[reply]
I've found a cite as to it being the best-known and most used, will look for more. The list of others in the body covers the other stuff ok (though it needs more). As I write this I'm reading huge piles of PDFs on smart contracts ... will probably have more to add. Current search: more history of the transition from Szabo hypothetical to real-world thing - David Gerard (talk) 17:39, 20 June 2017 (UTC)[reply]
Hah! It looks like Counterparty's smart contract stuff was lifted directly from Ethereum anyway. So did anyone do a system that wasn't just Ethereum really? - David Gerard (talk) 19:30, 20 June 2017 (UTC)[reply]

David Zimbeck and BitHalo

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)[reply]

I assume this is where I'm supposed to reply? If not, please inform me.
Relevance: I assume no one disagrees it's relevant who made the first smart contract. Judging by how other topics are structured, it belongs in the lead.
Source: Blockchains are actually made to store info in a tamperproof way! It makes perfectly sense to me that blockchains are not mentioned in WP guidlines as reliable source. But I assume that is because it has not been relevant until now -not because WP questions the reliabillity. For those with enough knowledge, it is easy to see that the transaction I linked to was a double deposit escrow (DDE) transaction i.e a smart contract. It is also possible to identify Zimbecks failed attempts on both bitcoin and blackcoin blockchain. You can also identify all (DDE) smart contracts that have been done on those blockchains uptil now with 100% certainty. The reasonable question to ask here is not if it happened as that is documented on the blockchain. It may be resonable to ask if Zimbeck maid those transactions. Ownership of wallet could prove that. I'm happy to discuss how ownership should be proven. After reading up on WP guidlines I can see how each of the other links I provided fail to meet WP criteria on thier own. But when you combine them with each other they should provide pretty solid proof. And combined with the blockchain it is rock solid in my opinion. And isn't that the point of the guidelines? To make sure there is proof?
BitHalo: Because I added the info about Zimbeck in the lead, I tried to keep it short. I'd be happy to add that the smart contracts were simultaniously launched in Bithalo and BlackHalo. Why Retimuko questions wether the first per-to-per smart contracts the world has ever seen are notable is beyond me. Particularly given the fact that we are talking about contracts in a fully developed GUI -not just some command line tool.
Developer: David Zimbeck was the only developer and that kind of makes terms like "lead dveloper" redundant. That is probably why it is not specified.
Youtube video: The video is not about Zimbeck talking. It is about showing relevant software that he has developed in action. As such it should have some value as proof. Particularly combined with the other proof.
Greveakira (talk) 19:53, 26 October 2017 (UTC)[reply]
What you described above seems to be an instance of a so-called original research (WP:OR). Wikipedia articles must be based on secondary sources. So in this case I would imagine something like "In August 2014 BitHalo platform was developed and released as a public beta version" or something of that nature paraphrasing CoinDesk article, not inventing your own story. Retimuko (talk) 20:37, 26 October 2017 (UTC)[reply]
Inventing my own story??? Are you calling me a liar?
I found another article. I assume cryptocoinsnews is acceptable as source? [1] Although it is pitty to lose the details in terms of date and who Zimbeck transacted with, I could rewrite the claim to fit with this article.
Greveakira (talk) 22:44, 26 October 2017 (UTC)[reply]
Greveakira > Are you calling me a liar?
No, of course not. I meant that we are supposed to tell the story as it is described in reputable secondary sources, not to do original research. Regarding Cryptocoins News, I am not sure if there is a consensus about it being a reputable source. I don't have any objections at the moment. Retimuko (talk) 23:06, 26 October 2017 (UTC)[reply]

Decentralized application

'Decentralized application' redirects here, but the article doesn't mention the term. Jonpatterns (talk) 18:22, 6 November 2017 (UTC)[reply]

References

Too many primary/industry sources

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)[reply]

Use cases and the oracle problem

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 (talkcontribs) 18:53, 8 March 2018 (UTC)[reply]

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 (talkcontribs) 19:47, 8 March 2018 (UTC)[reply]

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 (talkcontribs) 19:04, 8 March 2018 (UTC)[reply]

See WP:CRYSTALBALL. A section on actual uses would be useful. Jytdog (talk) 19:48, 8 March 2018 (UTC)[reply]

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 (talkcontribs) 19:57, 8 March 2018 (UTC)[reply]

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 (talkcontribs) 20:00, 8 March 2018 (UTC)[reply]

Man you are in a hurry.
let's deal with one thing at a time. Please see the note I left at your talk page about threading and signing.
Please also reply there with regard to my conflict of interest inquiry. Then we can come back here. Jytdog (talk) 20:03, 8 March 2018 (UTC)[reply]
OK, so talking about smart contract oracles is not crystal balling because the oracle problem is not a future problem. It is something that exists now. It is interesting because Szabo thought up smart contracts before the technology for them was available, yet now the technology is available it is limited because of the nature of how smart contracts are secured on the blockchain, hence oracle problem.
In terms of listing specific examples instead of potential applications that have been researched, there are examples of smart contracts being used outside of the realm of cryptocurrency but listing these would be promotional? Vegetablemarket (talk) 20:14, 8 March 2018 (UTC)[reply]
If you will not take the time to properly thread your comments I am not going to reply. I told you that this is as fundamental as "please" and "thank you". Jytdog (talk) 20:19, 8 March 2018 (UTC)[reply]
What I am proposing is essentially an expansion of the second paragraph where it says "Proponents of smart contracts claim that many kinds of contractual clauses may be made partially or fully self-executing, self-enforcing, or both. The aim of smart contracts is to provide security that is superior to traditional contract law and to reduce other transaction costs associated with contracting" - about connecting smart contracts to off-chain data. Vegetablemarket (talk) 20:25, 8 March 2018 (UTC)[reply]
Like this? Vegetablemarket (talk) 20:22, 8 March 2018 (UTC)[reply]
Just re-read the history section and this part "...might constitute a sharp improvement over traditional contract law, even for some traditional kinds of contractual clauses (such as automobile security interests that provide for repossession) that could be brought under the dominion of computer protocols" is also about potential/future use cases, which is what I think we should expand on. Vegetablemarket (talk) 20:36, 8 March 2018 (UTC)[reply]

1994 or 1996?

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)[reply]

I changed 1994 to 1996 in the lead because it appears to be a mistake. The cited source says 1996. Retimuko (talk) 05:51, 18 April 2018 (UTC)[reply]
According to Szabo this paper dated 1994 was his first writing about smart contracts. Unfortunately, it is a self-published source, but I don't see any reason to doubt the fact. Retimuko (talk) 18:06, 8 May 2018 (UTC)[reply]

Example needed

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:

If on 2018-05-01 at 12:34:56 the value of Pi is 5, Fred gets two smart-coins. Otherwise, Jerry gets them.

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)[reply]

SideChain platforms like BlockIDE and Etherparty

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)[reply]

Phil Salin

This text was added:

Smart Contracts were first invented and named by Phillip K. Salin, and implemented in 1990 in the American Information Exchange (AMiX), the first commerce company. [ref]"AMiX Software. your guide to the information marketplace" 1992. AMiX user manual[/ref] Smart contracts lay dormant until proposed again by Nick Szabo in 1994.

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)[reply]

Semi-protected edit request on 1 August 2018

Third party references are mostly text explaining what Smart Contracts are, which is great. How about an infographic?

  • No idea * (yet) how to respond to your comment so i'll edit my initial question. let me rephrase: Would chainbits' Smart contracts explainer fit as a third party reference to the wiki smart contract page? It contains information and a visual infographic that explains about the subject. I didn't mean to paste the infographic in here.

https://www.chainbits.com/cryptocurrency-terms/smart-contracts-definition/ Kifakrec (talk) 10:04, 1 August 2018 (UTC)[reply]

@Kifakrec:  Not done: Wikipedia doesn't have a license to use the infographic on that page. However, if the content owner donates the infographic to Wikipedia, it would be eligible for inclusion in the article. Please keep in mind that all branding (including company logos) and advertising would need to be removed from the infographic before it can be included here. — Newslinger talk 11:29, 1 August 2018 (UTC)[reply]
Even then, I wouldn't include it. Apart from infographics being a gratuitously inaccessible way to present information ... the graphic is low-content marketing hype, and entirely unsuitable for an encyclopedia - David Gerard (talk) 09:05, 2 August 2018 (UTC)[reply]

Semi-protected edit request on 3 August 2018

change smartcontract is a protocol to smartcontract is code Secunoid (talk) 19:31, 3 August 2018 (UTC)[reply]

 Not done: please provide reliable sources that support the change you want to be made. LittlePuppers (talk) 02:49, 4 August 2018 (UTC)[reply]

Semi-protected edit request on 3 August 2018

change A smart contract is a computer protocol to A smart contract is a computer code Secunoid (talk) 19:54, 3 August 2018 (UTC)[reply]

 Not done: Please do not duplicate edit requests. LittlePuppers (talk) 02:49, 4 August 2018 (UTC)[reply]

Semi-protected edit request on 9 August 2018

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)[reply]

 Not done: please establish a consensus for this alteration before using the {{edit semi-protected}} template. Dolotta (talk) 14:46, 10 August 2018 (UTC)[reply]

Semi-protected edit request on 20 October 2018

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)

 Done --DannyS712 (talk) 23:57, 25 October 2018 (UTC)[reply]

Semantics discussion lacking; I added one but an editor promptly reverted it

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)[reply]

Yeah, sorry if I seemed snappy in reverting - but across all the cryptocurrency-related articles, uncited essay-like sections and terrible sourcing are a plague. This article is no exception. You're reading the cleaned up version.
This is one of those times where breaking the rule on original research might be helpful - but that's not a thing we can really do.
The academic state of blockchain and smart contract discussion is ... not so great sometimes, as you note. There's some good stuff, but there's some blithering nonsense - peer-reviewed, too.
(If my own book was sufficiently notable as a source, I'd say "cite chapter 10 all you like!" But ah well ;-) )
We're super-harsh on sourcing for crypto articles because of a firehose of bilge and nonsense. This captures good contributions too, if they can't be sufficiently backed.
I'm trying to think of a way forward. Dredging the literature for peer-reviewed cites that aren't nonsensical? - David Gerard (talk) 16:55, 15 August 2019 (UTC)[reply]