Steem Basics: Why Steem is an Application-Specific Blockchain

in #steem6 years ago (edited)

SB AppSpec.jpg

In our post Don’t Wait for SMTs to Build Your Steem DApp we referenced the idea that Steem is similar in design to an ASIC miner. In today’s post we want to explore what that means a bit further, and why it was a critical design decision that lies at the foundation of the protocol. It’s this application-specificity that enables Steem to scale faster, and provide more utility to developers than general-purpose protocols.

What is an ASIC Miner?

For those who aren’t aware, an ASIC Miner is a piece of computer hardware that is designed entirely around serving a single function: mining Proof-of-Work cryptocurrencies. Understanding the history of ASIC miners sheds some light on the benefits of Application-Specificity.

As most readers are probably aware, the original cryptocurrencies (and many new ones) were secured by an algorithm called “Proof-of-Work”. This algorithm effectively mandated that in order to win a cryptocurrency token you had to allow a peer-to-peer protocol to make your computer perform work that gets progressively more difficult over time. In short, the more computing power you have, the more tokens you earn.

CPUs v. GPUs

At first people earned (or “mined”) these tokens using the Central Processing Unit (CPU) of their computer. The CPU is like the “brain” of your computer. CPUs are designed to be flexible‒to process information in all kinds of ways‒so it was easy to use them to run this brand new software. This is the benefit of general-purpose platforms; they can be adapted to solve a greater number of problems. But the downside is that they can never be especially good at any one thing.

GPUs (Graphics Processing Units), on the other hand, are processing units that are not very flexible at all. They’re designed to only process one type of information: graphical information. Instead of having a few big cores that can do all kinds of computations, GPUs can have over a thousand small cores that do one thing really well. It wasn’t long before people figured out how to adapt those cores to solve Proof-of-Work hashes. Once they did, those GPUs could outperform CPUs by orders of magnitude, making CPU mining obsolete.

This is what a general-purpose platform looks like:

[Source: ASIC Resistance is Nothing but a Blockchain Buzzword by StopAndDecrypt]

This is what an application-specific platform looks like:

[Source: ASIC Resistance is Nothing but a Blockchain Buzzword by StopAndDecrypt]

GPU v. ASIC

In the move from CPUs to GPUs we see an example of how more specialized hardware can dramatically outperform general-purpose hardware. However, innovation in the space did not stop there. Instead it continued to its natural conclusion; the ASIC miner. We say “natural conclusion” because effectively what ASIC means is: hardware designed from the ground up to solve a specific problem. The only thing that can beat an ASIC miner is a better ASIC.

The Power of Specialized Equipment

While GPUs gave miners access to many more cores that could be leveraged to mine, those cores were not designed from the beginning to mine. That’s what changed with the release of ASICs which went on to make GPU mining as ineffective as CPU mining. Once specialized equipment exists, it becomes nearly impossible for a more general solution to beat it for many reasons, but essentially this is because whatever innovations are integrated into that general solution to improve performance can just be integrated into the application-specific solution, making it even better.

Technically, there are many ASICs in the world. For example, the chips that are inside digital voice recorders. As long as a machine is only performing one type of computation, and the value of performing that computation is sufficiently high, hardware that is designed and built from the ground up to solve that problem is going to outperform hardware that is not.

ASIC Inevitability

ASICs are so powerful that they have led to a problem in the blockchain space which is that Proof-of-Work blockchains have become highly centralized in the hands of those who have the most ASIC miners. Not only that, but in all likelihood, this is a problem that has no solution (aside from abandoning Proof-of-Work as we chose to do with Steem). While there are those who claim to have “ASIC resistant algorithms,” the truth is that something can only be ASIC resistant to the extent that it is not valuable. If having a computer solve a specific type of problem is sufficiently valuable it becomes inevitable that someone will develop a device designed specifically to solve that problem and that this device will outperform anything else that is more “general-purpose” (i.e. not designed to solve the problem).

Of course, whether this is a good thing or bad depends entirely on your position. For Proof-of-Work blockchains it is a battle they have committed to fighting for all eternity. But for the manufacturers of ASIC miners, who were small upstarts lacking the economies of scale afforded to massive GPU manufacturers like Nvidia, application-specificity was like wind in their sails, propelling them past their larger and better funded competition. This is the very same dynamic we sought to leverage when designing Steem, and now seek to maximize as development continues.

