Buddy: decentralized applications
Hello dear friends of this prestigious community.
Buddy, is a platform for development and implementation of applications using Blokchain technology This leaves developers with more opportunity to focus on their main product, as well as its design and user interface, while Buddy helps implement and maintain their DApps
An ÐApp (written with this Ð strange and pronounced as [Di-app], similar to how we say "e-mail" [i-meil]) is a decentralized application, that is, an app that does not depend on a central system , but it depends on the community of users that use it.
The decentralized application can be a mobile app or a web application that interacts with an intelligent contract to carry out its function.
If we remember briefly what was an intelligent contract or smart contract, we will say that it is a computer program that executes itself when the conditions that were programmed in its code are fulfilled.
To understand the functioning of a ÐApp and its interaction with smart contracts, it is best to make a brief introduction comparing traditional web applications with the innovative ÐApps.
APPS VS ÐAPPS
In the architecture of applications, both traditional and decentralized, there is what we call the part of the client - known as 'Frontend' in computer slang - and the server part - known as 'Backend'
It is a bit difficult to understand, but this is the world we have been entering for some time, little by little we are familiarizing ourselves with these computer terminologies that will become part of our lives.
To understand it in a simple way, the Frontend is the graphic part of the application, that is, "what you see". When we open a mobile application or a web application, we can say that what we are seeing is that part of the client, that part 'Front-end' that corresponds to the graphic interface of the app and the computer code it has behind it. On the other hand, the part of the server is the one that "is not seen". All databases, storage capacity, etc. In short, everything that can not be stored in the mobile application or on the website Both parties (client and server, 'frontend' and 'backend') interact with each other constantly sending data so that the application works as it was built, is say, so that it fulfills its functions.
Both parties (client and server, 'frontend' and 'backend') interact with each other constantly sending data so that the application works as it was built, that is, to fulfill its functions.
I chose this example that goes well with the subject in question:
When we enter Facebook from the mobile application on our phone, we can see all our friends, their profiles, our photos ... but none of that is stored in the application that we have downloaded. If so, we could not even download the application from the huge space it would occupy.
In order to see that photo we want, the profile of our best friend or the event we are going to visit soon, Facebook needs to go to its servers (its backend), which is where all that information resides.
Facebook will send that information from its 'backend' to its 'frontend', which is that part of the client that we can see.
Understanding this difference will help us to better understand later the functioning of the Ðapps.
Advantages of Ðapps versus Apps.
Processing of payments and collections
In traditional websites we usually find payment gateways or integrations with PayPal in order to receive payments from users who browse through it.
In an Ðapp it is not necessary to make additional integrations, since it is possible for the user to send or receive funds -in the form of Ether- in a direct way, without the intermediary figure that would be PayPal or Visa, for example, and with practically commissions null
User account
We are used to the fact that we have to register practically in each web of Internet. Having to create many user accounts with different passwords can make us, over time, forget and have to resort to the process of "recover password."
This with the ÐApps does not happen since the users do not need to register.
When you create a single account with your public key and your private key (as in the case of the Wallets) that contains your data, you can link it to any ÐApp.
So that we can visualize this process, the registration in a ÐApp works in a similar way to how the logins with the accounts of Facebook, Google or LinkedIn work: you can use your account created in these social networks to register in other websites without need to put your data again
The data remains in the chain of blocks in an encrypted form, that is, they are illegible to anyone except their owners. In addition, the distributed character of the blockchain makes that data reside in every computer in the Ethereum network, so if they disappear from a computer, there are many other "backup copies".
As the only negative point we must say that storing a large amount of data in a chain of blocks can be quite expensive and also significantly increases the size of it (in Megabytes), although work is already being done to improve this process and find solutions scalable
When we use a web application, we can see the code that has been used through the browser's inspection tools. In this way, the user can see it from the 'frontend'. However, the interaction of that frontend with the backend is something that we can not see with the naked eye.
With the ÐApps, users can rest assured that they can inspect both the frontend code and the smart contract code based on Ethereum, which functions as a backend or server.
This way you can verify that the code does not have any failure by which you can steal funds or information deposited in the ÐApp. This increases the confidence and security of the users.
In conclusion:
The difference between the traditional system and the ÐApps is that the deApps use the blockchain as their part of the server, that is, as their backend. Now let's talk about the characteristics of a DAPP, We have seen that ÐApps are very similar to web applications, but also that they have some advantages over them.
However, we have not yet been able to appreciate what characteristics an ÐApp must have to be considered as such, so we will go on to enumerate them:
Descentralization.
The first and most important of all, an ÐApp has to be decentralized, that is, it has to work autonomously without any entity controlling it, leaving all the power of decision over it in its community of users.
Open Source.
An ÐApp has to be 100% open source. This means that the source code under which ÐApp is programmed is open to possible modifications and improvements by its users, quite the opposite of the vast majority of applications that are used today, in which only programmers within Companies can modify and always under the supervision of their bosses.
Those proposed improvements by the community using an ÐApp must be decided by consensus of the vast majority before becoming effective.
Blockchain.
The data and records of the operation of the ÐApp must be stored in a cryptographic way through a public blockchain in order to add transparency and security as qualities of the decentralized application.
Protocol
is based on blockchain, that means that the information of the operations carried out within the application has to be stored in blocks and these have to be verified. This is done according to a protocol that acts as proof that these checks are carried out.
This protocol can be based on the ÐApp in the Work Proof algorithm ('Proof of Work', PoW) or the Proof of Stake ', PoS.
This fact leads us to the conclusion of three things:
-Miners / Block validators
If the ÐApp works according to a cryptographic algorithm PoW or PoS for the validation of its blocks, it means that there are also miners or validators that perform this work.
-Recompensation for the miners
These miners need rewards for their work. These rewards are given in cryptocurrencies or tokens.
-Criptomonedas / Tokens
By validating blocks in the ÐApp those cryptocurrencies or tokens are generated, which may be those of the same ÐApp or those of the platform on which it is built (in the case of an ÐApp built on Ethereum, the reward would be given in Ether) .
These crypto currencies or tokens are with which the miners will be rewarded and which will serve to exchange value within the application.
As a quick summary of this section, an ÐApp is a decentralized open source application based on the Blockchain technology, which works according to a block validation protocol (PoW or PoS), and which is therefore maintained by miners who receive cryptocurrencies or tokens for their work done.
It is important to highlight, because it is part of our living, the necessary thing to know a part of the process, which forms the implementation and development of the applications in the Buddy platform.
This script was made by @nancyka for the @originalworks contest, sponsored byBuddy
tweet link : https://twitter.com/nancyca79782370?lang=es
buddytwitter
buddy2018
This post has been submitted for the @OriginalWorks Sponsored Writing Contest!
You can also follow @contestbot to be notified of future contests!
Indeed @nancyka BUDDY is a great project and it got my attention.
Thx for another informative post. Easy to read.
Please continue up with creating interesting content - it may be hard at the beginning to build reach and solid followers base.
Steemits needs solid content builders so just dont ever give up! :)
Already followed and upvoted :) Cheers,
Piotr