SteemMag – Steemit’s Weekend Digest (‘Steemit is 5’ SPECIAL EDITION) #10 – Behind The Scenes: Exclusive Chats With Early Steemians (Devs) Who Helped Built Steem....A Top Witness … A Chat With SteemFest Organiser…Giveaway..and lots more

in #steemmag8 years ago (edited)

I’m highly delighted to welcome you to this special tenth edition of SteemMag, a weekend digest for Steemians.

Every week, I take a look at some of the most important topics and have a chat with top Steemians who have expert views on such topics.

In case you missed it, here are links to Issue #1 , #2 , #3 , #4 , 5 , #6, #7 , #8 and #9

This Weekend Special Edition has exciting packages you would like.

This week, exactly Sept 15, marks the 5th month since Steemit was launched. This post and this marked Steemit at 3 and 4 months respectively.

While I have been featuring top Steemians on some important topics over the past few weeks, I decided to take another style this issue… So I decided to top developers who were there from the onset. Developers who helped built the foundation of Steemit. I asked them a number of questions gaining interesting views on not only how Steemit was founded but how we can make Steemit and the steem blockchain achieve its potential.


SteemMag in Russian
P.S Here is the link to the Russian translation of steemMag #9 by @rusteemitblog



In page 1:
SteemMag had a chat with @arhag – A whale and a Top witness whose technical prowess has hugely contributed to the success of Steemit so far.

In Page 2:
SteemMag had a chat with @modprobe – a one-time Steem witness who contributed to the development of Graphene: the underlying tool on which Steemit was built on.

I also reached out to @roelandp – the lead organizer of SteemFest.

We also have an interesting steemfest giveaway and our regular features.



A CHAT WITH @arhag

SteemMag:
How did you discover steemit? And what do you think set aside steemit and its currencies from other blockchain models?

@arhag:
I can give you the long version or the short version. The short version is that I first heard about the Steem blockchain from a BitSharesTalk post by @dan back in April. I was already a fan of the Graphene framework that BitShares was built on, and here was a new blockchain that also leverages the power of Graphene to accomplish a very different application (for the blockchain tech space at the time): discussion forums and social media, but with the added twist of monetary rewards and economic incentivization for desirable content.

A decentralized alternative to Reddit or even just regular forums that was fast enough (thanks to Graphene) to compete with its centralized alternatives was already enough to get me on-board, but the content rewards and economic design (which is very unique compared to nearly all other existing blockchain platforms even today) just put it at a whole other level in terms of my obsession with the project.

Steem's design, both at the technical level and the brilliant concept of connecting social media with cryptocurrency in a symbiotic way, gives it, in my opinion, a better chance than most alternative cryptocurrencies and blockchain platforms of getting a large mainstream audience to use blockchain technology and cryptocurrency.

Now for the longer version:

I've been involved with the BitShares community (which @dan started) since 2014. I first heard about the Steem blockchain from this post submitted on April 1, 2016 to the BitSharesTalk forums by @dan (of course it wasn't 100% clear at the time that thereverseflash was @dan).

It appeared that the Steem blockchain network had already publicly launched and mining had started approximately a week prior to that April 1st post (see the relaunch BitcoinTalk announcement post here). I hardly ever spend time on the BitcoinTalk forums and there are way too many un-innovative altcoins that popup frequently in the altcoin announcement section of the BitcoinTalk forums for me to spend my time researching into the details of the new altcoin of the day. But @dan (under his famous bytemaster alias) recommended in that April 1st BitSharesTalk forum thread that "everyone look into Steem" and that it "has a lot of promise and is worth your time."

And I already had more than 2 years of evidence that @dan knows what he is talking about when it comes to blockchain tech.

As you can see in that thread, a lot of people thought this was some kind of April fool’s joke by @dan, but I decided to dive in deep into the source code and figure out what it was all about for myself.

A few hours of reading source code later, I basically figured out what Steem was all about. There had been earlier discussion (like several months prior to this) in the BitShares community about how we could eventually move our centralized BitSharesTalk forum to a convenient decentralized blockchain-based system to match the decentralized nature of the project that the forum was set up to discuss. It didn't progress much beyond just discussion, however, since we quickly realized that it would take considerable engineering effort that might be better spent elsewhere at the time, plus there were some concerns that no one would use it if the system nickle-and-dimed users for each post and comment that they wanted to publish.