Runners and Garbage Trucks

As you can see, application-specificity is incredibly powerful. The best runners will always be better at running than the best triathletes. Race cars will always go around a racetrack better than sedans. This is because, in effect, application-specificity is just another way of saying "focused". A product (and the team behind it) that is focused on solving a particular problem is always going to outperform a product that is focused on solving a larger suite of problems.

Solving the Right Problem

The real challenge is in determining what particular problem should be solved. Just solving a random problem isn’t going to serve as a strong foundation on which to build an entire ecosystem. Instead, the goal should be to solve the specific problems‒and create the specific solutions‒that are going to deliver the most value to those who utilize them. While it is all well and good to theorize what these may be, we took two courses of action which ensured that the solutions we generated were tightly aligned with the needs of real application developers.

First, we insisted on building something that could power real applications in the here-and-now. Second, we built one of those applications ourselves (steemit.com). Our theory was that this technology could power next-generation social applications, but it was these decisions that enabled us to validate that theory, and then ensure that development proceeded in the right direction by exposing us firsthand to all of the problems developers would face when building on Steem.

Steem’s Specific Applications

The result of this approach was to build Steem so that it could store content in a decentralized content management system and then autonomously distribute tokens to the creators of that content based on crowdsourced stake-weighted voting. While the code that enables this functionality (the “tactics”) is complex, the approach (the “strategy”) is that simple. On the other hand, a protocol aimed at enabling this capability and any other capability a developer can imagine is necessarily going to be more complex at every level leading to inefficiency and difficulty scaling.

As Steem has demonstrated, when you pick the right features and focus on doing those really well the result can be explosive growth. Developers are incredibly resourceful, so if you give them a great solution to a specific problem, they will figure out ways to add the functionalities they require to that solution.

Steem offers developers a decentralized content management system and a decentralized token reward system that are fast, free and capable of operating at far greater scale than any other solution in the space. Because it solved those problems far better than any other blockchain protocol, it has provided a ton of value to developers looking to build applications that were especially well suited for those solutions. But what these developers also found was that you could still get much of the functionality (if not all) of Smart Contracts on Steem through Custom JSON operations.

Second Layer Solutions

It should have come as no surprise that developers were able to find ways to “hack” Steem to solve additional problems beyond those targeted by the application-specific features that it was built to address. That is what happens when you focus on solving only the most important problems that developers and entrepreneurs are facing. When you offer a solution to those problems‒and only those problems‒it becomes easier to scale, and scale with the most successful enterprises that are leveraging your software. If you can deliver that, then those enterprises and developers will figure out how to add any other functionalities they need using second layer solutions. The key is facilitating those second layer solutions in a scalable manner, which where Steem's treatment of Custom JSON operations comes into play.

This is exactly what you want: the most valuable database structures in the base layer where everyone can make use of them, thereby maximizing the network effect and interoperability, while less universal structures are built on secondary layers. This makes the ecosystem even more healthy by ensuring that only critical information is included in the base layer, thereby preserving its ability to scale.

Unfortunately for general-purpose platforms, they do not get to take advantage of this dynamic. Instead, application-specific solutions implemented at the base level are more likely to create problems than benefits. Vitalik Buterin (the creator of Ethereum) explained in a recent article how Ethereum’s decision to include operations that were specific to facilitating elliptic curve operations were already outdated and Ethereum would need to fork in order to catch up. This is due to the fact that Ethereum was not conceptualized and executed with the intent of solving clearly stated, and limited, problems. Because of that, no matter how valuable a specific solution might be, integrating it at the base level will always conflict with the fundamental value proposition of that protocol: to provide non-specific (i.e. general) solutions.

More Opportunities for Developers

The opposite is the case with Steem. Because the protocol was constructed from the ground up to solve specific and widely understood problems, it is far easier for the community to come to a consensus over what “belongs” in the base layer, and what does not. The second layer databases that inevitably emerge from such a process aren’t just “where they belong,” they even present financial opportunities for developers and entrepreneurs who can identify and implement them thereby creating additional value for Steem’s built-in developer-base. UserAuthority is an example of one such database.

