A Blockchain is a data structure used to create a decentralized ledger. It is made up of blocks in a serialized way. A block contains a set of transactions, a hash of the previous block, a timestamp (indicating when the block was created), block reward, block number, etc. Each block contains a hash of the previous block, thus creating a chain of linked blocks. Each node in the network contains a copy of the blockchain.
Proof of Work, Proof of Stake, etc. are various consensus protocols used to keep the blockchain secure. Depending on the consensus protocol, blocks are created and added to the Blockchain differently. In proof of work, blocks are created using a procedure called mining, which keeps the blockchain secure. In the proof-of-work protocol, mining involves solving complex puzzles. The Blockchain on the Ethereum network, for example, contains ETH transactions. Ether is supplied to the network by rewarding new ETHs to nodes that successfully extract blocks.
The main advantage of the blockchain data structure is that it automates auditing and makes an application transparent and in turn secure. It can prevent fraud and corruption. It can be used to solve many other problems depending on how you implement and use it.
Among the advantages offered by Blockchain technology we find security, distribution and decentralization, privacy, transparency, integrity and trust. The trust between the peers who trade is due to the fact that they trust the technology, they do not need to trust each other. Transparency refers to the fact that the book of transactions carried out is public, but with the privacy that each transaction is carried out between 2 keys, with no user information behind one of them. Each user has 2 keys, a private one, with which the user can enter their data and know how much money they have and can carry out transactions, and a public key, which is used for others to make a transaction to your account.
When talking about the security offered by Blockchain technology, it is because to alter the transactions, the links, or hash, of the transactions in a block should be changed, which also contains the hash of the previous block and in turn all the Subsequent hashes backwards so that they match, since changing a single character changes the entire hash and therefore everything should change and coincide, and all this should be achieved before a new block closes (which is approximately 5 minutes in Ethereum). The way in which the transactions are accepted is from the miners who work in the network, they seek to close the blocks since in doing so they receive a reward in cryptocurrency.
A Dapp is an application that runs on a distributed network, with information that participates in a safe and secure way, and operations executed in a decentralized environment through a network of nodes. A distributed application is code running on a P2P network. Its principles are: open source, autonomous, secure (since the files are stored on the Blockchain), decentralized, automated.
Ethereum is a decentralized platform, which allows Dapps to be implemented on it. Smart contracts have been created and are supported by this Blockchain. Dapps are created using one or more smart contracts. In Ethereum, smart contracts can be written in various programming languages, including Solidity, LLL, and Serpent. Solidity (Ethereum programming language) is the most popular of those languages. Ethereum has an internal currency called ether (ETH). To implement smart contracts or call its methods, ether is required. There can be multiple instances of a smart contract like any other Dapp, and each instance is identified by its unique address. Both user accounts and smart contracts can contain ether.
Ethereum uses the Blockchain data structure and Proof of Work consensus protocol. A smart contract method can be invoked through a transaction or through another method. There are two types of nodes in the network: regular and mining nodes. Regular nodes are the ones that only have one copy of the blockchain, while miners build the blockchain by block mining.
Smart contracts are contracts or agreements in a block. Nowadays there are a lot of common and current contracts in businesses and companies. The difference between smart contracts and common contracts is that the participation of third-party organizations is not necessary, the contract being forced by the code itself. An Ethereum smart contract is a program that runs on Ethereum. A smart contract runs exactly as scheduled without any chance of downtime, censorship, fraud, and third-party interference.
In this area, it is very important to highlight decentralization, allowing parties that do not trust each other or do not know each other, to be able to transact with each other reliably.
A smart contract has an input and an output (valid or invalid), and works under this rule only. When this contract is on the Blockchain it is immutable because the code protects it, this code says how the process is going to be – “Code is law”.
The advantages of Smart Contracts:
- They are automatic (without third parties, efficient, fast),
- independent (P2P),
- and it’s certainty.
And its main disadvantage is:
- the contract is not modifiable.
Anders Brownworth – he created a visual demo of blockchain technology which attempts to explain the technology by building up from simple concepts using a web demo. There are also video’s with a walkthrough and demo’s websites which can be used to reinforce the concepts. He also open-sourced the code.
- by Anders Brownworth – Part 1: Hash, Block, Blockchain, Distributed, Tokens and Coinbase.
- by Anders Brownworth – Part 2: Public / Private Keys & Signing.
Marcos Lozada – Software engineer at Clarika, he is one of the Co-Founders of Balloon Dapp. The purpose of this Dapp is to allow the user to have a file storage of interest in a decentralized cloud, based on Blockchain. The files will be encrypted at the time of saving and will be stored in a decentralized network called IPFS (InterPlanetary File System), that through a Smart Contract hosted in the ETH Blockchain, store an index to the saved file allowing to have a correct and fast administration of them by the user in their account and guaranteeing that there is no alteration of the file.
- by Marcos Lozada – Balloon Dapp: encrypted cloud storage using Blockchain.
You can learn about us and how we work here.