I have taken up the #100DaysOfBlockchain challenge where I will commit to code or study Blockchain for minimum of 1 hour for the next 100 Days.
I'll be tweeting my progress with #100DaysOfBlockchain hashtag on my Twitter account @bhalla98
I will be Learning and Practicing below technologies/protocols.
- Cryptocurrencies and Algorithmns
- Cryptography behind Blockchain
- Cryptoeconomics
- Bitcoin programming Basics
- Ethereum DAPPs
- Hyperledger Fabric, Hyperledger Composer
- Blockchain Use Cases in Enterprise
- Solidity programming
- Javascript, web3.js, (Other frontend tools for DApp Development)
- Exploring some of the other available ICOs options:
- Ethereum, Waves, NXT, NEM, EOS, Stellar, LoomNetwork
- Exploring new Blockchains:
- Corda, Ripple, Quorum, BigChainDB
- Sidechains
- Non Fungible Token Applications
IBM Blockchain Foundation for Developers
Blockchain Architecture Design and Use Cases
Ethereum and Solidity: The Complete Developer's Guide
Bitcoin and Cryptocurrency Technologies
Day 99-100: 0x + Coinlist Hackathon 2019
Progress:
- Worked on ETHOptions and received an Honorable Mention and was one of 0x Core Team’s favorite projects
Project Summary:
- ETHOptions is a decentralized ERC20 Options trading platform to hedge against your crypto investments by leveraging profits and managing risks
Description:
- An option is a contract that gives an investor the right — but not the obligation — to buy/sell a Crypto Asset (ERC20 Token) at a certain price within a certain period of time. Options Sellers receive ERC20 Option Tokens, generated against their deposited BaseTokens in Escrow, after setting the strike price & expiry time. The Option Seller then creates orders to our 0x Options Relayer to exchange the ERC20 Options Tokens against a Premium (fraction of Strike Price), paid by the Option Buyer in terms of QuoteToken. Exchange of ERC20 Option Tokens & Premium is done by 0x Exchange. The buyer can now choose to exercise his Option Tokens within the expiry time to purchase the locked BaseTokens at Strike Prices, in terms of QuoteTokens. Buyer can then sell BaseTokens in the market, thereby making a profit of (MarketPrice - StrikePrice) per locked BaseToken.
Links:
- How its made: Crowdsale Contract
- Smartcontract Testing Guide
- Testing Smartcontract with JS - 1
- Testing Smartcontract with JS - 2
- Smart Contract Auditing: Human vs. Machine
- YODA-Computationally Intensive Contracts (IIT-D)
- Contract Vulnerabilities & Security Tools
- SECURIFY-Practical Security Analysis of Contracts
Progress:
- Read about the Top 10 Smart contract vulnerabilities listed under Decentralized Application Security Project (DASP) of 2018
Links:
Progress:
- P2P network, similar to BitTorrent
- Model encompasses :
- Database: for storage
- Blockchain: decentralized, P2P storage system
- Economics: incentives users to store(host) files in the network
- Git: for Version history
- Centralized Internet uses “Location Based Addressing” (ie, IP addresses/domain names) to find files
- IPFS uses “Content Based Addressing” to find files :
- Users ask network for file with certain hash
- Users can verify the received file since they use Hash Functions
- IPFS removes duplication of files, since hash exists, creating files only once. Therefore, making network more efficient
-
Files stores in IPFS Objects
-
Each IPFS Object stores upto 256Kb (including links to other IPFS Objects)
-
Bigger Files are split up & stored in multiple IPFS objects, & then a single empty IPFS Object stores links to all other IPFS Objects connecting the file
-
Immutable Data store (once added, can’t be changed)
- Creates new commit object every time a file is created/changed
- When a file is edited, new commit object created, links to :
- Newly edited file
- Previous Commit Object
- Therefore, making version history of files possible to access
- Keeping files available
- Nodes keep cache of downloaded files to share with other nodes for access
- But if those nodes hosting a specific file go offline, then file doesn’t exist on on IPFS
- Incentivise nodes to store files
- Proactively distribute files among nodes to ensure certain amount of copies always exist
- Filecoin, created on top of IPFS, uses above solutions to create a Decentralized Market for Storage
- incentives nodes based on how long they host the file
- creates replicas of files to ensure availability of files at all times
Links:
Progress: Researched on smart contracts of some of the successful ICO’s & Crowdsale Projects
Ethereum smart contracts that have been used during successful ICOs.
Swarm brings unprecedented access to investors, and the infrastructure for security tokens and the future of investing.
eFIAT is a not-for-profit, fully transparent, publicly auditable protocol to migrate USD, EUR, JPY and other world currencies to the Ethereum blockchain - no banks, no escrow, no reserves, just code!
AirSwap is a peer-to-peer trading network built on Ethereum. Our mission is to empower people through global, frictionless trade.
A decentralized world knowledge base where users earn rewards for contributing and peer reviewing
Powering the Future of Crypto-Securities
Make payments with your Plutus Debit Card and earn a reward on the Blockchain. With Plutus you don’t have to wait for merchants to accept Bitcoin.
Launched Finney-Blockchain smartphone
P2P Marketplace for Ubiatar Service
Tokenized Real Estate
The world's first decentralized commercial real estate marketplace.
Progress:
- Researched on Blockchain projects in Real Estate Industry & Tokenized Equity
- Decentralized compliance protocol to standardize Issuance & Trading of crypto-securities on Blockchain
- Smart Contracts:
- R-token: Permissioned ERC20 Token, enables token transfers to occur iff approved by on-chain Regulator Service
- Regulatory Service: Depends on off-chain Trade Controller (Trade controller is Harbor in initial implementation)
- Trade Controller: determines participant-level permissions & token-level settings
- Service Registry: connects appropriate Regulator Service to R-token smartcontract
Links:
Links:
Links:
- Neufund is an equity fundraising platform on blockchain. It tokenizes real-world assets with legally enforceable security tokens.
Links:
- Neufund
- Neufund-Whitepaper
- Neufund-Github
- Economics of Entangled Tokens
- Simple Agreement of Future Tokens (SAFT)
Progress:
Links:
- How to issue your own token on Ethereum in less than 20 minutes.
- 6 Steps to ERC20 Tokens and ICO Smart Contracts
- How To Create Token and Initial Coin Offering Contracts Using Truffle + Zeppelin Solidity
-
Dividend paying contracts distribute dividends to investors proportional to their token ownership
-
Dividends should be paid out in proportion to token balances, instead of current balances.
-
Since current balances vary over time, using them could allow for the below attack :
- If Party A, affter claiming its share from the dividend transfers its tokens to Party B, Party B will now have that share in the dividend, and can claim that again. Leading to party A’s share being claimed twice
Problem: Token’s total balance gets altered
Smart Contract Limitation: Distributing dividends to each investor is a Txn in itself. Each Txn costs gas and, hence, becomes very expensive.
-
Etheroll Approach : Freeze token transfers during payment periods, ensuring token balances to be fixed.
Problem: Token trading is paused temporarily, not suitable for exchanges, irritating for users
-
E4Row Approach : Uses payrunID to stop accounts that are involved in token transfer after a payrun has begun for claiming their dividend
Problem: May penalize accounts who transferred tokens during pay runs but weren’t trying to cheat the system
-
ERC20 token : Dividends associated with each accounts can be in 3 states
- “Not yet credited” to account (ie, All new dividends owed to an account start with this state)
- “Credited, but not Transferred” (When account is part of Transfer/Withdrawal)
- “Transferred State” (When the account makes a withdrawal of its dividend)
-
Contract uses 3 values to track state of Dividend Payment:
dividendPerToken
: (Total Ether Collected) / (Total Token Supply); Constant value, doesn’t reduce with WithdrawalsdividendBalanceOf
: maps account to amount of ether credited to it, but not transferred; Withdrawals reduce this amountdividendCreditedPerToken
: maps accounts to total amount of ether per token credited to it previously, ie, added todividendBalanceOf
-
Smart Contract handles token transfers by updating account’s
dividendBalanceOf
÷ndCreditedPerToken
-
It accepts “Dividend Deposit” & “Per account Withdrawal” values
Token Transfer Functions
- Updates values associated to track dividends owed to an account
- Updates Sender's & Receiver's account balances
Deposit Function
- Accepts Ether to be distributed as Dividend
- Updates global
dividendPerToken
Withdrawal Function
- Updates Dividend owed, & transfers it
Links:
Progress:
- Read about 0x Project. 0x is an open protocol that enables the peer-to-peer exchange of assets on the Ethereum blockchain.
Thoughts:
-
0x solves lack of standardization, that leads to redundancy
- User’s don’t wanna use 5 tokens for 5 different utilities being executed on their respective dapps
- Parallel redundancy - DApps having parallel implementation on a similar type of smart contract )
-
0x protocol allows other smart contracts to programmatically execute trades on a single line of solidity code
- enables efficient functioning of smart contracts
- enables interoperability among diff dapps and smart contracts
-
Stable coins by users can be used to purchase ZRX that’ll fuel trades for other tokens that dapp uses
-
Altering orders on chain on DEX, cost you gas. Hence, relayers handle order books off-chain, and settlements handles on-chain.
-
0x protocol uses off-chain order relay and on-chain order settlements, 0x enables 2 types of orders
-
- Point to Point Order
-
- Broadcast Order
-
-
Cryptographic signed orders are broadcasted off-chain. Interested counterparties inject 1/more orders on SC to execute trade trustlessly on-chain
- used for OTC (over the counter sale ) exchange
- anyone can perform OTC exchanges
- Orders are fulfilled by specified Takers Addresses ONLY, ie, Traders will execute their own trades
- Consists of Makers, Takers, Relayers
- Relayers: DEX, PARADEX, OPENRELAY, etc
- Anyone can fill an order, not just a specified address
- There’s txn fee structure to incentives Relayers for hosting order books
- Maker decides Maker fee, Taker fee for Relayers
- Relayer sets his fee recipient address and his fee schedule
- Maker creates an order, setting FeeA & FeeB that satisfy Relayer’s fee schedule and his address, and signs the order w/ Maker’s private key
- Maker transmits this signal order to relayer
- Relayer receives order, validates the order for require fee & signature, then posts order to order book
- Taker’s receive an updated version of Order Book, that includes Maker’s order
- Taker has an option to fill Maker’s order by submitting to exchange contract on Ethereum Blockchain
- Relayer’s have the power to accept/reject orders. Hence, if Maker really wants his order to be posted to a specific order book, they set MakerFee & TakerFee
- Taker has an option to fill/not fill the order. If they decide to fill, then they have to pay the set FeeB
- Centralized Ex. use a matching engine to fill market orders on behalf of users. Users have to trust the prices
- But, in DEX, Relayers don’t execute orders on behalf, they just recommend prices to Takers, & Takers decide whether to sign/not sign the order and send it to the Blockchain
- Contract stores a reference to previously Filled Orders to prevent an order being filled multiple times
- Partial Orders can be executed by Taker by specifying argument called “valueFill” when calling exchange SC function, ie, valueFill should be <= total units of valueA
- Makers can cancel orders but it costs gas. Cancel Function maps order’s hash to order’s max value which prevents subsequent fills
- User can use a single token to buy other security tokens offered by various companies
- (money/crypto to buy security tokens?)
- 0x can use interoperability amongst various security tokens that can be bought by a single crypto token by user
- During dividends, when a user gets profits from his portfolio
- 0x can transfer dividends in a single token that the user accepts, ie, something like a stable coin
Links:
- 0x Docs
- 0x White Paper
- 0x Github
- 0x Blogs
- 0x Protocol Explained - Part 1
- 0x Protocol Explained - Part 2
- 0x Protocol Explained - Part 3
Progress:
Read in detail on the following topics :
- Accounts
- Gas & Payments
- Transaction & Messages
- Blocks
- Transaction Execution
- Execution Model
- Mining
Thoughts:
- Validation of Txn
- Intrinsic Gas :
- Predefined gas fee = 21000
- Storage gas fee = 4(x) + 68(y)
- Contract Creation fee = 32000
- Upfront Cost :
- Gas limit + Gas price + Value
- Intrinsic Gas :
- Deduct upfront cost from sender’s balance; Increment nonce of sender’s account by 1 to account for current txn
- Calculate the remaining gas as :
- Gas limit - Intrinsic Gas
- Txn starts executing, Ethereum maintains substate(info req. after txn execution) such as :
- Self-destruct set: a set of accounts (if any) that will be discarded after the transaction completes.
- Log series: archived and indexable checkpoints of the virtual machine’s code execution.
- Refund balance: the amount to be refunded to the sender account after the transaction. Remember how we mentioned that storage in Ethereum costs money, and that a sender is refunded for clearing up storage? Ethereum keeps track of this using a refund counter. The refund counter starts at zero and increments every time the contract deletes something in storage.
- Various computations req by Txn are processed. Once all steps are processed, & no invalid state remains, state is finalized by :
- determining amount of unused gas needed to refunded to user
- refunding refund balance for clearing storage
- After sender is refunded :
- the Ether for the gas is given to the miner
- the gas used by the transaction is added to the block gas counter (which keeps track of the total gas used by all transactions in the block, and is useful when validating a block)
- all accounts in the self-destruct set (if any) are deleted
- Finally, we’re left with the new state and a set of the logs created by the transaction.
Links: How does Ethereum work, anyway?
Progress: Truffle tutorial for DApp
Tech stack used :
- Development Tool : Truffle
- Local Blockchain Deployment : Ganache
- Smart Contracts : Solidity
- Smart Contract Testing : Javascript
- User Interface : Web3
- DApp Interaction Extension : Metamask
Links: Ethereum - Pet Shop
Progress:
- Developed & Deployed a standard ERC20 Token smart contract using Solidity, built upon
zeppelin-solidity
to ensure stability and security, as well as ERC20 compliance.
Links:
Progress: Watched videos explaining 0x Protocol
Thoughts: Gives an easy, understandable explanation of 0x Protocol. Covers everything from their white paper.
Links:
Progress: Read 0x Protocol White Paper
Thoughts: Allows developing of standardized decentralized exchanges, making trading of crypto-to-crypto, ERC20 tokens easily.
Links: 0x Protocol - White Paper
Progress: Read in detail about Ethereum Architecture and how it actually works, what exactly happens under the hood
Thoughts: Gives a detailed description of the following topics :
- Accounts
- Gas & Payments
- Transaction & Messages
- Blocks
- Transaction Execution
- Execution Model
- Mining
Links: How does Ethereum work, anyway?
Progress: Finished a tutorial on building a Pet Shop DApp
Thoughts: Tech stack used :
- Development Tool : Truffle
- Local Blockchain Deployment : Ganache
- Smart Contracts : Solidity
- Smart Contract Testing : Javascript
- User Interface : Web3
- DApp Interaction Extension : Metamask
Links: Ethereum - Pet Shop
Progress: Prepared for the final test & completed Blockchain Architecture Design and Use Cases course
Thoughts: This course offered a deep level understanding of various topics :
- Cryptography behind Blockchain
- Consensus Algorithms
- Hyperledger Fabric & Hyperledger Composer
- Blockchain Industry/Enterprise Use Cases
- Blockchain Research Aspects
Links: Course Link
Progress: Learnt about Ethereum’s Architecture & its concepts of Smart Contracts, Gas, Transactions, EVM and additional upcoming capabilities, from Blockchain Architecture Design and Use Cases
Thoughts: Additional/Upcoming Capabilities :
- Raiden state channels suggests that parties need to use blockchain only for resolving disputes, but otherwise perform transactions off-chain.
- Sharding, in which nodes are partitioned so that they don’t have to store & process entire blockchain.
Links: Ethereum Ecosystem
Progress: Watched Videos of Week 11 and submitted its assignment, of Blockchain Architecture Design and Use Cases
Thoughts: This week was all about Research aspects of Blockchain. These were the following topics :
- Secure Multiparty Computation: A security protocol with the goal to create methods for nodes to jointly compute a function using their inputs without actually revealing their inputs.
- Algorand: Scalable Byzantine Agreement for Cryptocurrencies
- Blockchain for Big Data
- Blockchain and AI
Links:
Progress: Read a research paper on Blockchain and Scalability
Thoughts: Paper discusses various scalability issues with Bitcoin & Ethereum blockchain. It explains & compares recent proposals like the lighting protocol, sharding, super quadratic sharding, DPoS to solve these issues.
Links: Blockchain and Scalability
Progress: Watched Lecture on ByzCoin, & submitted Week 10 assignment, of Blockchain Architecture Design and Use Cases
Thoughts: ByzCoin provides a solution to resolve the scalability issues of Bitcoin & demonstrates how to securely process hundreds of transactions per second among hundreds to thousands of decentralized miners.
Links: Research Aspects - ByzCoin
Progress: Watched Lectures 48-49 on Bitcoin-NG & Collective Signing, of Week 10, of Blockchain Architecture Design and Use Cases
Thoughts: Concepts Covered :
- L48: Bitcoin-NG
- PoW Fairness & Scalability
- Bitcoin-NG Working Principles
- Key blocks & Microblocks
- L49: Collective Signing
- Authority and Digital Signature
- Collective Signing (CoSi)
- Shnorr Multisignature and BLS Signatures
Links:
Progress: Watched Lecture 47 - “Research Aspects – I (Consensus Scalability)”, of Week 10, of Blockchain Architecture Design and Use Cases
Thoughts: Concepts Covered :
- PoW vs BFT Consensus
- Consensus Finality
- Consensus Scalability
Links: Research Aspects – I (Consensus Scalability)
Progress: Watched Lecture 46 - “Blockchain Security – III (Fabric SideDB)”, of Week 10, of Blockchain Architecture Design and Use Cases
Thoughts: Concepts Covered :
- SideDB Motivation
- SideDB Overview
Links: Blockchain Security – III (Fabric SideDB)
Progress: Played around with IBM Blockchain Starter Pack & Revisited Lectures 25-26 on Hyperledger Fabric Demo, of Blockchain Architecture Design and Use Cases
Thoughts: IBM Blockchain Starter Pack provides a local environment to build & test Blockchain applications for proof of concept, and how to operate a business network running on a Blockchain.
Links:
- IBM Blockchain Starter Pack
- IBM Blockchain Platform Documentation
- Fabric Demo on IBM Blockchain - I
- Fabric Demo on IBM Blockchain - II
Progress: Watched Lectures 43-45 and submitted the quiz, of Week 9, of Blockchain Architecture Design and Use Cases
Thoughts: Concepts covered :
- L43: Overview of Blockchain Security
- L44: Identities & Policies, Membership & Access Control, Blockchain Crypto Service Providers
- L55: Privacy in a Blockchain System and through Fabric Channels, Smart Contract Confidentiality
Links:
- Blockchain Security - (Overview)
- Blockchain Security - (Membership & Access Control in Fabric)
- Blockchain Security - (Privacy in Fabric)
Progress: Watched Lecture 42 - “Blockchain in Government – (Tax Payments and Land Registry Records)”, of Week 9, of Blockchain Architecture Design and Use Cases
Thoughts: Learnt how Blockchain is used for Tax Payments and managing Land Registry Records.
Links: Blockchain in Government – (Tax Payments and Land Registry Records)
Progress: Watched Lecture 41 - “Blockchain in Government – (Hyperledger Indy)”, of Week 9, of Blockchain Architecture Design and Use Cases
Thoughts: Learnt about Hyperledger Indy, a DLT for Decentralized Digital Identity, and how it works.
Links: Blockchain in Government - (Hyperledger Indy)
Progress: Watched Videos of Week 8 and submitted its assignment, of Blockchain Architecture Design and Use Cases
Thoughts: This week covered industry level applications of Blockchain in :
- Supply Chain, Healthcare, Energy markets, Media
- Government (Advantages, Use cases, Digital Identity)
Links:
- Blockchain in Other Industries
- Blockchain in Government - (Advantages)
- Blockchain in Government - (Use Cases)
- Blockchain in Government - (Digital Identity)
Progress: Watched Lecture 36 - “Blockchain in Supply Chain - II”, of Week 8 of Blockchain Architecture Design and Use Cases
Thoughts: Concepts covered :
- Everledger, and how they track provenance of diamonds from mines to jewellery stores to combat frauds.
- The Diamond Lifecycle.
- Addressing Supply Chain Fraud through Blockchain.
Links: Blockchain in Supply Chain - II
Progress: Revisited Week 7 Lectures & submitted its quiz of Blockchain Architecture Design and Use Cases
Thoughts: After this week, I understood how Blockchain can be used in Financial Services & Global Trade Logistics. Got an overview of Blockchain in Supply Chain Management.
Links: Course Link
Progress: Watched Lecture 35 - “Blockchain in Supply Chain – I”, of Week 7 of Blockchain Architecture Design and Use Cases
Thoughts: Concepts covered :
- Food Safety and Food Traceability
- Supply Chain Orchestration
Links: Blockchain in Supply Chain – I
Progress: Watched Lectures 33-34, of Week 7 of Blockchain Architecture Design and Use Cases on:
- L33: Financial Trade
- L34: Revolutionizing Global Trade
Thoughts: Concepts covered :
- L33: Financial Trade
- Blockchain Enabled Trade
- We.Trade - Trade Finance Network
- Supply Chain Financing
- L34: Revolutionizing Global Trade
- Blockchain for Trade Logistics
- Global Trade Digitization
- Blockchain for Container Management
Links:
Progress: Completed Week 5 & 6 and submitted the final assignment of IBM Blockchain Foundation for Developers
Thoughts: Feels great to complete IBM Blockchain Foundation for Developers course. Now, building projects using Hyperledger tools is the next goal. Got the foundational knowledge on:
- Blockchain and DLT in a business environment
- Blockchain solution components
- Use cases of Blockchain, How to transfer assets in a network
- Modeling & building simple business networks using Hyperledger Composer
- Hyperledger Fabric
- Methods to arrive at consensus
Links: Course Link
Progress: Explored & Read about the Brave browser
Thoughts: It has an interesting business model where it strips out ads from websites, replaces them with its own ads, for which users get paid in Basic Attention Tokens (BATs) if they view these ads. It then allows users to use BATs for payments to other sites.
Links:
Progress: Watched Lecture 32 - “Blockchain in Financial Service – II (Compliance and Mortgage)” of Blockchain Architecture Design and Use Cases. Concepts covered :
- KYC
- Privacy Consents
- Mortgage over Blockchain
Thoughts: KYC process could get a lot more quicker and automated through blockchain, which can be very beneficial for a country like India.
Links: Lecture 32
Progress: Watched Lecture 31 - “Blockchain in Financial Service – I (Payments and Secure Trading)” of Blockchain Architecture Design and Use Cases. Concepts covered :
- Cross border payments
- Stellar and Ripple
- Project Ubin
Thoughts: Looked into Payments and Security Trading of Financial services, and how blockchain is transforming this sector.
Links: Lecture 31
Progress: Watched Lectures 27-30, and submitted Quiz-5 & Quiz-6 of Blockchain Architecture Design and Use Cases. Concepts covered :
- Goals & key development concepts of Hyperledger Composer
- Adminstrator key concepts, Mapping of Composer to Fabric chain code
- Blockchain Use Cases in Industries
Thoughts: Last 2 weeks were all about Hyperledger Fabric & Composer. Learnt a lot about its architecture, how to setup the network, instantiating its chaincode, running applications on it.
Links:
Progress: Watched Lectures 23-26 of Blockchain Architecture Design and Use Cases. Concepts covered :
- L23: Organization and Consortium Network, Membership Service Provider, Transaction Signing
- L24: Setting up Fabric Network, Endorsement policies
- L25: Demo of blockchain network as different organizations, Setting & Deploying on IBM Cloud
- L26: Demo of an asset transfer application, its underlying code & client SDK code
Thoughts: Too much to grasp for a single day. Will be revisiting these videos during the weekend.
Links:
Progress: Learnt about Sharing in Ethereum Network.
- In Bitcoin & Ethereum, all nodes have to store all data on Blockchain locally and process all transactions
- Sharding divides Blockchain data amongst nodes & allow nodes to process different transactions in parallel.
Thoughts: Sharding can help the network fix its scalability & performance issues and allow more transactions to be processed quickly without sacrificing security.
Links:
- What are Ethereum Nodes And Sharding?
- How to Scale Ethereum: Sharding Explained
- Programmer explains Ethereum Sharding
Progress: Completed Week 4 of IBM Blockchain Foundation for Developers.
- Learnt Hyperledger Composer’s deeper structures and components: Business Network Archive(Models, Script File, Access Control Language, Metadata), and Roles(Solution Developer, Solution Administrator)
- Learnt how to build a Blockchain-based Digital Bank
Thoughts: Hyperledger Composer, compared to chaincode, can more quickly model, build and deploy business networks and applications that allow participants to make transactions and exchange assets in a network. Going to look more into the labs & tutorials during the weekend.
Links: Course Link
Progress:
- Revisited Lectures 15-18 on various algorithms to arrive at consensus in a Distributed System of participants, of Blockchain Architecture Design and Use Cases.
- Algorithms: PAXOS, RAFT, BFT, PBFT
Thoughts: The various methods to achieve consensus during failure of nodes in Synchronous and Asynchronous Distributed Network have intrigued me the most in this course.
Links:
Progress: Watched Lecture 22 - “Hyperledger Fabric - Details” of Week 5, of Blockchain Architecture Design and Use Cases. Concepts covered :
- Ordering Service
- Channels in Fabric
- Fabric Peers
- Certificate Authority
Thoughts: Learning about Single Channel & Multi-Channel Networks, and how Peers work and connect to these channels, and other concepts gave a detailed Architecture of Hyperledger Fabric.
Links: Lecture 22
Progress: Watched Lecture 21 - “Hyperledger Fabric - Transaction Flow” of Week 5, of Blockchain Architecture Design and Use Cases. Concepts covered :
- Fabric Architecture
- Transaction Flow in Fabric
Thoughts: Learnt about the Architecture. Also dwelled into how a transaction is going to get committed by all peers in Blockchain network in a consistent manner.
Links: Lecture 21
Progress: Watched Lectures 16-20 of Week 4, submitted Quiz-4 of Blockchain Architecture Design and Use Cases. Concepts covered :
- L16: RAFT Consensus, Byzantine General Problem
- L17: Byzantine Fault Tolerant System, Consensus achieved in Synchronous System, Lamport-Shostak-Pease BFT Algorithm
- L18: BFT over Asynchronous Systems, Practical Byzantine Fault Tolerance
- L19: Overview of Blockchain for Enterprise-grade Solutions
- L20: Blockchain Components and Concepts
Thoughts: Covered methods to achieve Consensus over Synchronous & Asynchronous Systems when the nodes crash, network fails or when nodes behave maliciously. Started with Blockchain for Enterprise. Learnt about Actors, Components in Blockchain Solution & how Applications interact with Ledgers
Links:
Progress: Revisited Week 3 Lecture materials & submitted Quiz-3 of Blockchain Architecture Design and Use Cases
Thoughts: Finally done with Week 3. Upcoming weeks is going to be more towards Blockchain For Enterprise. So really excited about that.
Links: Course Link
Progress:
- Read FAQ-3 & Watched Lectures 13-15 of Blockchain Architecture Design and Use Cases. Concepts covered :
- L13: Bitcoin Mining, Mining Difficulty, Mining Pool
- L14: Permissioned Blockchain, Use Cases, Design Issues, State Machine Replication
- L15: Consensus in Permissioned Blockchain, Distributed Consensus in closed environment, PAXOS
- Read about Stablecoins
Thoughts:
- I wish i knew about mining back in the days.
- PAXOS is one of the earliest suggested ways to achieve consensus. It’s difficult to explain it theoretically but easy to understand in practical.
- Stablecoins could bring more mass adoption from Governments. Didn’t understand Seignorage Shares, would have to look more into that.
Links:
Progress:
- Learnt how to transfer assets in blockchain network using Hyperledger Composer & finished Week 3 of IBM Blockchain Foundation for Developers
- Learnt about Sidechains and working of Loom Network
Thoughts:
- Got an overview of Hyperledger Composer & now I’m understanding how participants interacts in a network.
- Sidechains are extensions to existing blockchain which help in the scaling of decentralized apps by running computations on it securing assets as NFT that can be used in
Links:
Progress: Explored Blockstack and its tutorials
Thoughts: Tutorials were pretty informative. Lets see if I use Blockstack for a future project.
Links: Tutorials
Progress:
- Read Bitcoin Script Guide Part 2 via Blockgeeks
- Read about Iran’s national cryptocurrency being a Shitcoin
Thoughts:
- Part 2 covers the logic behind various Bitcoin Transaction scenarios.
- No Comments on Iran’s National Cryptocurrency.
Links:
- The Best Step-by-Step Bitcoin Script Guide Part 2
- Iran’s National Cryptocurrency - Textbook Example of a Shitcoin
Progress:
- Watched Lectures 1-13 in Module 1 “What is Ethereum?” of Ethereum and Solidity: The Complete Developer's Guide
- Read about Ethereum’s next upgrade, Constantinople which could be the biggest Blockchain Test
Thoughts:
- Understood concepts of Solidity Functions, Wei, Gas, Ether, Mnemonic Phrases.
- Constantinople will make the Ethereum network more efficient and less costly in terms of fees and also create a hard deadline for The Difficulty Bomb, a piece of code that would eventually push the blockchain into an Ice Age, where no further blocks can be formed, if left untouched.
Links:
Progress: Read Bitcoin Script Guide Part 1 via Blockgeeks
Thoughts: Brushed up my knowledge of the Bitcoin Script.
Links: The Best Step-by-Step Bitcoin Script Guide Part 1
Progress: Explored Github organizations on cryptoeconomics, DApps, Ethereum by Karl Floersch
Thoughts: A nice go to place for papers regarding Cryptoeconomics, Decentralized Applications, Game Theory, Ethereum.
Links:
Progress: Watched Lectures 11-12 of Blockchain Architecture Design and Use Cases. Concepts covered :
- Bitcoin Consensus, PoW, Hashcash PoW
- Attacks on PoW, PoS, Proof of Burn, Proof of Elapsed Time
Thoughts: Got a good understanding of Consensus in Bitcoin network and the various methods to achieve it.
Links:
Progress: Read about:
- The major things missing in Blockchain Industry
- Electricity Consumption of BTC, BCH, ETH, LTC & XMR
Thoughts:
- First article speaks about Infrastructure suggestions on everything from UX to Interoperability to Digital Reserves to Stablecoins.
- Second article explains how enormous is the electricity usage of such coins, equivalent to power consumption of many countries annually.
Links:
- The Four Major Things Missing In The Blockchain Industry
- Electricity Consumption of BTC, BCH, ETH, LTC & XMR
Progress: Watched Lectures 1-13 in Module 1 “What is Ethereum?” of Ethereum and Solidity: The Complete Developer's Guide
Thoughts: Understood the basic structure of Ethereum Blockchain and the lifecycle of a transaction.
Links: Course Link
Progress:
- Watched Lecture 19 on Blockchain for Enterprise of Blockchain Architecture Design and Use Cases
- Read Smart Contracts, 1994 article by Nick Szabo
Thoughts: Hoping to be well aware of the Use Cases of Blockchain for Enterprise and to have a solid side project in this domain by the end of the challenge. Also, great to see a 2 decade old concept of Smart Contracts having immense applications now.
Links:
Progress:
- Revisited Week 2 Lectures & submitted its quiz of IBM Blockchain Foundation for Developers
- Listened to a podcast by @InsureBlock on Blockchain for Enterprises
Thoughts: As I said, repetition is the mother of all skills. I also feel podcasts deliver substantial knowledge and its retained for long too.
Links: Podcast
Progress:
- Watched Lecture 10-“Distributed Consensus” & completed Week 2 of Blockchain Architecture Design and Use Cases
- Studied Script language for Bitcoin transaction
Thoughts: Didn’t know I’d be learning a language like Script as well. It has some pretty interesting functions though.
Links:
Progress: Read about:
- What’s Next for Apps?
- Govt. of Australia now accepting payment of bills using Bitcoin & other cryptocurrencies
Thoughts: The future of DApps and global acceptance of Cryptocurrencies looks positive.
Links:
Progress: Read about Zero Knowledge Proofs of Identity from a book on Applied Cryptography by Bruce Schneier
Thoughts: The applications of ZKP of identity explained in this book mainly revolve around identity theft.
Links:
Progress: Watched Lectures 8-9 of Blockchain Architecture Design and Use Cases. Concepts covered :
- Bitcoin Scripts, Bitcoin P2P Network
- Transactions, Block Mining, Block Propagation, Block Relay
Thoughts: Understood how a block is formed in a blockchain and its life cycle
Links:
Progress: Revised notes of Lecture 1-7 and read FAQ-1 & FAQ-2 of Blockchain Architecture Design and Use Cases
Thoughts: Always good to revise what is learnt. Repetition is the mother of all skills.
Links: Course Link
Progress:
- Watched Blockchain for Supply Chain by @SirajRaval
- Read about IBM and Maersk’s Blockchain Blockchain Supply Chain platform
Thoughts: Blockchain in Supply Chain Management always intrigues me.
Links:
Progress: Watched Week 2 Lectures of IBM Blockchain Foundation for Developers
Thoughts: Learnt about:
- Use cases for blockchain in business: financial services, supply chains, auditing and record keeping, and letters of credit
- Best practices for getting started with blockchain and applying it to your business network
Links: Course Link
Progress:
- Watched Week 1 Lectures of IBM Blockchain Foundation for Developers
- Explored some of the 40 promising Ethereum DApps
Thoughts: Got an idea of Blockchain and distributed ledger systems in a business environment.
Links:
Progress: Read about Major Blockchain Trends outlined by Deloitte
Thoughts: Good overview of some of the upcoming Blockchain trends.
Links: Major Blockchain Trends outlined by Deloitte
Progress: Watched Lectures 6-7 of Blockchain Architecture Design and Use Cases. Concepts covered :
- Digital Signatures, Public Key Cryptography
- Creation of coins, Double Spending, FORTH-precursor for Bitcoin Scripting
Thoughts:
- Got a clear understanding of how digital signatures and symmetric & asymmetric(public-key) cryptography works
- Bitcoin Script is somewhat similar to Assembly language used in microprocessors.
Links:
Progress:
- Watched Lectures 2-5 of Blockchain Architecture Design and Use Cases
- Read about Vitalik’s new consensus algorithm to make 51% attack obsolete, & requires 99% nodes for attack
Thoughts: The new consensus algorithm could make Ethereum the most secure public blockchain using the new concept of “Observer Nodes”.
Links:
Progress:
- Read about application of Blockchain in Supply Chain
- Watched “Introduction to Blockchain-I (Basics)” of Blockchain Architecture Design and Use Cases
Thoughts: A side project on implementing Blockchain in Supply Chain Management would be fun.
Links:
Progress: Watched Week 2 Lectures of Bitcoin and Cryptocurrency Technologies
Thoughts: Lectures on Distributed Consensus, Proof of Work and Incentivising participants surely creates a deeper interest in Cryptoeconomics.
Links: Course Link
Progress: Read about how the top software and consultancy giants are using Blockchain
Thoughts: Blockchain is beginning to have mass adoption in big firms. It has certainly created an economy and this technology is here to stay.
Links:
Progress: Learn about Cryptographic Hash Functions
Thoughts: They are one of the underlying technologies that make Blockchain so secure
Links:
- The In’s and Outs of Cryptographic Hash Functions
- Cryptographic Hash Function - Video 1
- Cryptographic Hash Function - Video 2
Progress:
- Read about why Web 3.0 matters 2. Read about Blockchain Technology stack behind Web 3.0
Thoughts: Interesting how the web has changed from observation(Web 1.0) of static web pages, to participation(Web 2.0) with other peers using social media, and now changing to decentralization(Web3.0)
Links:
Progress: Watched Week 1 videos of Bitcoin and Cryptocurrency Technologies course on Coursera
Thoughts: Always good to brush up on the basics every now and then
Links: Course Link
Progress:
- Listened to a podcast by Invest Like A Boss.
- Read about Bakkt, a new crypto asset platform, by ICE (parent company of NYSE)
Thoughts: Its good to see companies in Stocks Industry getting involved in the Crypto Market as well.
Links:
Progress: Read articles on blockchain implementation in iOS using Swift
Thoughts: A CocoaPod dedicated to blockchain implementation in iOS would be fun to work with. It would also increase the production of blockchain based iOS Apps.
Links:
Progress: Read about Applications of Blockchain and Cryptokitties 1. Real World Applications Of Blockchain 2. Cryptokitties 3. ERC-721 Standard and its unique tokens
Thoughts: Really excited to see what Blockchain can do in Supply Chain. Would want to work with ERC-721 Tokens to create an interesting project.
Progress: Read about Applications of blockchain in crowdfunding, file storage(IPFS), prediction markets(Augur), sharing economy(Openbazaar). Read about Title registration in land,patents,etc. in Honduras, Georgia, Sweden.
Thoughts: Interesting to see the use of Non Fungible Tokens.
Links: Sweden partnering up with Chromaway for Title Registration
Progress: Read about Zero Knowledge Proofs and ZK-Snarks, and how ZCash uses ZK-Snarks.
Thoughts: Zero Knowledge Proofs add an extra layer of privacy to the blockchain. ZK-Snarks proves a computational fact about some data without revealing the actual data.
Progress: Read about Cryptoeconomics, the underlying principle of how blockchains work.
Thoughts: "Cryptology" brings Hashing, Signatures, Distributed Consensus, Immutability to Blockchain. "Economics" incentivises users to get work done by either issuing tokens & privileges or by rewarding/punishing the participants.