I was writing this basic introduction, Smart Contracts: Use cases, and DApps
Smart contracts are self-executing code that defines and executes an agreement between multiple parties. That code contains simple “if/when…then…” statements executed within a distributed network that achieves consensus on transactions made within it.
When I came across:
A Next Generation Smart Contract and Decentralized Application Platform (Vitaliks ANN post on lambda-the-ultimate)
Smart contracts and related languages have a long discussion history on LtU
- A Next Generation Smart Contract and Decentralized Application Platform (Vitaliks ANN post on lambda-the-ultimate)
Which took me down the rabbithole and led to the creation of this resource.
Smart Contract History
VatA (the donor) deposits a reference to gift at nonce in VatC’s (the host’s) from-VatA-for-VatB table, and returns a Vine for the gift-entry.
Object Capabilities (ObCap)
The object-capability model was first proposed by Jack Dennis and Earl C. Van Horn in the 1966 paper.
Programming Semantics for Multiprogrammed Computations
The semantics are defined for a number of meta-instructions which perform operations essential to the writing of programs in multiprogrammed computer systems. These meta-instructions relate to parallel processing, protection of separate computations, program debugging, and the sharing among users of memory segments and other computing objects, the names of which are hierarchically structured. The language sophistication contemplated is midway between an assembly language and an advanced algebraic language.
What Are Capabilities?
The capability paradigm is about access control. When a system, such as an OS or a website, is presented with a request for a service it provides, it needs to decide if it should actually do what the requestor is asking for. The way it decides is what we’re talking about when we talk about access control. If you’re like most people, the first thing you’re likely to think of is to ask the requestor “who are you?” The fundamental insight of the capabilities paradigm is to recognize that this question is the first step on the road to perdition. That’s highly counterintuitive to most people, hence the related controversy.
- wikipedia- Object-capability model
- Awesome Object Capabilities and Capability-based Security
- Linked Data Capabilities
- Cosmos Object-Capability Model
- Object Capabilities with Kate Sills (podcast)
- Ethereum Object Capabilities
- Security in Scala: Using Object Capabilities
- DIDAuth + Obj. Cap.
- History of Object Capabilities
Object Capabilities are new to me, and I’m just placing any related information here for now until I make them a page of their own.
Basically this research starting in the 60’s, with much work throughout the 80’s (that is not well dowcumented online), culminating with Nick Szabo’s work, and E Language. Object Capabilities are central to the original line of work the term “Smart Contracts” was used in reference to, which was somewhat misappropriated by Vitalik.
- Nick Szabo - Distributed Wikipedia Powered by IPFS
- Nick Szabo’s Essays, Papers, and Concise Tutorials - Nick Szabo’s Home Page
- Smart Contracts Glossary ‘95
- Smart Contracts: Building Blocks for Digital Markets - Nick Szabo 1996
- Formalizing and Securing Relationships on Public Networks- Nick Szabo
Let’s Talk Bitcoin! #246 Smart Contracts with Nick Szabo
Adam, Stephanie and Andreas spend an hour with crypto-scholar of note Nick Szabo in a wide ranging discussion covering Smart Contracts, Bitcoin and Blockchains.
A Technology, Legal & Regulatory Introduction — Foreword by Nick Szabo
- Prepared by: Smart Contracts Alliance — In collaboration with Deloitte
“the most secure environments for smart contracts are the most mature public blockchains, which are designed for trust minimization instead of trusting the often private and insecure system found resident with a central party” @NickSzabo4
- Prepared by: Smart Contracts Alliance — In collaboration with Deloitte
- A Formal Language for Analyzing Contracts ‘02
- Wet Code and Dry ‘06
Elang and other Early Work
- wiki.c3.com - E Language An ObjectCapabilityLanguage
- Mailing list ARChives— e-lang The E capability-secure scripting language
What’s in a Name? — The Disambiguation of Smart Contracts
2014 and Gavin Wood takes the stage at the auditorium in Barclays Whitechapel Accelerator space to describe a brave new world of…
- They Might be Smart, but these contracts need to be more Secure ‘16
Scanning Live Ethereum Contracts for Bugs - ‘16
In this post, we examine just how prevalent the recently discovered “unchecked-send” bug is in real, live, deployed Ethereum contracts, with the aid of an automated analysis
The Future of the Blockchain: my DevCon IV talk. – Mattereum - Humanizing the Internet
This year October 31 at the DevCon IV I gave the first talk on the Smart Property Register — the Mattereum innovation, which I think is…
Researchers: Roughly 60% of Ethereum smart contracts have never been interated with
A group of researchers from the Northeastern University and the University of Maryland published a paper detailing their analysis of Ethereum’s contract topology. The researchers modify Ethereum’s geth client to log how users and contracts interact with one another. The r…
Ethereum in BigQuery: a Public Dataset for smart contract analytics
Ethereum transactions, like some other cryptocurrencies, are stored in a public ledger. Learn how to analyze that ledger in BigQuery to better understand transaction and even contracts history.
Ricardian - Legal
- On the intersection of Ricardian and Smart Contracts
Smart Contracts, Dumb Signatures: Why Blockchain-based signatures
This is not legal advice, please seek professional guidance from an attorney.
Defining smart contracts – Craig Wright – Medium
When contrasting contractual principles, it is clear that where a contract is not required to be in writing (Columbia Law Review, Apr…
The application, scope and limits of Letters of Indemnity in Bitco…
The Bill of Lading is a document unique document as its negotiability fulfils several purposes. These documents have led to a…
- Coalition of Automated Legal Applications
- WebOfTrustInfo/rwot2-id2020 - Smarter Signatures
- Smart Signatures—Experiments in Authentication -Christopher Allen -SlideShare
- Simplicity Itself for Blockchains
- Near Future of Programming Languages
- Stephen Diehl (@smdiehl) ‘17
- Yes, Bitcoin Can Do Smart Contracts and Particl Demonstrates How The Bitcoin blockchain is not known for its ability to enable smart contracts. In fact, most developers creating smart contracts use a different blockchain, like Ethereum. But the truth is that the Bitcoin protocol can be used to create smart contracts. Particl.io, the blockc…
- Scriptless Scripts: How Bitcoin Can Support Smart Contracts Bitcoin’s capacity is limited. Meanwhile, smart contracts can be resource intensive. So even though Bitcoin has always supported basic smart contract functionality, the two have never been a natural match.But a recent topic of research spearheaded by Blockstream mathematici…
RSK, bitcoin´s smart contract platform.
Languages - Platforms
List of awesome platforms for smart contracts. Contribute to Overtorment/awesome-smart-contracts development by creating an account on GitHub.
Comparison of Smart Contract Platforms – Hacker Noon
Ivy-lang, Plutus, Solidity, Scrypto, Michelson, Hoon, Rust, …
Meet ‘Spedn’ — A Smart Contract Programming Language for Bitcoin Cash
- On Wednesday, a developer called Tendo Pein announced the launch of a new smart contract programming language for the Bitcoin Cash network. Pein said “Spedn,” a BCH-based language, is designed for explicitness and safety while having a syntax similar to the C programming …
Cardano Introduces Smart Contracts For Financial Transactions
Marlowe, a new smart contract language for Cardano aimed primarily at financial contracts on the blockchain was revealed some days ago. The language has been developed by researchers from IOHK, a company that are the main developers and maintainers of the blockchain Cardano.
This page isn’t really about learning how to do smart contracts, but more about the history and different aspects of smart contracts. However, I have these links, and I’ll throw them here until I make a page devoted to learning how-to.
Learn Solidity — The Ethereum smart contract programming language
In the course of time that I am involved in Ethereum development, I have noticed that not much information exists yet to learn Solidity…
NEO Smart Contract development
My first Smart Contract on NEO blockchain in C#: Open Visual Studio 2017. In Team explorer click on Clone and insert the neo-compiler link: https://github.
Blockchain Unleashed: IBM Blockchain Blog
Whether you’re new to smart contracts on blockchain, or you’re looking for an in-depth explanation, this guide is a great place to start.
- Building a non-fungible token sales smart contract -Selling non-fungible tokens and the ERC721 standard
Philip Daian | Smart Contract Security - Incentives Beyond the Launch
To mitigate security issues that were quickly evident in the deployment of smart contracts, developers have tried a wide variety of security techniques. Standard when deploying new contracts is…
Preparing for a Smart Contract Code Audit – ConsenSys Media
If you are planning to launch a project on the Ethereum blockchain, you probably know the importance of a third-party code audit. An…
Solidified - Audit Platform for Smart Contracts
A platform for crowd-sourced review of smart contracts, where any developer can bring their contract for review with a large network of verified blockchain experts.
The Truth about Smart Contracts – Jimmy Song – Medium
Much like the words “blockchain”, “AI” and “cloud”, “smart contract” is one of those phrases that get a lot of hype.
Smart contracts: Turing completeness & reality – Hacker Noon
The meltdown of “The DAO” and, more recently DDOS attacks on Ethereum have spurred a debate on the wisdom of “Turing completeness” in…
Bribery-Resistant Voting Schemes for Smart Contracts
This is joint work/post with Ian Miers, Oded Naor, and Ari Juels. Recently, a number of proposals and applications have evolved on Ethereum that require voting; from contracts that use voting-based DAOs for governance or other administrative tasks, to boardroom-like votes to…
Why Many Smart Contract Use Cases Are Simply Impossible
Coin Sciences CEO Gideon Greenspan attacks common misconceptions that he argues are contributing to outlandish expectations for smart contracts.
Deloitte Insights - Upgrading blockchains
Paper contracts can take weeks to travel around the globe, while digital documents are uncomfortably easy to forge. Is there a way to automate transactions to make them smoother, more efficient, and more secure for all parties? Leaders are looking at blockchain and smart cont…
They Might Be Smart, But These Contracts Need to Be More Secure
A certification process can provide participants in smart contracts with greater assurances they won’t lose their money (see: the DAO). But in distributed systems, the true test of security comes when software is released into the wild.
- Most Cited Smart Contracts Publications
Smart contract (also self-executing contract, blockchain contract, or digital contract) is an electronic algorithm intended for the automation of the contract execution process in the blockchain. The general idea of smart contracts is to exclude divergences in the treatment …
OpenLaw — A free legal repository
We are home to a passionate group of people, technologists, and dreamers committed to rebuilding the legal industry.
Investopedia — Smart Contracts
Smart contracts are self-executing contracts with the terms of the contract between buyer and seller directly written into lines of code.