These databases can even be a supplementary revenue-source for developers who build them for use in their application, only to discover that their need is not unique. At the same time, these supplemental databases provide valuable insights with respect to what should be added to the base layer by serving as a more safe and dynamic environment for experimentation. As you can see, application-specific solutions are so powerful because, when they are properly executed, a solution that is discovered at any layer of the stack feeds back into every other layer leading to exponential returns.

Beating “Smart Contracts”

When the concept of Smart Contracts was first proposed, the primary claim was that they would enable developers to build decentralized applications. It’s been 3 years since Ethereum was launched and yet Steem‒a protocol that does not have “Smart Contracts”‒now has far more decentralized applications that ordinary people use every day. In fact, Steem is the only protocol that has any applications with real usage and we believe that this is due to its application-specific design. While all of this began with a theory, over the course of developing Steem (and developing on Steem), the power and potential of an application-specific blockchain became even more apparent and enabled us to see how this potential could be multiplied by 10x through the addition of Smart Media Tokens.

What makes an application-specific protocol like Steem ideally suited for SMTs will be the focus of a future article in this series. If you’d like to learn more about the Steem blockchain and how its application-specific solutions can be leveraged to improve any web interface, go to https://developers.steem.io.

Steemit Team

Sort:  

Making the base protocol as simplified as possible, is, in my opinion, the right approach as the rest will be applied via appbase & co, which in return helps to keep the blockchain clean and fast.

I think Steemit is making a huge mistake assuming their bodged Proof-of-Stake (Delegated) is good enough to bolt on the extra requirements of a "second layer" to begin with.

The stop-and-decrypt article is excellent, I suggest reading it here -- https://hackernoon.com/asic-resistance-is-nothing-but-a-blockchain-buzzword-b91d3d770366

So is this article on why PoS is a dumpster fire -- https://medium.com/@hugonguyen/proof-of-stake-the-wrong-engineering-mindset-15e641ab65a2

As you guys bolt more stuff on top of a chain that already had problems dealing with "edge cases", I'm not holding my breath for the next "incident" where its all explained away as something that "doesn't really happen too much".

Its bad base assumptions that trickle up to your upper layers, and will cause all kinds of problems if it ever gains any real usage.

Don't say I didn't warn you...

Prime real estate, the top of @steemitblog posts, eh? Anywho, the article on PoS vs. PoW was interesting, but do you know of any written about DPoS vs. PoW? STEEM is not exactly an old-school PoS system, so isn't much of what's discussed irrelevant? Especially the part about what would occur in the event of a total network outage with chains potentially splintering, which could be rectified by witnesses coming to consensus. Even if a consensus was not possible to reach or the outages were so severe that the chains split irreconcilably, it wouldn't be a total cataclysm because applications could be built to effortlessly exchange coins on one chain for coins on the other.

The most enlightening thing about that piece was the tendency of humans to underestimate the likelihood of "edge cases" as you call them: interesting psychology, that. Also, the longer I'm in crypto the more I warm up to the idea that faster, more convenient, easier is not "better" in terms of valuation. Rather, it's the more clunky systems that require more physical energy, higher fees, and longer amounts of time that are likely to remain better stores of value. At least, that is one angle of prediction: a rather materialistic outlook, though perhaps accurate.

I find it exceedingly hilarious that every engineer, programmer, and developer seems to know all the ins and outs of cryptocurrency's future. They point out all the reasons certain systems are "likely to fail" in their view and others are "destined to succeed." Humans, though, have a powerful streak of irrationality, and this extends to the most brilliant thinkers. The brain likes to come to conclusions based on subconscious emotional and intuitive impulses that then become justified with subtle and eloquent-sounding logic.

Especially when it comes to future technological developments like the extremely well-functioning global blockchains we will eventually have, all bets are off. We all hedge our bets where we think the chips will fall, but to say beyond a shadow of a doubt that PoW is superior to PoS, or that PoS is inherently flawed, is an untenable conclusion based on anything I've been presented with thus far.

The way I look at it Bitcoin will be the dominant Store of Value for a very long time and there is no need to change the POW. You can read https://hackernoon.com/asic-resistance-is-nothing-but-a-blockchain-buzzword-b91d3d770366 for a great reasoning.

POS based blockchains will derive their value out of the problems that they solve and not as SOV.

DPOS based chains will empower the web applications right away without waiting for POW based and POS based blockchains to address their performance issues. Current examples are Steem and EOS.

