Smart Contract : While a standard contract outlines the terms of a relationship (usually one enforceable by law), a smart contract enforces a relationship with cryptographic code. Smart contracts are self-executing contracts with the terms of the agreement between buyer and seller being directly written into lines of code. The code and the agreements contained therein exist across a distributed, decentralized blockchain network. Smart contracts permit trusted transactions and agreements to be carried out among disparate, anonymous parties without the need for a central authority, legal system, or external enforcement mechanism. They render transactions traceable, transparent, and irreversible.
Consensus Model: The consensus provides the technical infrastructure layer for blockchains. This makes it one of the most critical components when assessing real-world use cases
Consensus is key, because without a central authority, the participants must agree on the rules and how to apply them. Consensus does two things:
1. It ensures that the next block in a blockchain is the one and only version of the truth
2. It keeps powerful adversaries from derailing the system
is currently the most common consensus mechanism for blockchain technologies.
Proof of work describes a system that requires feasible amount of effort to deter frivolous or malicious uses of computing power, such as sending spam emails or launching denial of service attacks. In cryptocurrency terms, it could be explained as the probability of mining a block is dependent on how much work is done by a miner. Proof of stake
concept states that a person can mine or validate block transactions according to how many coins he or she holds. The proof of stake was created as an alternative to the proof of work (PoW), to tackle inherent issues in the latter.
Ethereum Virtual Machine : Ethereum is a programmable blockchain. Rather than giving users a set of predefined operations (e.g. bitcoin transactions), Ethereum allows users to create their own operations of any level of complexity. In this way, it serves as a platform for many different types of decentralized blockchain applications, including but not limited to cryptocurrencies.
Public & Private Blockchain: In a Public Blockchain, anyone can read and write the data stored on the Blockchain as it is accessible to everyone in the world. It is completely decentralised as the permissions to read and write data onto the Blockchain are shared equally by all the connected users, who come to a consensus before any data is stored on the database.
In Private Blockchain the permissions to write data onto the Blockchain are controlled by one organisation which is highly trusted by the other users. This organisation may/may not allow users to have access to read the data, as public readability might not be necessary in most cases.
Permissioned & Permission less Blockchain: A Permissioned Blockchain provides a hybrid between the ‘low-trust’ provided by Public Blockchains and the ‘single highly-trusted entity’ model of Private Blockchains. It is one where instead of allowing any person with an internet connection to participate in the verification of the transaction process or allowing a single company to have full control, a few selected nodes are predetermined.
In Permission less Blockchain anyone can join the network, participate in the process of block verification to create consensus and create smart contracts. An example of this is the Bitcoin and Ethereum blockchains, where any user can join the network and start mining.
DAPPS: Decentralized Applications: It's like a “decentralized appstore” where anyone can publish their unstoppable apps (dapps), which unlike today’s apps (think Gmail or Uber) don’t require a middleman to function or to manage a user’s information. Dapps connect users and providers directly. One example is to use this design for a decentralized Twitter that’s resistant to censorship. Once you publish a message to the blockchain, it can’t be erased, not even by the company that created the microblogging system.