Well now someone had just handed the world an already built (at least at the blockchain-level) platform that solved those problems we wished would be solved so that we could have a decentralized platform for open discussion that could compete with existing centralized alternatives (assuming a good UI client was built for it). And I wasn't sure how well this rewards model would work in practice, but I was definitely intrigued by its possibilities.

Shortly after, the team behind it emerged from the shadows, made the scope and ambition of the project more clear, and I found out for sure that basically the experienced BitShares devs who had done such a great job on the tech behind BitShares were now part of Steemit and dedicating their time to work on the Steem blockchain and steemit.com frontend UI. This gave me great confidence in the project at least at the technological level.

But also at the level of design and plans for the overall project and ecosystem, so much of it made sense.

Unlike every other blockchain-based platform or cryptocurrency in existence at the time that I have ever heard of, Steem provides a sensible reason for why regular users should start interacting with cryptocurrency.

Most regular users start using Steem not because they care about blockchains or cryptocurrency, but because they simply want to use a social media platform and also they are intrigued by the possibility that they may get paid for their posts. This gets them registered in the system and gets them to start using it, but they still haven't had a need to start dealing with cryptocurrency.

Now once they actually get rewarded with cryptotokens and want to cash some of it out so they can buy some stuff (or pay off debts), they now have a motivation to try to learn how to trade cryptotokens and use exchanges to get out bitcoin and later their national currency. Once they get over that initial hump of learning how to buy/sell/trade and just generally use these cryptotokens, it becomes so much more likely that they will start using it normally and hopefully also keep the financial transactions within the platform, e.g. trading goods/services with Steem Dollars directly, which is so much more convenient anyway.

The Steem design uses social media as a Trojan horse to solve (or at least make it easier to solve) this notoriously difficult problem of bootstrapping a cryptocurrency for mainstream usage (something bitcoin hasn't even had success with yet)

Furthermore, at a technical level, the Graphene framework backing Steem is designed to handle scaling (granted with some tweaks necessary as things really scale big) to the levels necessary to bring a cryptocurrency to the mainstream.



SM:
Steemit clocks 5 months this week, do you think it has the capability/potential to last for several months and years like in the case of mainstream social networks e.g reddit, FB and twitter?

@arhag:
I definitely think it is likely that Steem will last a long time. Even cryptocurrencies that have had a very low market cap and few users for a while now are still chugging along. That's the thing about blockchain technology: as long as there is enough interest for some people to run the nodes, it will still function.

Of course, the more interesting question, and clearly the question you were likely asking, is if Steem will continue to grow over the next few years and have its number of unique active users gradually approach Reddit's numbers.
I, like everyone else, don't know the answer to that question, but I am hopeful that the overall growth trends (smoothing out the excessive hype transients) we have seen over the last several months will continue and Steem will eventually approach Reddit's scale and beyond. A lot of challenges will need to be solved before then. As many people in this community remind each other, "we are still in beta." But these challenges are all solvable and I am optimistic that the Steemit team with the help of this awesome community will be able to solve them in time.



SM:
Which changes do you think we can put in place to help Steem overtake bitcoin as the no 1 crypto.

@arhag:
I don't really know how Steem's success may or may not affect Bitcoin's success. I think one could reasonably argue either way (that Steem's success can either hurt or help Bitcoin), particularly in the short term and it also very much depends on whether the Bitcoin community starts taking its scaling issues seriously.

I'm actually not all that interested in how well Steem does in market cap rankings relative to Bitcoin. I'm more interested in how well Steem does by the metrics that are appropriate for tracking its growth and success (initially as a social media/network platform, but also, via the Steem Dollar, as a financial ecosystem); and sure, I also do care about how Steem's market cap does relative to the USD over the long-term.

But if the Steem ecosystem continues growing in number of users and engagement and transaction volume, and we see the market cap of Steem (in USD) grow 10x or even 100x larger, then I really don't care if Bitcoin still maintains a higher market cap than Steem.