So I think each of them have their place. We just need to make sure that the spams in each of this category are called out thats all ;)

Here we go - when confronted with an unpopular post, its "who the hell are you" in spades.

I don't need to qualify myself to you - or anyone, for that matter.

I'll let the market decide, and going by the current Steem price its a rather dismal future indeed.

That is, until the next "oopsie" where the entire chain shuts down. The actual gall of you people to accept this as a failure mode is beyond insane.

You accept that Proof-of-(mis)Stake requires trust in other nodes, which means the developers have to bend over backwards twister-style to make things work.

It introduces needless complexity and further cases where something can go wrong -- but don't worry guys, we'll just add another token and some other watchmen to watch the other watchmen (somehow) to make it all better.

PoS is DOA, you guys just don't know it yet.

I'm not asking to you to qualify yourself, but rather your argument, which seems to hinge on "blind machine logic is superior to the conjunction of machine and human validation." If I'm wrong, I'm open to learning from your point of view.

going by the current Steem price its a rather dismal future indeed.

Would you feel the same way with a 20x price in the bull market, or just now, near the trough of valuation? My guess is yes, since your issue with PoS seems ideological (though also logical.) The funny thing is, it's the opposite with many other people, who see PoW as antiquated and inefficient. I don't know enough to conclude either way yet.

What do you mean by needless complexity?

If you're right and I lose all my money in STEEM, I'll save up more and buy DASH or Monero next time. ;-) Or hell, maybe even clunky ol' BTC.

The POS post you shares ignores the delegated in steem, which makes a big difference. In case of a network partition we have many backup witnesses that can immediately take over. Also stakeholders can change their votes to elect other witnesses. The "POS does not handle partition well" point is one that in my opinion especially steem counteracts very well.

So far to my knowledge we never had one such event in the wild so we don't know how it plays out in practice.

If you're convinced, that's all that matters, right?

This entire platform is a cheerleading squad, I never see anything to the contrary.

This monoculture needs an infusion of reality.

Well you should come up with something better then :) Makes me wonder what makes you stay here.

Right, because when someone brings up the ugly underside to Steemit -- hell no, he's gotta go!

I'm here to witness the implosion, if you really want to know. A cursory look at my last blogposts would've told you that.

I'm glad Steemit exists, it will be one of the many examples of why Proof-of-(mis)Stake is flawed. So even failure can be instructive.

Can you really say Steemit is rigidly PoS? The platform doesn't feel so rigid (IMO). The witnesses are there as a leverage and the team looks competent with frequent updates (HF) that encourage docility in operations to adapt to any changes needed for the growth of the community (or communities).

Should the community grow large enough (and/or maintain an active user-base), few policy changes can see Steemit implement PoW (if need be).

Don't you think they have enough assets for that?

Thanks for sharing these links. I found both are good reads.

Posted using Partiko iOS

I see you've been a user of this blockchain for over a year. Thanks so much for participating in our experiment and contributing to the discussion!

If it isn't outright cheerleading, its passive-aggressive responses that don't help anything.

If you believe in Steemit, great - because I prefer seeing both sides of the coin, instead of just posting snarky replies.

This monoculture needs a reality infusion.

You say "I prefer seeing both sides of the coin", but you throw only tails. My bet is on the truth lying somewhere in the middle of your extreme negative position to those in the "outright cheerleading" group, as is usually the case in these type of arguments.

Another way of saying this: money talks and bullshit walks. If you're so certain of Steem's inevitable failure, you surely must be shorting the hell out of it, yes? If not, you aren't really convinced of the certainty that you're trying to convey here.

Thanks for making my point for me.

Wrongthink gets penalized, shouted down, dismissed.

This monoculture needs a reality check. Luckily the market is good at providing it.

Hey, I'm open to debate about the true value of Steem or DPOS in general. That said, the debate is DOA when all you can provide is an argument against POS and then retorts against valid arguments that point out certain safeguards that DPOS provides over POS along the lines of "Wrongthink gets penalized, shouted down, dismissed.", which aren't really retorts, if you catch my drift.

It's more changing the topic, which makes it look like you don't have a valid retort.

As long as we have fungibility and privacy.

the box of unlabeled legos allows for creativity to be the limitation...

It's like Arabic numerals vs Roman numerals or the Metric system vs Imperial systems. Complexity can get in the way instead of helping the project.

