The best way to understand the future might be to study the past. A year ago I hardly knew anything about EOS. Today I have it compiled on my laptop and much of my time is trying to understand C++, WebAssembly etc. skills that I see myself needing for developing my own dApps. I know what ECAF is, philosophize daily about the implementation of Universal Resource Inheritance (URI) and it’s social implications, I’ve chatted with and answered dozens of questions from strangers on /r/eos and /r/eosdev and I’ve sat through hours upon hours of EOS related podcasts… What crazy rabbit hole this journey has been. As a computer scientist who was involved with Bitcoin before most people, very few alt-coins, ICOs or whatever have actually intrigued me. I was looking into alternate use cases of blockchain technology, when I stumbled upon Steem / Steemit and began to read the white paper. This is what eventually led me to EOS, taking part in the early token sale and becoming part of the genesis snapshot as the network was launched. I would like to share with you some of my early writings from way back when EOS was not even around. This as a precursor to any future writings on EOS.
Analysis of Steem / Steemit
The original blockchain made by Nakamoto was implemented as a means of creating the digital currency now known as Bitcoin. Since then many have created other digital currencies; mostly close variants of the original implementation, with projects, often being a fork of the original code, containing only minor differences and no noteworthy innovations. Such changes could be variations in the total supply of circulating coins (even pre-mining these to make all available at once), slight speed increases or utilizing other hash functions. Blockchain technology has since become the inspiration for many other use cases, addressing issues outside the sphere of cryptocurrencies. Such new blockchain based endeavours often attempt to solve problems or provide services already addressed by existing centralized solutions, seeking to disrupt entire sectors by repurposing the Nakamoto blockchain technology to fit another use case. In this chapter, we look at one such project, the technological blockchain platform called Steem and Steemit, a blockchain based web application taking the shape of a social media platform, that incorporates cryptocurrency. Steem delivers the horsepowers that Steemit runs on. We seek to understand how the underlying blockchain differs from the one that facilitates the bitcoin cryptocurrency. Knowledge about specific implementation differences have been sourced primarily from their 2017 white and blue papers, with additional information from developer accounts of the system.
What is Steem? What is Steemit?
From the conclusion in their white paper:
“Steem is an experiment designed to address challenges in the cryptocurrency and social media industries by combining the best aspects from both. Steem presents earning opportunities to content creators and internet readers in ways that have not existed within the social media industry. Within Steem, individuals earn real rewards online that are directly correlated to their contributions. Those rewards may have dollar value due to the market price discovery and liquidity of Steem, and the people who hold Steem may have more exclusive earning powers than those who do not.”
(“whitepaper,” 2017: 31)
From the blue paper primarily aimed at an audience of developers:
“A protocol for enabling smart, social currency for publishers and content businesses across the Internet”
From the Steemit website:
“Steemit is a social network and content rewards platform that makes the crowd the beneficiaries of the attention economy. It does this by rewarding users with STEEM. Steemit has redefined social media by building a living, breathing, and growing social economy; a community where users are getting rewarded for sharing their voice.”
(“Steemit FAQ,” 2017)
Steem and the running Steemit.com website is an attempt to create a social news aggregation site like Reddit.com, only with a blockchain as its technological basis and with that a monetary incentive system. Essentially, an online community wherein cryptocurrencies are exchanged as a means of facilitating content creation and curation, which intends to reward the creativity of community members. Upon posting, commenting or even voting on content provided by others, users can receive payment for simply participating in the community.
The “trending” section of Steemit, where posts that have grown in popularity will show. The 3 posts shown have all earned $200+, of which at least 75% is awarded to the user who authored the content. Up to 25% of the money is distributed to users that curated (upvoted) the content. (“Steemit FAQ,” 2017)
Voting on content is free, but each user account has a rate-limited voting capability, such that a user voting for 1000 things will dilute the weight/influence of said user’s votes, in comparison to another user that votes more sparsely. (STEEM Q&A with Ned and Bytemaster 04/17/2016)
The system monetarily incentivizes users to downvote low quality/spam/abusive content, which serves to help ward off vote rigging/bots trying to game the system. Despite this, I have found that there does seem to be quite a lot of automated bot behaviour.
Sybil attacks against that system (that of creating multiple accounts) are pointless, due to the stake weighted approach to voting, which requires an understanding of how STEEM can be vested in the form of Steem Power.
Blockchain implementation differences
Whereas the original blockchain created by Nakamoto was a core component of bringing Bitcoin cryptocurrency into the world, the Steem blockchain has been implemented in such a way as to provide several different means of digital value transfer to the Steemit community.
The Steemit community represents value in 3 ways:
- General purpose cryptocurrency of the network.
- Tradeable tokens that may be transferred anywhere at anytime.
- Users can ‘Power Up’ and convert STEEM into Steem Power.
Steem Power (SP)
- The more you have the more influential your votes are.
- Designed to encourage long-term holding rather than short-term selling.
- Essentially the same as STEEM, but in a locked state; vested tokens.
Steem Blockchain Dollars (SBD)
- Debt-like financial instrument that accrues yearly interest.
- Price-stable currency tokens representing approx. $1 per token.
STEEM is the actual cryptocurrency of the network, as Bitcoin is to the Satoshi Nakamoto Blockchain. SP and SBD are smart contracts that provide additional utility, with SP allowing users to increase their voting influence and SBD guaranteeing a non-fluctuating measure of value, that when held will pay 10% in yearly interest. (Steemit Bridges Blockchain and Social Media, But How Does It Work?)
When a community member receives a payout for a post, it is awarded 50-50 in SP and SBD, with the user having the option of only receiving SP or entirely declining the payout. Should the latter happen, all value is distributed amongst other users. (“whitepaper,” 2017)
Whilst this addition seems more confusing than had the Steemit community utilized only a single (and perhaps preexisting cryptocurrency), the claim is that this design aims to “make Steem the ultimate on-ramp into cryptocurrency for mainstream users” (“bluepaper,” 2017: 7)
Cryptocurrencies are still quite new. Most people have yet to bridge the gap between regular fiat currencies and the new “magical internet tokens” and how these can have real-world value. In order to help further the understanding of its users, Steem has created Steem Blockchain Dollars (SBD), giving them a well-known measure of value, as to understand exactly how much value they are dealing with.
User-contributed content will, of course, be a reflection of interests held by said users. While the early adopters of Steemit were cryptocurrency enthusiasts, the site has to attract people from outside this sphere as to not remain a collective filter bubble. Moreover, it needs content variation in order to reach new people through search engine results. The SBD tokens seem primarily aimed at newcomers who have yet to be fully recruited into the world of cryptocurrencies; such new members of the community might not feel the same urge to jump on the ‘speculative internet money’ bandwagon and might even be scared off prematurely if only given the option of bitcoin etc. Hope seems to be that a cryptocurrency with a 1:1 ratio of a well-known fiat currency will comfort any crypto doubting newcomer. That the allure of posts earning recognizable dollars outweighing that of the interest in payments of Bitcoin etc.
While Steemit and other communities running on Steem initially seem indistinguishable from regular centralized approaches such as Reddit, (each social media platform engaging in content creation, sharing and curation) they are to be considered as token-based communities wherein the incentive mechanisms (reputation/IQ/point scoreboard systems) have garnered actual fiscal value. Whereas content shared on Reddit leads to contributing users attaining karma points for their comments and posts, such a point system provides little more than an aspect of gamification and online status symbolism.
The ‘points‘ awarded in blockchain based online communities are of palpable value, with rare instances of some users having earned several thousand dollars worth of cryptocurrency for single contributions. (Steemit / The Dollar Vigilante, 2016)
Recently, Steem has begun referring to its particular use of cryptocurrency as Smart Media Tokens (SMTs) (See https://smt.steem.io/ ) in a bid to take the technology further as a foundational transactional layer on any social media website.
A different consensus algorithm
“All blockchains are fundamentally a deterministic state machine acted upon by transactions. Consensus is the process of agreeing on a deterministic order of transactions and filtering invalid transactions. There are many different consensus algorithms that could produce equivalent ordering of transactions, but DPOS has proven robust, secure, and efficient by years of reliable operation on multiple blockchains.”
When we examine the internals of the Steem platform, we see that the bitcoin network’s Proof of Work (PoW) consensus algorithm has been replaced with another algorithm called Delegated Proof of Stake (DPoS). Such a change in the consensus protocol matters, as it affects how blocks are created and added to the ever-developing chain. It is the very foundation of decentralized trust. The DPoS algorithm is another variant of the Proof of Stake (PoS) algorithms, so we’ll start by covering it.
Proof of Stake (PoS)
Proof of Stake (PoS) is a category of consensus algorithms for public blockchains that depend on a validator’s economic stake in the network.
In 2012, Peercoin / PPCoin was the first cryptocurrency / AltCoin to implement Proof of Stake, formalizing a design inspired by the concept of “coin age”, whereby the holding time of a currency amount is taken into consideration as an active investment in the given network:
“Coin age is simply defined as currency amount times holding period. In a simple to understand example, if Bob received 10 coins from Alice and held it for 90 days, we say that Bob has accumulated 900 coin-days of coin age.”
(PPCoin: Peer-to-peer crypto-currency with proof-of-stake. King & Nadal, 2012)
While in a PoW system only the blocks in a blockchain have timestamps, every transaction in a PoS blockchain has been given a timestamp field, allowing for computation of coin age. The stake value of a cryptocurrency token grows the longer it is invested / in a locked unspendable state. Once you transact the coin, you remove it from the pool of vested tokens and that in turn resets the value.
In blockchains utilizing the PoW algorithm, blocks are created by solving cryptographic puzzles. Blockchain applications running on PoS do not rely on miners to solve puzzles; instead of miners, they have a set of validators. These actors each take turns proposing and voting on blocks in order to determine how it should proceed to evolve. Not all votes weigh the same, however; some actors are more invested in the system than others and the votes increase in weight accordingly with how much any given actor has at stake in the system. Whereas miners in PoW must solve cryptographic puzzles, validators in PoS must prove ownership of stake to ‘mine’ the block. (Ethereum wiki)
Today, the PoW scheme requires investments in expensive mining equipment. By using PoS, it becomes possible to channel this money directly into the economy without the “waste of energy” on computational proofs, instead, skipping ahead to virtual mining and a random lottery that allocates resources amongst stakeholders, without negatively impacting the environment.
Earlier on, I have described the Proof of Work (PoW) consensus algorithm as more meritocratic than democratic in nature and we see how this basic philosophy / political view is further inherited by a stream of newly created algorithms. (Guess I didn’t upload these writings for you… too bad)
Whereas PoW relies on rewards for security, PoS relies on penalties. In a system running on PoS consensus, money deposits are made to the system by users, putting their funds at stake. Instead of using great sums of electricity on the generation of cryptographic proofs, users lock up capital:
The “one-sentence philosophy” of proof of stake is thus not “security comes from burning energy”, but rather “security comes from putting up economic value-at-loss”.
The logic that follows from this becomes very interesting in relation to the 51% attack discussed in the previous section, as any attacker would have to control not 51% of the total computational resources, but rather 51% of the total currency, in order to mount an attack. The more you have at stake in the system, the unlikelier it seems you would want to mess with the consensus. Looking past this seemingly logical premise, it is possible to construct a PoS system that takes into account this hypothetical, illogical malicious node. As of this time of writing, the Ethereum network (running on PoS) has a market cap of approximately $45 billion. To mount a 51% attack against the network would necessitate your ownership of and willingness to jeopardize $22.5 billion.
Any scrupulous validator willing to risk their own majority stake, for whatever irrational reason, would incur penalties in accordance with so-called slashing conditions, whereby the entire deposit belonging to a validator is destroyed upon the system determining misbehaviour. (Ethereum wiki)
Proof of Stake (PoS) was originally designed as a replacement to the computationally expensive PoW algorithm, attempting to address the sustainability concern regarding the amount of used electricity:
(…) while proof of work requires miners to effectively burn computational power on useless calculations to secure the network, proof of stake effectively simulates the burning, so no real-world energy or resources are ever actually wasted.
Besides concerns of it being somewhat unsustainable, PoW critics are also often concerned about the consolidation of mining power. PoS, as an architectural difference to blockchain applications, intends to facilitate what some saw as the original value proposition; that anyone with a simple computer could participate in the act of mining (creation of cryptocurrency). (Understanding Ethereum – Blockchain Research Report, 2016: 26)
This is reminiscent of the early days of bitcoin’s existence before the process of mining required clusters of expensive ASIC processors. Regarding the mining process in PoW, the chance a miner has of solving the puzzle before any other miner is directly correlated with the amount of computing power; the hardware used by the miner. With that, a premise of the miner incurring costs (same as having something at stake) relative to the size of their mining rig. In Proof of Stake systems, the bigger the stake of the validator when compared with that of another validator, the bigger chance of that miner getting to ‘mine’ the block.
The mining process happening within PoS systems is virtual, it is effectively simulated. There is no cryptographic puzzle being solved as is the case with the PoW consensus algorithm. (Proof-of-Stake ‘Virtual Mining’ – Princeton University)
What I want you to take away from all of this is the notion of systemically aligning interests of stakeholders with the maintenance of the system. When dealing with the topic of consensus algorithms, it is exceedingly paramount to understand the inherent incentives. We are trying to create a network of not only computers but also the people running these machines. Whilst we often refer to Bitcoin and other cryptocurrencies as trustless systems, looking into incentives, we can see that the trust is really still there… only we have designed the systems to make it readily apparent that your self-interest is acutely correlated with the functioning of the system.
Thank you for reading some of my year old writings. I have been involved with cryptocurrencies since early 2010 and I am still trying to wrap my head around many things, whether related to the technical or human aspect; the most fascinating stuff is often the interplay of the two. Let me know if you want further writings from the past… I have more… maybe bribe me with some of those TRYBE tokens… I hear they’re all the rage these days.