However, I think we do need to see a lot of changes if we want Steem to continue to grow. Below you will find a lot of writing describing just some of the many changes I hope to eventually see in Steem (and of course they should be accompanied by corresponding appropriate changes to its various frontend clients to make these features accessible to users) that I think are important in allowing Steem to really grow big. If you don't want to read it all, I will summarize it as follows:

  • make the social media aspects of the site more useful and friendly to users;
  • stay vigilant in the fight against abuse and games of the economics of the system,
  • and perhaps provide different ways of letting large SP holders give some of their voting influence to smaller SP holders;
  • use cryptography to provide users with at least some financial privacy with their STEEM and SD balances/transfers;
  • and, implement a subchain framework to allow third-party developers to fully explore the possibilities enabled by blockchain technology, which in turn will benefit Steem and its users.


Now I will go into more detail about the changes I would like to see that were summarized in the previous sentence:

First, there is some of the low-ish hanging fruit tasks. Particularly, there are a lot of improvements still needed to the social media aspect of this platform (both at the blockchain backend level and especially at the level of the frontend GUI client) to make the social media experience better for the users. I won't bother enumerating all those fixes and tweaks here, but some of the important ones include:

  • better feed filtering and management (including customized feeds, opt-in moderation,
  • and better handling of NSFW content or
  • content written in other languages);
  • straightforward ways for the user to expressing their opinion on posts even if they cannot or choose not to spend their voting power to upvote it (and along with this change would be giving the user an option to express why they upvoted or flagged a post);
  • a proper edit history available on every edited post/comment; and a usable private messaging system.

I would also like to see some technical changes to the backend that allow Steem to scale better while allowing long-term content:

I think you should be allowed to make new comments at whatever depth level or edit old posts/comments no matter if the discussion they are in is archived, even if it means new comments in an archived discussion can't get paid.

A harder (but very important) and on-going task would be to continue tweaking the rules in response to realization of flaws in the current rules or new games that develop that undermine the economics of the platform.

One important change in this category that occurred a while ago was tweaking the curation reward algorithm so that it was a little more fair to smaller holders (the originally roughly cubic relationship between share of curation rewards and relative SP of curator became roughly linear). I do understand the minnows still get very little curation rewards compared to whales, but making the relationship sub-linear would open up Sybil attacks and other games that some users would exploit to the disadvantage of other honest users (and if everyone played the game, then it would be as if there was no improvement made in curation distribution in the first place).

However, there are other ideas to explore in giving minnows more curation/voting influence without requiring them to buy and commit to hold a large amount of SP for an average of 1 year.

These options include an rshares/SD market as I briefly discussed in this post, or

  • allowing large SP holders to delegate some of their voting influence to minnows for a cut of the curation rewards generated by the minnows' curation work. There is also talk of forming pools or guilds for delegation, but I am not so confident in the economics and design of that idea. But the point is that people are thinking about these sorts of problems and I am sure eventually we will implement the good ideas (not just related to delegation of voting influence but also for features to deal with various other abuses or games that undermine the platform's success) that can help keep pushing Steem forward.

Then there are the bigger projects that will take some time to fully realize but are important to eventually work towards if we want Steem to go to the next level.

The transparency and accountability of the blockchain is usually great, but sometimes privacy is more appropriate.

Implementing privacy on a public blockchain is very hard since unlike centralized services that have a company that has full control over the database and can therefore restrict what access some people are allowed into a subset of the database, a blockchain platform requires engineering cryptographic solutions to protect the privacy of user data (and even more difficultly, user meta-data) but in such a way that the public can still continue validating blockchain as it evolves.

That said, it is known that there exists reasonably straightforward cryptography to, for example, hide the STEEM and Steem Dollar balances of user accounts and asset transfers from the public (and with a lot more work, even the meta-data of who is transferring STEEM or Steem Dollars to whom can be obscured). That is actually already on the Steem road map, which is great because I think it is very important to provide at least some financial privacy to users.

However, keep in mind that it is not possible (or at least not feasible as far as I know) to hide the amount of Steem Power a user holds nor to hide the amount of blogging or curation rewards a user receives from the platform (although in the latter case I think that is a good thing for the platform).