This is the first time to read your blog about public education @steemitblog. Thank you for this.

  • Pinned.


If you would like to support the educational community by delegating to @steemiteducation, please click on any of the following links. This will ensure that more teachers are supported on a daily basis.
100SP 200SP 300SP 400SP 500SP 750SP 1000SP 2000SP 3000SP 4000SP 5000SP 10,000SP 25,000SP

I am, once again, surprised and delighted to find that I was able to make it through the entirety of this article without feeling at all confused or ‘out of my depth’.

I don’t know who you are writing this, but I want to recognize and commend you for your marked ability to explain reasonably complex concepts in terms that are easily understood. It truly is an exceptional skill.

As a content creator, I’ve generally avoided trying to make sense of how and why the blockchain works. I’ve been content to add to and interact with it, without really comprehending what it is nor how it was/is built — much like walking across a bridge without a thought for its engineering.

Thanks to Steemit Inc’s recent trend of sharing posts such as this, I’m beginning to see and appreciate the artistry in its design.

Thank you for that.

I agree,! @zipporah

Posted using Partiko iOS

Hey @zipporah, I'm Steemit's Content Director, so I'll take the credit ;) Thanks for the support!

Because you are the Content Director i have a question, and it may be off topic and it might get me attacked again by the others, but we are new to steem and we wish to understand more , and my question is. we are news channel we have 12 youtube channels and we have several hundreds of permission to air with full rights to and hundreds of thousands pictures that we give all free access to use, across the internet and we have been on you tube since it started .and we have NEVER had any problems uploading or posting on other sites and we are also on Mix, and Real.Video, and BitChute and Pinterest, and Tumblr, and Twitter, and Linkedin, and Digg, and Blogger, and Google+, and several dozens of other sites around the world in many languages and we do not commit any Fraud, or Spam, or Scam nor any Plagiarism since we have the rights to the things we post . and here on steem is the last on the list that we post too.
ALSO We do put links advertising steem for all to see and to join.

We also know and understand that several of the aka whales have many accounts, and yes even many with so called ai bot that they have floating around on steem to either to up vote or down vote and we have seen several reports here on steem and other places that some of those whales are not liking the fact that as more people join causes their share of the payout pie is shrinking , so they came up with a plain to change that, with flaging and down votes and blacklist we do not know if that is true or not, but by all the chatter on steem it seems it true, i hope it is not, and speaking of the blacklist floating around on steem it seems that yes even we have also been put on one, and why well it was a misguided , and done out of misunderstanding and we have no ill will on the one who did it, people will be people and no one is perfect , and ever one makes mistakes, Our news channels promotes steem around the world and we know we are a big reason as to why many are joining, and we will continue to promote steem around the world, can you please help us with the blacklist and the ai bot that is posting on our posts. it is hurting upvotes thank you .

!popcorn

after seeing all the true comments about you we have to agree with them and leave steem too

Well done @andrarchy!

Posted using Partiko iOS

I wondered if it was you! Of course...I wasn't about to assume.

So, then...THANK YOU! I didn't know I'd appreciate such things as much as I do. But it's damn nice not to feel totally crypto/blockchain illiterate. ;)

I really appreciate that, more to come!

As Steem has demonstrated, when you pick the right features and focus on doing those really well the result can be explosive growth.
@SteemitBlog

  • What are the right features that Steem has picked?

     For what use cases?
     For what benefits? 
     For whom? 
     UX? UI? 
    
  • A corollary, what are the right features that @Steemit has picked?

       For what use cases? 
       For what benefits? 
       To whom? 
       UX? 
       UI? 
    
How long more will we be taxiing to the runway?

"The result of this approach was to build Steem so that it could store content in a decentralized content management system and then autonomously distribute tokens to the creators of that content based on crowdsourced stake-weighted voting." Btw we are not saying these are the only "right" features. We came up with a theory based on the media landscape as to what would deliver a lot of value. That theory was based on what web platforms were generating a lot of value in the present, and whether blockchain technology could be applied. Reddit emerged as a model based on the convergence of these two questions. We then built a protocol specific to powering similar applications and the result has been rapid growth and adoption by both users and developers. We believe this validates the theory, but then that too is just a theory. The goal here is not to claim we're doing everything right, and everyone else is doing everything wrong. I think that attitude is unfortunately endemic to the space. Instead we are merely trying to elucidate our thought process and approach for those who are interested.

