Simple Restricted Token Standard

ERC-1404 : an open standard for security tokens.

lawson baker
5 min readSep 20, 2018

Open standards are the crux of interoperability. With the rise of open-sourced token-driven protocols like Bitcoin and Ethereum sprung legions of developers working both together and separately. Each “buidling” towards a future where no one is in control, but everyone is empowered. That’s the power decentralized blockchains brought to our money with Bitcoin and eventually our finance with Ethereum.

However, with each improvement came new ideas and new ways to use these protocols. With Ethereum they promised the “World’s Computer,” and Nick Szabo’s smart-contracts rose to the forefront of any entrepreneurial developer’s mind.

Why would you not want your application to live forever?

Enter the meandering mind of the decentralized developers. We got dApps with cats clogging the network or even a smart-contract to pool funds and invest in any project users could imagine. Over $150 million later and The DAO, we were no longer dealing with play money. The DAO was hacked. Three years later Devops199 said, “I accidentally killed it,” and in an instant ~ 514,000 Ether were locked in Parity’s multi-signature smart-contracts forever, maybe.

For good and bad, deploying applications on a blockchain is less like playing with fire and more like laying the foundation for your next skyscraper while also building a moat. Sounds great until you see the technical debt it creates. From security vulnerabilities and blockchain bloat to the requirement for exchanges and wallets to support multiple iterations of a similar idea, a developer’s mind will create new but break old.

Thankfully, early Ethereum developers understood that standards were needed to protect the blockchain, its users, and the applications relying on the protocol-level and dApp-level functionality. With the introduction of Ethereum Improvement Proposal framework (“EIP”), the Ethereum community adopted a process for purposing standards, debating their merits, and encouraging interoperability.

Arguably, the most popular Ethereum standard is ERC-20 — permissionless, fungible tokens for any account and ~limitless transfers. This open standard bore a movement starting with a $5 million sale for Augur, $150 million and The DAO, and then, BOOM. The Initial Coin Offering (“ICO”) movement of 2017 turned early stage startup investing and even traditional finance on its head. Wall Street literally shuddered.

Open Finance

Open finance was born. We did not use that name at the time, but we created a finance that did not care about the ink the lawyer typed, the contacts of investment bankers, or your regulator’s permission. Needless, to say this did not attract your best cousin’s attention. Riches flowed from Ether’s price boom into any ICO’s with a dream. While some incredible ideas received funding, fraud was rampant. Worldwide regulators pondered, “Can we turn it off?”

As we all now know, the answer is no. However, regulators understand laws do not restrict ideas or software. Laws restrict people. Starting in December 2017 and continuing early 2018, the SEC took a methodical approach of taking down flagrant frauds and privately railing their lawyers. Why did you not follow the securities laws and how do we enforce them inside the protocol. Self-regulation was needed.

When selling investments in a project you control, you must register your investment contract and its your business with the SEC or limit the sale of the token and its subsequent transfers to certain purchasers (e.g. accredited investors or non-US purchasers), specific time periods (e.g. 1 year restricted of resale or vesting), specific number of purchasers (e.g. 99 or 1999), and so on.

Open Standards for restricted tokens

That’s why yesterday we announced that TokenSoft’s Project Zero special projects team is proposing an open standard for creating security token and other restricted token smart contracts. We call it the “Simple Restricted Token” standard or “ERC-1404” for convenience.

ERC-1404_logo*

ERC-1404 is an ERC-20 compatible standard. It can implement other proprietary, branded token standards (Polymath’s ST-20 and Harbor’s R-Token). All with only two simple functions:

// The Simple Restricted Token Standard Interface

contract ERC-1404 is ERC20 {
// returns a restriction code,
// where 0 is reserved for success
function detectTransferRestriction (
address from,
address to,
uint256 value
) public view returns (uint8);

// returns a messsage string
// -- a human-readable message for the passed restriction code
function messageForTransferRestriction (
uint8 restrictionCode
) public view returns (string);
}

It’s as simple as that. Check for transfer restriction and return a restriction code, where ‘0’ is reserved for success. Then, provide the user with a human-readable message string for their given token.

This standard is the product of over a year’s worth of real-world feedback from token issuers’ wants, securities attorneys’ needs, and exchanges’ desire for ease of use and interoperability.

We hope you like it. If not, tell us why on the EIP repository (https://github.com/ethereum/EIPs/issues/1404).

And, check out the website compiling all of the resources (https://erc1404.org/).

* The ERC-1404 logo was inspired by the Ethereum logo and Pink Floyd’s ‘The Dark Side of the Moon’ album cover (“How an Album Cover Became an Icon”). If ERC-20 took in ether and created a spectrum of fungible tokens available to anyone, ERC-1404 takes in a spectrum of tokens and restricts it for a specific use case. This is very similar to the process of using two prisms for dispersion and recombination where (1) one prism takes white light and breaks it into a spectrum, and (2) the second prism takes the spectrum and recombines it into white light. The logo is the second prism.

black logo with example yellow background
white logo with example red background
mmm…standards.

--

--

lawson baker

@rara_social @NetworkSubspace @hashflownetwork // prev @TokensoftInc @synapsefi // i am not your attorney