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.
Proof of Brain
‘Steem is a Delegated Proof of Stake blockchain that uses a “Proof of Brain” social consensus algorithm for token allocation.’
(Steemit / Steem GitHub, March 23, 2016/2017
Transactions happening within the bitcoin network are highly quantifiable. This makes them easily computable and therefore entirely outsourceable to the PoW algorithm. The Steemit website makes use of cryptocurrencies in the same way, where more STEEM can be earned through creative contribution or purchased for other cryptocurrencies such as, but not limited to Bitcoin. On one hand, the blocks on the Steem blockchain thus contain the same kind of data, but also posts and comments made by users. This qualitative content shared on Steemit is in stark contrast to purely numerical data and it requires a certain amount of human evaluative effort to ascertain the overall quality of contributions. This is why Steemit emphasizes the importance of having a voting/reputation system, which becomes a sort of control flow mechanism for the allocation of tokens to different users across the community.
“Proof of Brain is Rewards Pool consensus. DPoS is Block Producer consensus.”
~ Ned Scott, Co-Founder of Steemit (New steem.io launch!, 2017)
Proof-of-Brain is a playful entendre on the term Proof of Work. A reference to the real human effort required to facilitate the distribution of tokens. This system of token allocation is deemed both “smart” and “social” in that it operates on the alignment of two properties:
- the creation and curation of content get incentivized by a pool of tokens that together make up what is known as the Rewards Pool. Tokens contained within here are continuously distributed to various actors within the community.
- a voting system allows for assessing the quality of content as it is subjectively evaluated according to the wisdom of the crowd.
This unification of cryptocurrencies — What the Steem developers now refer to as Smart Media Tokens (SMK) — with crowdsourced curation of content is the absolute cornerstone of the Steem platform. The Proof-of-Brain algorithm allows the distribution of tokens proportionally with user upvotes, but most importantly, it acts as a filter for the discovery of quality content, leveraging each user for growth essentially as a company employee. In order for the individual Steem user to profit, the overall website must profit and that entails not only incentivizing the creation of high-quality original content, it also means filtering out second-rate posts.
Exploring blocks with Steemd
In the same way that blockchain.info (among others) allows anyone to look up specific blocks and scrutinize individual transactions on the Bitcoin network, several Block Explorers are also available for examining the Steem network traffic, notable mentions being steemd.com and steemdb.com with many others available. The reason why so many exist? The block explorers are themselves open source software projects, which are easily forked and modified. They are in essence, simply front-ends for the Steem blockchain and so is Steemit. This means anyone can come along and design another, better user experience.
The easiest way to explore a block on the network is to change the steemit.com domain to steemd.com without modifying anything else in the URL. For the sake of being meta, let’s explore a post on the Steem Blockchain about exploring the Steem Blockchain:
A post on the Steemit community. I have allowed myself to condense the layout.
Now we change the ‘it’ in the url to ‘d’ and presto:
The same post as shown on the steemd.com block explorer. (Again, condensed layout)
The first thing we should notice is how the posts made on the Steemit community end up on the Steem blockchain. On the Bitcoin network, blocks simply contained transactions; systemic notions of Bob sending Alice x amount of value. Steemit being a blogging platform, the posted content will contain text and the Steem blockchain is thus storing the posts and comments alongside regular currency exchanges. Posts/comments made by users are not simply plain text. Some might be expressed in Markdown syntax, a lightweight markup language that allows users to format their plain text into rich text (bold, italic, underlined etc.) whilst adding links to dynamic content (large videos) residing outside the blockchain on sites like YouTube.
Steemd and Steemit are both technically speaking front-ends to the Steem blockchain and whilst they pull data from the same public ledger, only Steemit renders the Markdown, images, videos and so forth. When linking images/videos or other items of greater file size, the Steem applications rely on external content providers (YouTube etc) for hosting. The storing of image and video content outside the blockchain relieves Steem from an otherwise resource intensive task, but it also begs the question of whether or not the platform is actually capable of scaling to the point of hosting rich video content? If it is, then why not do it? Piggyback riding on centralized services like Google-owned YouTube etc. hardly seems congruent with the mission statement of decentralization.
In the top right corner, there’s a link to advanced mode. This allows us to expand the main post (by @mooncryption) and comments (by @resteembot, @johnwjr7 etc.) displaying further information:
Advanced mode view of metadata belonging to the previous post.
Online Social Hierarchy
The stature of individual Steemit community members can be assessed both quantitatively and qualitatively. Such is a measurement of status/reputation, with the former denoting the amount of STEEM currency and Steem Power held by the said user, and the latter requiring a less tangible investigation of subjective opinions held by other community members, as to how they perceive the user in question. In terms of the quantitative measurement, users with a big amount of currency in the system have more at stake due to the Delegated Proof-of-Stake (DPoS) algorithm. This, in turn, gives them greater voting power and makes them stand out from other users with less currency. They are in essence higher ranked individuals and visibly so, as this rank is shown next to the username whenever a post or comment is made. Furthermore, it is possible to see the exact amount of currency held by a user.
Here we have the account of Dan Larimer, the co-founder of Steemit. As of writing his account has an estimated value of $862,333.65, such financial information freely available from his profile. Link: https://steemit.com/@dantheman/transfers
The Steemit community has evolved a cultural jargon to distinguish between users belonging to different “societal classes” if you will, segregating users into 1 of 3 categories:
Heavyweights of the network in terms of status. They have a massive amount of STEEM and Steem Power in comparison to regular users and their opinions are taken more seriously by other users. Their votes are of tremendous power compared to that of regular users and as such their up/down voting may greatly influence the positions of content.
These users have evolved from the status of Minnows and are now more influential when voting. By converting STEEM into Steem Power (investing in the network), they may have grown their amount of currency and are no longer regarded as newcomers. They may eventually become Whales.
Average users or newcomers to the network. They hold little to no STEEM and SP in their accounts and are not as invested in the community as others. They are just learning the ropes of the system and culture of the community. In time and with dedication they may grow into Dolphins or Whales, as everyone in the community (except for founders) started out of Minnows. Their votes are of little influence compared to the other users. Minnows have the smallest amount of influence on the network, however, collectively they could make up for a larger opinion.
(Whales, Dolphins, and Minnows, 2016)
We see how the underlying consensus algorithm (DPoS) has manifested itself as a social hierarchy, wherein users differentiate between and regard one another in relation to how much currency is held by a user. Granted, such users may also have been part of the community longer than users with smaller investments, the worth of an individual is nonetheless seemingly in direct proportion with their capital. An interesting question for future research becomes: How would the online culture of the Steemit community be different, had the fortune of individuals been kept hidden?
Scalability of blockchain networks (DPoS vs PoS vs PoW)
“More transactions go through Steemit every day than go through either Ethereum or Bitcoin. Every day.”
~ Thomas Cox, VP of Product for EOS.IO. (CryptoCats, 2017: [5:55])
On the bitcoin network it takes approximately 10 minutes to add another block to the chain. In comparison, the block generation time on the Steem blockchain takes approximately 3 seconds and a new block is produced, indifferently of whether or not transactions have taken place. (Ibid: [8:45]) As the quote above informs us, each block on Steem actually contains more transactions than the one on the bitcoin network and yet it is much faster. This is due to the nature of actions carried out on the network pertaining not only to cryptocurrency exchanges but also counting of votes, along with any posts and comments. Steem has thus surpassed the blockchain giants like Bitcoin and Ethereum in overall network activity, but due to design wise differences in consensus algorithms, the Steem blockchain is capable of much better scaling.
Block’tivity maintains a list of blockchains sorted after how much activity is on the network. Link: http://www.blocktivity.info/
As of writing, Ethereum (ETH) is at 41.11% network capacity and thus nearly halfway with the capabilities currently allowed by its Proof of Stake consensus algorithm. The Bitcoin (BTC) network is at 100% capacity, even stressed out to the point of having 209.652 unconfirmed transactions queued up for miners. Outstanding transactions that have yet to be included in the latest block, with anyone transacting the cryptocurrency likely experiencing delays and uncertainty regarding whether or not they have in fact received their money. Ethereum is reliant upon Proof-of-Stake and Bitcoin relies on Proof-of-Work; what is especially noticeable about the above list, is that STEEM, BitShares (BTS) and GOLOS are all running on Delegated-Proof-of-Stake and that each of these blockchain networks, despite having a similar or even twice the workload, are capable of transacting at these levels, each showing less than 1% capacity usage. Look at CUI, the arrows for all 3 of them are steadily in the green. BitShares is the blockchain created by Dan Larimer that also created Steem and GOLOS is the Russian version of Steem.
Delegated-Proof-of-Stake, as far as consensus algorithms go, entails very cryptographically strong calculations, but it does not involve nonces, the random numbers used in Proof of Work. This effectively removes the lottery part and makes it such that blocks are produced within a fixed schedule, in a foreseeable timeframe. (Ibid: [50:30])
When you own tokens, this means you own network access; a share of the network bandwidth. This, in turn, means that you as a token owner do not need to pay for transactions. We can relate this to the way people on the Ethereum network have to keep acquiring what is known as gas, in order to pay for transactions. On the Steem blockchain, there is no gas fee. (Ibid: [8:50])
An aptly put summary of what we’ve looked at so far:
‘What powers Steemit? The blockchain spins the gears. Witnesses keep it honest. Developers enable the Steemit social media platform and the payment systems with which we interact. Average people like us provide the content that gives the site its chief value. And we curate it, too, deciding which content is rewarded. Everybody tells their friends about it.’
Your Remaining Votes (within 24hrs) : 4000 of 4000
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.