On DApps

By Dmitriy Kim on ALTCOIN MAGAZINESo, well, it becomes a tradition with my reviews when on the one hand I understand what this is all about, this project or whatever. I also know what I need to write, but the flow of thoughts is bottled up by my misgivings about in what particular set of phrases I should shape it. So I let this stream of consciousness loose and describe what I see, using words and sentences that simply come to my mind first. It’s an easier thing to do at this stage.Source: CoinDeskSo what do we have? The project in question is related to the problem and the controversy of the Ethereum blockchain. The Ethereum was a spawning ground for various projects since it introduced the concept of storing pieces of code on the blockchain — so-called Smart Contracts. The invention of Smart Contracts, in turn, led to the inception of multiple distributed on-chain applications, including ubiquitous CryptoKitties. This is what is actually considered cool about this platform — an ability to host various IT ideas, related to many different fields. The controversy is mostly about how much of the code should be stored on the blockchain, and how much can be stored outside — on the servers that belong to the actual creator of the project. Like, with CryptoKitties people argue that this is not really a pure blockchain project because the significant part of its code is located outside the blockchain, on CryptoKitties’ proprietary servers that theoretically can be shut down causing a tremendous butthurt among fans of virtual cats. That wouldn’t be the case if the whole code of the project was located on the blockchain because of its distributed architecture and its multiple nodes, supporting everything that’s going on there.But this is not really an option. With all due respect to Ethereum, there are things that cannot be done entirely on the blockchain. Like communication with external data sources or massive data storage of various graphics and multimedia. The blockchain is not really a solution for data storage of this kind. So this is what’s going to be a prologue. An explanation of the concept of programming on Blockchain, which is the distinguishing feature of Ethereum, and its implications, including an abundance of various projects, startups, and stuff.The second item of my structure is an explanation of a key problem that some project is striving to solve. The problem, in this case, is that Ethereum doesn’t provide an interface with a high level of abstraction. To draw an analogy with the programming — when the databases are getting involved — it’s a layer insulating me from the internal mechanics of some particular database engine. I can switch from one database to another without thinking much about it. And not thinking at all about how this or that database works inside. Like, I use SQL, and it’s a high level of abstraction; it’s identical for any database. And thinking about databases on this level of abstraction makes them all essentially the same for me, be it MySQL, Oracle, Interbase, whatever. I’m not concerned with how they are organized and what’s going on inside.That is not the case for the blockchain or, for that matter, various blockchains with different protocols and variations in architecture. A programmer writing code for the blockchain needs to understand their low-level mechanics and APIs, plus he is always writing for some specific blockchain, and those applications are not easily transportable to a different kind of blockchain. Which can be a real headache. Plus, there is no high-level abstraction interface that could serve as a link between on-chain and off-chain parts of the application. And, as we see, it’s impossible to create a complex blockchain app entirely on-chain, so there has to be some external database, containing all that graphics, and multimedia, and stuff. So this is a description of the problem.Here I also begin to wreck my brains, trying to figure out how to explain all this in a way that would be understandable for everybody. Because all this stuff with databases, interfaces, layers of abstraction might confuse a person unfamiliar with those concepts strictly related to software development. But anyway.So the project in question proposes a technical solution allowing programmers to work with blockchain on a higher level of abstraction, which sounds pretty legit. There are some weird concepts and confusing definitions in its White Paper, but, overall, the idea is pretty clear and simple for a programmer. Here we have a pile of code that would serve as an intermediary layer between the blockchain and the application, which would make the life of an app developer easier in a sense that he won’t need to think much about the blockchain. The layer of intermediary protocols would take care of those technical details allowing the developer to perceive the blockchain with a high level of abstraction.Altcoin Magazinehttps://medium.com/media/4b37fd61c8660dc2cbfe8232dfa683e2/hrefOn DApps was originally published in ALTCOIN MAGAZINE on Medium, where people are continuing the conversation by highlighting and responding to this story.
Go to Source
Author: Dmitriy Kim

error: Alert: Content is protected !!