those who are interested.

Of course, I'm interested, @andrachy

  • Posting for a little less than 2 years.
  • Attempting to evangelize @Steemit
Attempting to understand the thought process.

May I request you to clarify the following:

That theory was based on what web platforms were generating a lot of value in the present, and whether blockchain technology could be applied. Reddit emerged as a model based on the convergence of these two questions.

A blockchain Reddit?

the result has been rapid growth

By what metric?

Off topic, @andrarchy
Please review the Steemit Wikipedia page.

Steem need to go up at least $6

Steem has enabled us to play with a money printing machine in creative ways. Look at @Actifit which is already used more than average ETH apps and they are only in their Beta phase but pay people to move. The SMT protocol also enables us already to incentivize support with bounty systems, giving a first glance at how it could look like one day when fully implemented.

1UP-devider.png

Great that you mention UA score as I am building the 1UP community curation system powered by the 1UP SMT. We enable a gamified 1-account-1-vote system by integrating the UA API to build our userbase based on a minimum threshold. The SMT will give us access to our own reward pool that we control basically entirely with the platform account and the token holders who trail their favorite communites and earn higher curation rewards through a smart frontrun system.

I am looking forward to meet the Steemit team at SteemFest3 in November and present the ready application.

Having just started using Actifit, I’d say it is very stable for ‘beta’ Phase. A little bit rough and ugly, but it works!

Posted using Partiko iOS

The whole PoW thing just doesn't scale. When you need a personal hydro electric dam and a warehouse full of mining machines to make money it's gone wrong. It's a waste of electricity and other resources. Steem is a much better system and it's encouraging innovation.

Es genial conocer como funciona nuestra plataforma y como funciona nuestro procesador...
Yo no tenía idea, ahora supongo saber un poco que función cumplen
Gracias @steemitblog por tu información, adelante equipo.
It's great to know how our platform works and how our processor works...
I had no idea, now I guess I know a little function
Thanks @steemitblog for your information, go team.
Again...
THANK YOU!

Thank you for this interesting and informative post. This is the second post I read. Newbie here and I am still learning..

Informative and intiative blog for all steemian,thanks for share valuable post @steemitblog

Posted using Partiko Android

It's amazing to see such clear communication from steem inc .a few posts and videos really influenced me in believing about the hype rabbit hole which some antagonist are portraying about the blockchain.with such blogs and frequent communication I am happy and confident in steem blockchain.

It’s been 3 years since Ethereum was launched and yet Steem‒a protocol that does not have “Smart Contracts”‒now has far more decentralized applications that ordinary people use every day.

This is instructive and a good reason to keep remaining in steem. It's only a matter of time; this explosion shall surely come.

Thanks steem team!

@eurogee

Maybe the devs have finally embraced the idea that frequent communication with the community will create more confidence in this ecosystem. Cheers to them :)

I just understood much of this lately and I was discussing it with @maryfavour... Steemit is quite an interesting work.

Posted using Partiko Android

I guess that explains why Steem is currently valued at 300x less than Ethereum and represents 0.9% of its market cap.

Who wrote this? Hats off to you. Sending this blog to friends and colleagues. Re-reading a few times to make sure I grasp it.

Posted using Partiko iOS

Sir Can you help me with a way to follow back this account. Please .. Followan of you means a lot to me

Posted using Partiko Android

Long live the Steem Blockchain!

so I read all of this post so i fully understand and i did, understand that is. Very well put, thanks for the update

I am amazed that Steem isn’t priced much higher than it is. It’s just amazing what this blockchain can do.

Nice post

Very informative blog. Thank you for demystifying the subject of "Application Specifity"

Posted using Partiko Android

Dear Steemit.

Advertise your website on Cryptopiece.

One advertisement block costs only $9 and it will stay on my website's front page for 2+ years minimum.

On average I get 500 visitors to my website everyday and my traffic is super targeted - cryptocurrency and blockchain investors, traders, developers and enthusiasts.. I advertise my website on cryptocurrency Discords, Telegrams, Bitcointalk forum, Reddit, LinkedIn, YouTube and Instagram.

947 advertisement blocks left!

Kind regards,
Cryptopiece