The other big project is developing the framework that allows subchains to thrive within the Steem blockchain. There are so many interesting ideas that can be implemented on a blockchain (and Graphene is a pretty great framework to build them with), such as (dominant) assurance contracts (think decentralized Kickstarter with zero fees), namespace auctions (think decentralized DNS without the excessive name squatting), micro-payment channels (imagine a tit-for-tat mechanism of paying for access to the internet via a stranger's WiFi network or incentivizing large file downloads via BitTorrent or IPFS), prediction markets, and so much more. However, the developers implementing these ideas don't want to have to deal with writing the networking and blockchain consensus codes, or attempt to bootstrap a brand new decentralized network and cryptocurrency just to realize their goal.

There are platforms, such as Ethereum, that provide developers with a solution that may meet their requirements, but Steem has the opportunity to provide developers with another alternative platform that has some interesting features: if the designers of the subchain application don't want application users to be charged fees for using the subchain operations and they only need a way to limit spam,

Steem already has a built-in mechanism that leverages a user's Steem Power amount to take care of that for you; the subchain application developers can have full access to the power of C++ and native code and the Graphene object database (which automatically does the right thing on blockchain reorganizations) to build the plugin that implement's their subchain business logic (the developers are not limited to an inefficient key-store database that may not fit well with their subchain's business logic); and thanks to DPoS, Steem has very fast and reliable block intervals (3 seconds) and confirmation times for irreversibly (typically less than 21 blocks), which may possibly get even a little bit faster in the future. And because these subchains would live on the main Steem chain, each subchain would not have to wait for many blocks before continuing communication with each other after ever inter-chain message sent in order to protect against blockchain reorg issues.

The communication delay between subchains and the main Steem chain could be as fast one block interval while still providing the data parallelism among subchains (and the main chain) necessary to allow for high scalability. This means it can be super convenient and fast for the user to move their SD from the main chain to the subchain (and vice versa), and use that SD for the useful applications enabled by the subchain.

And the subchain developers (and users) further benefit by being able to use a more established and less volatile cryptocurrency like the Steem Dollar (really it would be a 1-to-1 pegged proxy asset to the real Steem Dollar that comes with the counterparty risk of a sufficiently decentralized multisig account) for their subchain application rather than having to roll out and bootstrap their own cryptocurrency (though subchains would be flexible enough to allow them to do that as well if they wanted to).

The main benefit of this subchain framework to Steem users is that it creates additional useful applications to use with their Steem Dollars (which itself can attract new users to the platform) and that provides further ways of helping bootstrap the Steem Dollar as a useful cryptocurrency.


SM:
Your personal message to steemians…..

@arhag:
Keep providing constructive criticism to improve the platform; continue producing content that you think is good and you would like to see more of on the platform; if you are a minnow with very little voting influence, don't worry too much about the curation rules and just use upvotes as a way of communicating to the author (and everyone else) that you liked the post or thought it was worthwhile to read; and finally, don't get too obsessed with the blogging rewards and try to just enjoy yourself like you would on another social media platform.


Wow. I absolutely loved this. Here is what a whale said about @arhag: He contributes a TON of brain power to the project. And I agree… There are lots of points to be discussed and digested.
Thanks so much @arhag for taking the time to have a chat with SteemMag. All the best.


Check out page 2 for more cool chats and SteemFest Tickets giveaway.


Page 2


Sort:  

I got pretty technical in some of those answers. If anyone is confused about what I was trying to say and wants to know more, feel free to ask me questions here.

You're one of my favorites. Every post you've done has blown my mind and I really appreciate being able to "hang out" with people as smart as you on the blockchain that is Steemit. Thank you.

Wow... Thats really awesome esp coming from you... Im so glad to have you back and having this weekends issue welcoming you back to steemit in a nice way.

Thanks man

Thanks for dropping by @arhag . You rock.

So you think there is a potential to use the Steem block chain to function similarly to say LSK for the creation of Dapps (If I understand the intention of the way sidechains would work here correctly... I probably don't)? It's quite interesting how broad the plans are for this blockchain, its quite reassuring to see all of the different projects and directions you all are thinking about taking this. Every day I get more and more confident of the success of Steem for the long long haul.

Not quite like Lisk. The way Lisk is designed puts too much burden on developers of the DApps (see here for more details). The subchain developer should not have to worry about blockchain reorganizations manually. There are a lot of things that are needed for any DApp (no matter how different its business logic might be) that should just be taken care of by the framework.

The subchain framework I'm envisioning is not quite Lisk or Ethereum, but to explain its design I'll compare it with Ethereum to describe some of the important differences. First, only the nodes that are interested in the DApp enabled by that subchain would need to run the plugins that pay attention to those subchain operations and do the necessary computation / store the necessary data. This is great for both scalability/efficiency AND the permission-less nature of launching a new DApp in which the third-party devs don't need to get permission or require a hardfork of the Steem blockchain (this latter benefit is something Ethereum also has as part of its design).

However, this also means that a trusted oracle is necessary for the main chain to learn about what is happening within the subchain (the other direction, meaning the subchain knowing about what is happening in the main chain does not require a trusted oracle). So for example you could transfer SD to some special account (the "manager" of the subchain) with a special memo and the subchain could pick that up and automatically issue a corresponding amount of its proxy-SD asset to your account (within the domain of the subchain state); however, if you now want to convert that proxy-SD asset back into real SD, you need to not only carry out an operation within the subchain state to register your intent to withdraw some amount of SD, but you also need to wait for the special account (i.e. subchain manager) to broadcast a Steem transaction that transfers the real SD from their balance to your account. To reduce the counterparty risk, that subchain manager would be a multisig account controlled by a large number of trusted individuals/organizations with good reputation; so the trust would be decentralized to lower the risk of collusion that would allow them to steal the backing assets of the subchain.

The other difference of this model compared to Lisk or Ethereum is that it would not impose any specific VM on the developers. They can write in native code if they want to. In the early stages of the framework, this actually might be a limitation to developers because the API for the framework would be in C++, and not everyone wants to code in C++. But anyone can implement a VM on top of the native code and create wrapper APIs to the subchain framework's native APIs, so that they can use the language they are more comfortable with. Long term, I would like to see the framework API evolve to use a more language-neutral API (perhaps using something like Cap'n Proto) and for the business logic of the subchain to be contained in its own sandboxed modules (which allows nodes to run third-party subchain code on the machines within their internal network without needing to audit it or trust the developers and also provides stronger guarantees to the subchain devs that they will quickly catch a large class of errors in their code that could break consensus) that are set up at run-time to communicate with the main Steem node process via IPC (interprocess communication). And perhaps the framework may even specify a standard format for deploying these modules, so that it can be used to enable automated consensus-driven hardforks/upgrade of the subchain business logic, and a standard accepted Intermediate Representation for the code within the modules such as WebAssembly (perhaps a modified version that disallows floating point arithmetic for consensus-related code). Once these standards and APIs are better established, I can imagine a future scenario where some devs create VMs with corresponding compilers/toolchains for this target platform and idiomatic APIs for the subchain framework so that the other devs of the subchain DApps can code up their DApp's business logic in the programming language / VM that they are comfortable with.

One thing to keep in mind, even with all of the above future changes implemented, is that this subchain framework would allow typical DApps (ones that have to work with STEEM and Steem Dollars) to be fully deployed and run correctly only if the community could find a set of reputable and reliable individuals to act as the multisig subchain manager. This is very different than how any Ethereum user can by themselves deploy some smart contract code into the Ethereum blockchain and then they (or anyone else) can submit transactions that start utilizing that smart contract as long as they have enough gas to pay for it. If users want a system like that, such a platform (really a sub-platform within the Steem platform) would have to be implemented as a subchain DApp itself. So this would be a deeper layer in the overall Steem ecosystem.

At the first layer, there would be the main Steem blockchain with only the limited operations it supports (including custom operations). Making changes to these operations and their behavior requires a hardfork of Steem and forces every Steem node to upgrade their software.

At the second layer, there would be the Steem subchain framework. Third-party devs could deploy DApps as subchains on Steem without anyone's permission, but in most cases for the DApp to be useful, they would at least need enough individuals to act as the multisig manager of subchain (and they would be paid for their efforts, likely automatically via the subchain business logic) so that it would be possible to deposit/withdraw SD into the DApp. When the subchain framework is developed to the point where the code for the subchain can be deployed using standardized modules that are sandboxed and communicate with the main Steem node process via IPC, the deployments and upgrades of the subchain DApps can happen without requiring a recompile, or perhaps even restart, of the steemd process. Until then, upgrades of a subchain DApp would require a recompile of steemd, but only for those nodes that have enabled and are bothering to pay attention to that particular subchain DApp.

Then there can be an optional third layer. Some Steem subchain DApps might implement a particular Turing-complete smart contract sub-platform (or some may prefer their smart contract sub-platform to remain not Turing complete). They can choose a developer-friendly programming language and implement the VM as part of their subchain business logic (including the specific rules for billing of computational resource consumed by the arbitrary user-submitted smart contracts). Then smart contracts can be deployed and upgraded on this sub-platform as conveniently as on Ethereum. Also like Ethereum, the communication between different smart contracts that exist within the same subchain's sub-platform can happen immediately and in a trustless manner (unlike the communication between two independent subchains on the Steem platform which requires trusting their subchain managers to act as honest oracles to facilitate the inter-subchain communication). The benefits of keeping this smart contract sub-platform at a third layer are that DApp developers at the second layer have more flexibility to accomplish their goals and also there can be more competition in the smart contract sub-platform space while still keeping the benefits of each smart contract sub-platform being embedded within the same main blockchain and being part of the same decentralized network. The competition in that space is good because it can lead to better smart contract VMs and different approaches to handling smart contracts (e.g. perhaps a TauChain approach would be a superior way of handling most smart contracts than the Ethereum Turing-complete approach).

Wow thank you for that very comprehensive reply and also your comprehensive right up in the mag. Your contributions to this community are noted!

Wow, thank you for taking the time to explain your thoughts on this in such detail. I especially like that you want to implement a system that is not entirely like eth or lsk, but rather takes more advantage of the steem blockchain's native differences. It seems like your idea does a good job of keeping the dapp side chains separate from the main steem chain per say and would prevent some of the issues that we are seeing happen with the way ETH is trying to do things. Most appreciate the response @arhag. I look forward to seeing these ideas become a reality as they sound like a unique and exciting application for us.

This is really a great interview with @arhag who is one of the people constantly digging into the design and implementation of Steem and working out in detail how to make improvements. Thank you @infovore and @arhag.

Thanks so much @smooth for stopping by.. I really had a nice time with @arhag and Im giddy to see you enjoyed the interview finally...

And thanks for kickstarting the whole chain.. Ts been an amazing experience.... :) you rock!

Love those as usual! It;s very noble of you to give the shout out to @rusteemblog they are trying very hard.

Anyways, you know what I'm gonna say: Keep them coming :)

Thanks man for dropping by. I'm glad you liked it. Compliments from steemians like you keeps me focused to deliver more awesomeness..

And yes, its a pity their posts recieve very low payouts. Hopefully, things should change soon.

Thank you:)
Everybody are hungry for information!
to break the language barrier is our goal

Thank you for mentioning us!
We’re glad to participate in community development.
Looking forward to translate a new one as soon as possible :)

You guys are doing a great job trying to build the Russian community here on Steemit. Hopefully, you guys can reach the level of the french and chinese community.

I'm always available to be of help when needed.

Great read so far.

Thank you so much for putting this weekend edition together.

Moving on to Page 2.

Steem on,
Mike

Thanks @etcmike. Im glad you enjoyed page 1 and I hope you like page 2 also esp the giveaway section ;)

Thanks for this great information! Can't believe it's only been 5 months. Look forward to an exciting future :)

Yeah... Its 5 months! And it seems like yesterday.. We've had so much fun in the past few months and I cant wait to see what the future brings for us.

I truly believe the very best is yet to come!!

Thanks for the great information!

Thanks for stopping by. I'm glad you liked it. See you on the next page :)

The level of transparency, intelligence, and innovation that I've seen displayed since joining Steemit is powerful and compelling. Thanks for all your collective work @infovore and thank you for being so brilliant and innovative @arhag

Coin Marketplace

STEEM 0.36
TRX 0.12
JST 0.039
BTC 69965.85
ETH 3540.49
USDT 1.00
SBD 4.71