Using Stellar for ICOs

Since the beginning of the year, we’ve seen organizations raise over $1.3 billion through initial coin offerings (ICOs). While there may be various regulatory, financial, and technical issues littering the current ICO landscape, there is no denying that the ICO model is a boon for the growth of strong, decentralized networks and mainstream blockchain adoption. Moreover, the ICO model promotes global financial inclusion by democratizing fundraising, investment, and network participation.

Traditionally, ICO tokens have been issued on the Ethereum network in the form of ERC20 tokens. ERC20 tokens are easy to issue and are infinitely customizable using Ethereum’s smart contracting language. However, recent events have highlighted and exacerbated some weaknesses of the network, including slow transaction processing times for the network during ICOs and increasingly expensive gas prices (by fiat standards) for transactions and smart contract execution. Moreover, many organizations require only basic tokens; they adopt the risk of Ethereum’s Turing complete programming language without taking advantage of many of its benefits.

While Ethereum has the most expressive programming capabilities, we believe Stellar is the best choice for ICOs that do not require complex smart contracts. Stellar’s primary goal is to facilitate issuing and trading tokens, especially those tied to legal commitments by known organizations, such as claims on real-world assets or fiat currency. First, there is a simple, easy-to-use built-in token issuance system that is accessible to anyone. Second, Stellar offers built-in token capabilities that can support multi-signature authorizations, generate dividends, limit who can hold tokens, and more. Perhaps most importantly, Stellar features a decentralized exchange where any Stellar network token can be instantly traded without relying on a third party exchange to list the token. This means newly issued tokens can be traded on Day 1.

Rationale for Stellar

There are multiple reasons to consider Stellar for an ICO:

1) Built-in decentralized exchange
There are literally thousands of new tokens being issued this year. Each one will have to find some exchange to list them. Users will have to make accounts at random exchanges to be able to buy certain tokens and, inevitably, many of these tokens won’t get listed.

Stellar was designed from the ground up to support efficient trading. Any token created on Stellar can be bought and sold immediately on Stellar’s decentralized exchange by means of Stellar’s native offer mechanism. An organization does not have to rely on a third party exchange like Bittrex or Poloniex to list or make the market for them. This all means one less unknown since you don’t have to trust someone to list your token.

2) Greater security
While Stellar is less expressive than Ethereum, the simplicity of its transaction model creates fewer pitfalls and hence can improve the security of applications that do not require the full generality of Turing-complete smart contracts. Simply put, Stellar’s model of atomic multi-operation transactions leads to more auditable code, limits uncertainty, and decreases the risk of harm from bad actors who may exploit program vulnerabilities. Moreover, Stellar optionally allows issuers to reserve the ability to freeze tokens in the event there is misuse. Hence, recovery from compromise need not rely on the willingness of validators or miners to execute an irregular state change to bail them out.

An additional security feature is that organizations have the option to choose which nodes can validate their transactions. This is particularly helpful if there are malicious validators on the network or if the organization’s tokens represent some real-world asset that cannot be double-redeemed. For example, suppose some token represents a pound of gold. If the token were issued on Ethereum or Bitcoin, any fork could sow confusion and risk double-redemption. However, on Stellar, organizations can pre-select which validators have the “legitimate” version of their token.

3) Create custom ICOs
No two ICOs are the same, just as no two companies are the same. Stellar enables tailor-made ICOs by providing base abstractions such as accounts, tokens, payments, offers (to exchange one token type for another), and atomic transactions consisting of multiple operations. Users can combine these simple abstractions in complex ways to get a wide array of behaviors, similar to building custom structures with simple lego blocks. For instance, issuing dividends, bonds, escrow, collateralized debt, dividends, inflation, and the Lightning network are all possible on the Stellar network. Because of primitive support for atomic transactions, it is trivial to code something that says A sends to B if B sends to C.

Using Stellar leads to faster development time since it has already built-in common ICO features such as creating a token and whitelisting eligible contributors (e.g. to enforce know-your-customer requirements and limit activity in some jurisdictions). Stellar is a particularly good choice for organizations who have know-your-customer requirements.

We have written a blog post about how to create tokens on Stellar. And also a post about how a crowdfunding contract could operate on Stellar. For more detailed information and instructions, check out the Stellar Developers’ Guide.

4) Significantly cheaper and faster
As ether (ETH) obtains higher valuations, computation and transactions are becoming increasingly expensive. Even at the current order of magnitude of price ($200-$300), gas prices are costly.

Stellar does not require any “gas” to execute programs and only requires a negligible transaction fee (.00001 XLM—a fraction of a fraction of a penny) to discourage users with malicious intent from flooding the network with transactions.

The median transaction time on Stellar is 5 seconds, compared to approximately 3.5 minutes on Ethereum.

Stellar v. Ethereum

Stellar Ethereum
Median Confirmation Time 5 seconds 3.5 minutes
Price Negligible transaction fee (.00001 XLM ~= $0.0000002). 10 XLM/offer deposit (refunded when offer filled or canceled). No gas fee for computations. Depends on complexity of computation, speed of transaction, and fiat value of ether. The median cost for a transfer is $0.094
Features A library of base abstractions that can generate sophisticated behavior. See the Stellar Developer Guide Anything the mind can imagine, and plenty of things that it didn’t consider.
Security

Decentralized network: anyone can run a Stellar Core node and validate transactions. Can choose your validators for increased security.

Atomic transactions comprised of simple, declarative operations lead to more auditable code and fewer security pitfalls.

Decentralized network: anyone can run a node and validate transactions. No built-in feature for choosing approved validators.

Turing complete programming capabilities produces less auditable code and greater risk of exploitable vulnerabilities.

Note: Prices and speed reflect the state of the markets and networks on 12:53 PM UTC, July 24, 2017.

Conclusion

Stellar is an excellent choice for any ICO that does not require Turing-complete smart contracts and can benefit from immediate creation of a secondary market. To learn more about the technical specifications, please refer to the Stellar Developers’ Guide. We also intend to release a tutorial and more technical guidance in the upcoming weeks. Lastly, if you’re interested in testing the waters and developing for the Stellar network, you may be interested in participating in the next Stellar Build Challenge to win lumens!

At the end of the day, the mission of Stellar is to promote financial inclusion. To this end, we welcome responsible, positive-impact projects to explore Stellar as a platform to further global participation in fundraising and blockchain usage.

Get the latest Stellar news.

List of posts

Stellar Community Chat

Recent posts