TopPodcast.com
Menu
  • Home
  • Top Charts
  • Top Networks
  • Top Apps
  • Top Independents
  • Top Podfluencers
  • Top Picks
    • Top Business Podcasts
    • Top True Crime Podcasts
    • Top Finance Podcasts
    • Top Comedy Podcasts
    • Top Music Podcasts
    • Top Womens Podcasts
    • Top Kids Podcasts
    • Top Sports Podcasts
    • Top News Podcasts
    • Top Tech Podcasts
    • Top Crypto Podcasts
    • Top Entrepreneurial Podcasts
    • Top Fantasy Sports Podcasts
    • Top Political Podcasts
    • Top Science Podcasts
    • Top Self Help Podcasts
    • Top Sports Betting Podcasts
    • Top Stocks Podcasts
  • Podcast News
  • About Us
  • Podcast Advertising
  • Contact
Not in our directory?
Add Show Here
Podcast Equipment
Center

toppodcastlogoOur TOPPODCAST Picks

  • Comedy
  • Crypto
  • Sports
  • News
  • Politics
  • True Crime
  • Business
  • Finance

Follow Us

toppodcastlogoStay Connected

    View Top 200 Chart
    Back to Rankings Page
    Technology

    Block Shots – Blockchain in 5 minutes!

    Block Shots provides a basic understanding of the most important blockchain concepts in five minutes. Learn about blocks, transactions, consensus, finality, governance, etc. and many more fundamentals while having your morning coffee, commuting, or whenever you’ve got a moment.

    episodes.blockshots.fm

    Advertise
    • Apple Podcasts
    • Google Play
    • Spotify

    Latest Episodes:
    Episode 68 - Use-cases of Zero Knowledge Proofs Mar 20, 2023

    In the last episode, we learned about how zero knowledge proofs work. In this episode, let’s go a step further and explore some of their use-cases.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 67 - How Zero Knowledge Proofs Work Mar 13, 2023

    In this episode, let’s do a double click on Zero Knowledge Proofs. Let’s understand how they work and how they are implemented for blockchains. This episode goes slightly deeper into the ZK stuff, but still in a easy to understand language.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 66 - Fraud Proofs and Validity Proofs Mar 06, 2023

    In the last episode, we touched on how rollups work. In this episode, we go a step further. Let’s understand what are Fraud and Validity proofs and how they are used in rollups.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 65 - How Blockchain Rollups Work Feb 27, 2023

    In the episode 46 of Block Shots, we did a brief introduction of blockchain rollups. In this episode, we go a bit deeper into how rollups work and what components are involved in the block production and verification of rollup blocks.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 64 - What's a Metaverse Feb 20, 2023

    You must have heard about the term Metaverse quite a bit in the last few months, ever since NFTs became famous. In this episode, let’s try to explore the most basic understanding of Metaverse and how does blockchain come into the picture.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 63 - Not your Keys, Not your Crypto! Feb 13, 2023

    You must have heard this phrase quite a few times — Not your keys, not your crypto. Let’s find out, in this episode, what it actually means and how it effects you and your crypto currency holdings.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 62 - How Smart Contracts Work Feb 06, 2023

    Smart contracts are simply code stored and executed on a blockchain. But how do they work? What happens when a user sends a transaction to deploy or execute a smart contract? Let’s find out in this episode.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 61 - Blockchain Gaming Jan 30, 2023

    Most of us are fans of computer or online gaming. In this episode, we discuss how blockchains make gaming more fun and fulfilling. They also allow different revenue streams though novel economic models in the world of gaming. Let’s explore.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 60 - Soul Bound Tokens Jan 23, 2023

    In this episode, the topic is Soul Bound Tokens. In the most basic sense, they are just non transferable NFTs. However, SBTs open up quite a few interesting use-case cases for blockchains. Listen to the episode to learn more about what are Soul Bound Tokens and how they could be used in several blockchain applications.

    Vitalik’s blog post about SBTs - https://vitalik.ca/general/2022/01/26/soulbound.html

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 59 - Directed Acyclic Graph (DAG) Jan 16, 2023

    In this episode, we cover Directed Acyclic Graph or DAG.

    In blockchain, we have blocks as collection of transactions and the current block references the previous one, and a chain is formed.

    In DAG, we don’t have any blocks. Transactions directly reference previous transactions. The nodes verify the previous transactions by referencing them in new transactions.

    When a new transaction is submitted to a DAG, some previous transactions are referenced in it.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 58 - IPFS and Decentralized File Storage Jan 09, 2023

    In this episode, we cover Inter-planetary File System (IPFS) and decentralized file storage protocols in general. We also take a slightly deeper look into how IPFS works.

    * NFT storage. Metadata storage of on-chain assets.

    * Distributed, cannot be controlled by single organization.

    * Censorship resistant.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 57 - Verifiable Credentials Jan 02, 2023

    In this episode, we cover Verifiable credentials. These are a standard to represent digital credentials that could be issued for an identity by an identity, and could be verified cryptographically.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 56 - Decentralized Identifiers (DID) Dec 19, 2022

    We need a standard for representing identity on decentralized systems to use our decentralized identity across several applications.

    Decentralized Identifiers or DIDs allow users and applications to represent and use identity related information in a reusable and app or platform agnostic manner.

    DIDs are described in a DID document. So, the main identifier is the DID, and the associated metadata is stored in the DID document.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 55 - Self Sovereign Identity Dec 12, 2022

    Self-sovereign Identity paradigm refers to identities owned by people themselves without depending on centralized systems or organizations.

    Facebook, Twitter, LinkedIn, GitHub are all centralized identity platforms. Identities created by these platforms are not exportable or usable across apps. Not in user’s control.

    Self-sovereign Identity (SSI) is about getting users the control on their identity using decentralized systems.

    Users create and own their identities on blockchains. They prove ownership using cryptographic signatures. They hold private and PII data in their identity wallets. They could use their identity across several app without copying or creating them again and again. At any time, they could stop sharing their data.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 54 - Automated Market Makers (AMM) Dec 05, 2022

    In this episode, we cover Automated Market Makers or AMMs.

    Traditionally exchanges are based on order books. Buyers and sellers are matched with quantity and price in their orders.

    AMMs are different. They use a conversion formula for trades. They use decentralized liquidity pools for liquidity.

    Any user can send one asset and get another asset from AMM, as long as there is a liquidity pool with enough liquidity in it.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 53 - Front-running Nov 28, 2022

    In this episode, we discuss Front-running of transactions in blockchains. It is the most common type of MEV. We also touch on Back-running and Sandwich attacks.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 52 - Maximal Extractable Value (MEV) Nov 21, 2022

    In this episode, we cover Maximal Extractable Value (MEV) and how it works.

    Miners or Validators are responsible for selecting and including the transactions in a block. They are free to choose any transactions from the mempool. Miners can choose not to select certain transactions. They can also manipulate the order of transactions. This leads to MEV.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 51 - Censorship Resistance Nov 14, 2022

    In this episode, we cover what makes Blockchains and decentralized systems censorship resistant.

    Centralized systems are owned or controlled by organizations. They could limit the usage of some actors depending on local laws.

    Decentralized systems are not controlled by any single party. They are made equal for everyone, based on the rules of the network. No local laws apply.

    Users could send their transaction to several nodes, and one of them would include it in a block. No user is disallowed to use the system.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 50 - Zero Knowledge Proofs Nov 07, 2022

    Blockchains are built for transparency and verifiability. Most of the data on a blockchain is publicly verifiable. For example, all transactions sent to bitcoin are public and anyone could query the balance of any account. Generally, this is not an issue because blockchain accounts are random strings and it is not easy to link an account to a human. This property of blockchains is also called pseudo anonymity.

    However, sometimes we need privacy on blockchains for some use cases. For example, let’s say two supply chain participants want to transact over a blockchain and they don’t want to disclose their vendor costs to other participants who could be their competitors. In such a scenario, we need a way to hide data on the blockchain. Zero-knowledge proofs are one way of doing it.

    Zero-knowledge proofs allow a prover to prove that they have some data without disclosing the actual data itself.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 49 - Light Clients Oct 31, 2022

    In the episode 3 of the podcast, I covered different kind of blockchain nodes and one of them is light client. In this episode, I’ll cover light clients in a bit more detail.

    Light clients are special in the sense that they allow more decentralization. Unlike full nodes, light clients do not process all the transactions and blocks. They only synchronize block headers and are much light in terms of resource usage. Any user could run a light client without using any specialized hardware or servers.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 48 - Blockchain Bridges Oct 24, 2022

    There are different blockchains built to serve different kind of users and use-cases. Bitcoin is for peer to peer transfer of currency while Ethereum is a smart contracts platform. Flow is for NFTs while ZCash is for private transactions. What if applications and users on these blockchains need to interact or integrate with each other?

    Imagine a use-case where a smart contract on Ethereum, on successful execution, needs to transfer some bitcoin from one account to another on the Bitcoin blockchain.

    This is where blockchain bridges come into the picture. Bridge allow message passing between two blockchains. Using a bridge, a user on one blockchain could move their assets or token to an account on a different blockchain. The way it works is by locking or burning assets on the source chain and then minting them on the destination chain. The communication to mint the assets on the destination chain is done via messages sent over bridges.

    Simply put, bridges deploy smart contracts on both source and destination chains and have message relayer software in between the two chains. The user takes action on the source chain smart contract which emits an event. Based on the event the message relayer relays a message to the destination chain. The smart contract on the destination chain then executes the logic on the destination chain based on the message received.

    Bridges have different kinds of security models. Trusted and trustless. In trusted bridges, some third parties operate relayer nodes and bridging smart contracts on either side. The users and DApps have to rely on the honesty of these third parties. In trustless bridges, the state of either side (chains) is verified using smart contracts and the dependency on third parties is minimal.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 47 - Lifecycle of a Block Oct 17, 2022

    A block is a collection of transactions and some metadata. Let’s take a look at how a block is produced. Let’s just assume that according to the algorithm we already have the node (validator or miner) selected to produce the next block.

    The first thing that this block producer node would do is to choose which block to build on. Remember blockchain is a chain of blocks. For each new block we need to refer to the hash of the previous block. Hence, the node would first choose or select which block to build on. Recall that all nodes in a blockchain store all the data about the state of the blockchain. So, the node would just pick the hash of the latest block from its local state.

    Next, the node would pick the transactions waiting in its transaction queue or mem-pool and create a new block by ordering and packaging them together. This process is call block building. The output would be a block — a data object with metadata and a list of included transactions.

    Once the block is built, it is then broadcasted on the peer-to-peer network for other nodes to download and verify it. The details of broadcast and propagation are depend on the specific implementation of networking protocol for different blockchains. Each node in the network then verifies the block by executing all the transactions in it. If they find everything ok, they update their local state based on the transactions in the block. And the block is added to the chain.

    This is how a fully decentralized network of nodes updates the state of a distributed ledger.

    The next block is the built on top of this block, and the process continues.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 46 - Rollups Oct 10, 2022

    Rollups are layer 2 blockchain scalability solutions where the execution of transactions is moved off the main blockchain. Basically, the layer 1 chain is used for keeping the ledger state and providing consensus, while the off-chain layer 2 framework — rollup-is used to execute the transactions and submit the updated state to layer 1.

    This approach decouples the work to store the ledger state and execute transactions between the layer 1 and layer 2 respectively. The way it helps achieve scalability is by executing many more transactions within the same block period.

    The users send transactions to the rollup. The rollup gets the previous state of the ledger from the layer 1, executes multiple transactions based on this state, and then submits the updated state to the layer 1. The rollup also “rolls up” or bundles all the transaction data and stores it on layer 1 so that any other verifier or rollup node could check the correctness of execution.

    There are two kinds of rollups — optimistic rollups and Zero Knowledge (ZK) rollups. In optimistic rollups the transaction execution is verified by other verifiers and they could submit a fraud proof if they find anything wrong with it. While in ZK rollups a cryptographic proof of correct execution of transactions is also submitted along with the updated state and transaction data. Optimistic rollups are hence less secure than ZK rollups, while ZK rollups are slower because of additional proof generation.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 45 - Layer 1, Layer 2, and Scalability Oct 02, 2022

    Initially, there were only one kind of blockchain networks where ledger storage and execution of transactions both happened on-chain. These blockchains were not scalable because of the topics and reasons mentioned in some of the previous episodes.

    To achieve scalability and throughput, some solutions try to decouple or divide this work across on-chain and off-chain systems. Some solutions move the execution of tractions outside the chain while keeping the ledger state on the chain. Some other solutions delegate the work to smaller blockchains outside the main chain.

    All the these solutions, broadly, come under the umbrella of layer 2 scalability solutions. The main chain where the ledger state and security comes from is the referred to as layer 1.

    The basic concept is to scale layer 1 blockchains, we offload or delegate some of the execution to layer 2 solutions. The security comes from layer 1 while the scalability comes from layer 2.

    For example, Ethereum and Bitcoin are layer 1 blockchains and plasma and lightning network are layer 2 solutions.

    There is one more layer — layer 0. Layer 0 blockchains connect and secure layer 1 blockchains. This is more in terms of blockchain sharding. When we have multiple layer 1 blockchain shards and when we need to verify and connect them all, we use a layer 0 chain. An example of a layer 0 blockchain is Polkadot.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 44 - Block Gas Limit, Block Period, and Blockchain Scalability Sep 26, 2022

    When we talk about blockchain scalability — which has been the theme for some of the current episodes — we must understand how the block gas limit plays an important role in the scalability discussion.

    In general, for any public smart contracts blockchain, it is important to measure and charge for the resource usage while executing smart contract logic. For this, we have gas. The concept of gas makes sure the user pays for the logic they want to execute on the chain. This discourages several kinds of attacks on the blockchain.

    Now let’s understand what block gas limit is. A blockchain block is basically a collection of transactions along with some metadata. A transaction is a packet of data that represents a message from a user to a blockchain. So, in totality, a block is just a bigger packet of data. Another thing is blockchains are peer to peer networks. Which means nodes propagate blocks to their peers during the consensus process. There is also a concept of block time which is the period between the production of two blocks.

    When we want to propagate a packet of data (a block) across several nodes of a network (blockchain) within a time limit (block period), we need to make sure the size of the data packet is not too large. This allows the block to propagate to maximum number of nodes so that it could be verified in a fully decentralized manner. Hence we need to put a limit on the size of the block.

    How do we limit the size of the block? By limiting the number of transactions in it. And how do we measure the size and complexity of transactions? Gas. Hence, the block gas limit is the maximum amount of gas which could be used by transactions in that block.

    If we increase the block gas limit, we will have to increase the block period as well. And if we increase the block period, we will have to wait longer for the transactions to be executed by the blockchains. This is how the block gas limit and block period impacts the blockchain scalability.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 43 - The Ethereum Merge Sep 19, 2022

    Since its beginning, the Ethereum network has been using the Proof-of-Work consensus mechanism. As we know, PoW consumes a lot of energy. Now the Ethereum network is moving to Proof-of-Stake consensus mechanism.

    The merge is when the switch from PoW to PoS is going to happen.

    Since the December of 2020, there has been a PoS network running in parallel, called the beacon chain. The existing PoW network (main net) and the beacon chain would merge into one and the block production would happen via PoS mechanism. That’s the merge.

    All accounts, balances, and smart contracts history of the current Ethereum network would remain intact and only the block production mechanism would change. Before merge — PoW blocks. After merge — PoS blocks.

    Read more about the merge here — https://ethereum.org/en/upgrades/merge/

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 42 - Blockchain Performance vs. Scalability Sep 12, 2022

    When it comes to blockchains, we use the terms performance, scalability, transactions per second (TPS) many times interchangeably. But these are all very different things. I recently read an article on a16z crypto where all these terms were nicely explained and clarified. I encourage you to read this article.

    https://a16zcrypto.com/why-blockchain-performance-is-hard-to-measure/

    In this episode of the podcast, I am sharing my understanding, mainly after reading this article, of blockchain performance and scalability and how they are different from each other.

    Basically, performance is about the current throughput of a blockchain while scalability is about the capability of a system to increase performance by taking certain measures.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 41 - Blockchain Sharding Sep 05, 2022

    In the last episode I spoke about blockchain scalability and how sharding is one of the ways to achieve that. In this episode, let’s do a double click on blockchain sharding.

    Sharding, in general, is a term associated with traditional databases. When a database grows too big, it could be divided into smaller databases across several servers based on some property of data. For example, a database with all the names of people in an organization could be divided into 26 servers, each having the names starting with one letter of English alphabet. Each of these servers would be shards of the database. So this is about sharding of databases.

    Now let’s consider sharding in blockchains. We know blockchains don’t scale much because all the nodes have to verify all the blocks. Sharding in blockchains is about dividing a blockchain into smaller sub-blockchains and each of these sub-blockchains maintains and verifies their own state. The blocks of these sub-blockchains are produced, validated, and verified by only a subset of nodes. This allows the work to be distributed and not all the nodes have to do all the work. Which, in turn, allows for more scalability and performance.

    Sharding in blockchains is being implemented in several ways. Some blockchain platforms have several sub-chains running in parallel and users could use any of these chains for their smart contracts. These sub-chains are also interconnected so that the smart contract and DApps could call each other across different chains.

    Some other platforms go a step further to make things more secure by validating the blocks produced by sub-chains using a top-level chain. This allows more security and decentralization while achieving scalability.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 40 - Blockchain Scalability Aug 22, 2022

    Some of you must have seen on the internet that how Bitcoin and Ethereum and much slower than Visa and other centralized financial systems. The reason is blockchain scalability trilemma. Bitcoin and Ethereum have chose to be more secure and decentralized, and hence they have to give up scalability.

    In the last episode, I spoke about the Blockchain Trilemma. About how blockchain could have only two of decentralization, security, and scalability at a time. I also mentioned that there are some approaches and solutions being implemented and researched to circumvent the trilemma. The main purpose of these solutions is to make the blockchains scalable while keeping them decentralized and secure enough.

    Most of these solutions fall into the broader category of blockchain scalability solutions. In this episode, we’ll briefly take a look at some of these.

    Sharding: The first of the blockchain scalability solutions is sharding. Basically sharding is about distributing the production and verification of blocks into a subsets of nodes so that all the nodes don’t have to do all the work for all blocks. To achieve scalability, we distribute the workload among the nodes using sharding.

    Layer 2 Scalability: Layer 2 solutions are about offloading the computation and execution of transactions outside of the main blockchain. The blockchain is used for verification and state updates only. This way the heavy work of computation is not done by the nodes of the blockchain. There are several layer 2 solutions — rollups, side-chains, etc.

    On a broader level, these are the two main categories of blockchain scalability solution. However, there are several sub-categories of with different approaches towards sharding and layer 2 solutions.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 39 - Blockchain Trilemma Aug 18, 2022

    Blockchains are decentralized networks where all the data is stored and verified by all nodes. To make blockchains usable for real world use cases, they should process large amounts of data. But when all nodes have to process all the data for each block, it is not easy to process a lot of transactions quickly. Blockchains are also public and permission-less networks, hence it is critical that they stay secure.

    The blockchain trilemma says that blockchains could have any two of decentralization, security, and scalability at a time.

    For blockchains to be decentralized, they should be able to run on commodity hardware so that many users could run the nodes.

    Security, in context of blockchains, means that they can continue to work correctly and honestly, even if large number of nodes are byzantine. See last episode for byzantine faults.

    Scalability is simply processing large number of transactions per unit of time.

    If a blockchain has smaller number of nodes verifying the data, it is not decentralized enough. However, it could process more transactions and could still be secure if these nodes don’t collude.

    If a blockchain has many nodes processing all the data, then it would be decentralized and secure. But it won’t scale much.

    If a blockchain has nodes running on large servers only, then it could be secure and could process more transactions, but it is not decentralized enough.

    There are several approaches being used or researched to circumvent the blockchain trilemma. Stay tuned for next episodes to learn about them.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 38 - Byzantine Fault Tolerance Aug 08, 2022

    Blockchains are basically peer to peer networks of nodes. The chain progresses when majority of the nodes or peers agree on the state of the blockchain and the validity of the next block. What happens when these nodes don’t agree or when they misbehave?

    In a network of nodes, there could be a situation that some of the nodes are either offline, or under an attack, or just not functioning as expected. Also, these nodes are connected with each other using usual networking technology. It could also happen that the network doesn’t work properly between some of the nodes for some interval of time. All of these cases could result in a situation when one or more of the nodes don’t operate as per the rules. Such a situation is called a byzantine fault.

    Blockchains, in general, can tolerate byzantine faults up to a certain extent. For example, a network can continue to produce blocks and function normally even if some of the nodes are byzantine. For example, the Bitcoin blockchain can continue to produce blocks even if 1/3 of the miners become byzantine.

    The ability to tolerate byzantine faults comes from the consensus algorithms used by blockchain networks. Most of the well known consensus algorithms are designed with assumptions about potential byzantine faults and their impacts on the functioning of the network. Tolerating byzantine faults is one of the most basic requirements for public permission-less decentralized networks.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 37 - Lifecycle of a Blockchain Transaction Aug 02, 2022

    The user or DApp composes a transaction with information like input parameters, cryptographic signature, and some metadata about the blockchain network and a serialized data object is created out of it. All of this happens outside the blockchain using Wallets or DApps.

    Transaction Submission

    This serialized transaction data is then sent to one of the blockchain nodes using the RPC API.

    Transaction Queue

    Once the transaction is submitted to the node, some initial validation checks are run on it. If it is found valid, it is placed in the transaction queue of the node. At this time, it is also broadcasted to other nodes connected as peers to this node. Other nodes also run validations on the transaction.

    Block Proposal

    The transaction, along with other transactions, is then picked up by one of the nodes (assuming it has reached that node’s transaction queue) to be included in the next block they propose. Which node creates the next block is part of the consensus and block production algorithm. This could be different in different blockchain protocols. One thing that influences the inclusion of transactions in the block is the transaction fee paid by the user. The transactions are generally prioritized according to the fee.

    Consensus

    Once one of the nodes proposes a block, it is then propagated to other nodes in the network. All other nodes verify the block by executing all transactions included in it. Once majority of the nodes successfully verify the block, they reach consensus.

    Commitment

    Once the network agrees on the new block’s validity, all the nodes update their local state of the blockchain by executing all transaction in the block and committing that state. The next block would be built on top of this new state.

    At this time, the effects of the transaction are visible because the state of the blockchain is updated across all nodes.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 36 - Anatomy of a Blockchain Node Jul 25, 2022

    Blockchains are peer to peer network of nodes. These nodes connect with each other and come to consensus on the state of the blockchain. All these nodes are basically computers running the blockchain node software. Let’s look at all the components of a blockchain node that come together to make it all possible.

    * Storage: This is the most basic component of the blockchain node. This is where the state of the blockchain is stored. In general, this is simply a database optimized for blockchain use-cases. All the Merkle tree logic and related functions are implemented in the storage component of the blockchain node.

    * Networking: Using the networking component, the nodes connect with each other and pass messages. Without the networking component, there would be no network, and there would be no consensus. This component is mainly comprised of two sub-components — discovery and message passing. Using discovery, the nodes find and connect with their close peers, and using messaging they pass information required for sharing state and voting on consensus.

    * Consensus: The consensus engine is responsible for getting agreement on the state of the blockchain among all the nodes. All the logic about PoW, PoS, etc. is implemented in the consensus algorithm. In general, the consensus algorithm is responsible for finding which node would produce the next block of whose block would be accepted, and getting the votes from all peers on the validity of the block.

    * Transaction Queue: When a user submits a transaction to a blockchain node, and before this transaction is included in a block, it is temporarily stored in the transaction queue on the node for initial validation checks. The nodes also share these transactions with other nodes, so that any node could propose them in the next block as per the rules. Transaction queue is also knows as the mem-pool.

    * Node API: The node API is the user facing API that is used by users and applications to interact with the blockchain nodes. When the users submit a transaction, they use this API. The API is also used for several other purposes like reading the state, etc. Without an API, the users and apps won’t be able to interact with the blockchain.

    * State Transition Function (STF): The STF of a blockchain is the most important component and it represents the core business logic of the blockchain. In the STF, all the rules about processing of transactions and their execution are implemented. The state of the blockchain is updated based on these rules written in the STF. For example, in the Bitcoin blockchain, the STF implements the logic about transfer of bitcoins from one account to other(s) when the users submit transactions.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 35 - Oracles Jul 18, 2022

    Blockchains form consensus when all the nodes agree on the data they process. This depends on the condition that the computation at each node should be deterministic. That means each node should arrive at the same output, for a particular set of inputs, no matter what hardware they are using.

    The deterministic nature of blockchain logic ensures strong consensus. For this reason, blockchains work on the data that is already on the chain or supplied by the transactions from the users as input. By design, blockchain don’t depend on external data sources when executing transaction logic.

    However, in several use cases, external data is needed to be supplied to smart contracts to execute the end to end logic. Let’s take an example. Let’s say we have an insurance use-case implemented using smart contracts on a blockchain. The insurance amount is held in the smart contract as an escrow, and it would be paid to the user/customer only when certain conditions are met. The data about these conditions and their status is in an off-chain database. How would the smart contract know if the condition is met?

    This is where oracles come in. An oracle is a service that provides external data to the blockchains. Using oracles blockchains can query data from external services or databases for consuming in the on chain logic. In the example I shared about, if an oracle is used, it would provide the data about the insurance payout conditions to the smart contract, and based on that the amount would transferred to the recipient.

    Oracles generally work in an asynchronous manner. That means they are not directly called by the smart contract just like any other code. Instead, oracles are configured to listen to specific events from the smart contracts. When the smart contracts need data from the off-chain databases, they emit certain events and the oracle is triggered to fetch the data. Once the oracle gets that data from the data source, it then submits it to the smart contract as a transaction input.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 34 - On-Chain vs. Off-Chain Data Jul 11, 2022

    Blockchains are decentralized systems and are relatively slower than the centralized distributed systems. This is because decentralized systems have each node processing all the data so that they could not be hacked or influenced by a single point of control or failure. Processing all the data by all the nodes also makes things slow.

    In order to still make use of blockchains and decentralized systems in real world use-cases, where millions of users could use them in spite of their low throughput, we have to follow certain best practices. One of these best practice is about what kind of data should be stored on and processed by the blockchains.

    This definitely depends on the use-case we are using blockchains for, but it is an important design decision to make blockchains scale. For example, in use-cases like supply chain and data reconciliation among several parties, we should only put that data on blockchain which is critical for verification and consensus. All other data should be off the chain.

    By off the chain data or off-chain data, I mean to say the data that could be stored or processed by conventional services and databases, outside the blockchain network. And the data that must go on the blockchain for consensus is generally referred to as on-chain data.

    When a blockchain-based application or solution stores and sends less data to the blockchain, it performs more efficiently. This is directly related to the fact that if we put less data on the chain, the nodes of the blockchain network have do less work in getting consensus and the system performs faster as a whole.

    In most cases, to make sure blockchains perform efficiently, they are used as verification machines and not as databases. The data is stored on conventional distributed databases, but it is verified on the blockchain.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 33 - Distributed vs. Decentralized Systems Jul 04, 2022

    Conventional distributed systems divide the load/work across many nodes (servers). For example, in an online banking system, when the users send their requests or transactions to the system, they are then sent to one of the servers to process them. This is how large banking systems are able to serve large number of users. They deploy many servers, and distribute the user load across them. This is a typical distributed system. Work is done by one of the nodes.

    However, when it comes to blockchains, the processing of transactions coming from the users is very different. When a user sends a transaction to a blockchain, it is then propagated to all the nodes in the network, included in a block by one of the miners (or validators), and the block is verified and committed by all the nodes. This is a decentralized system. Work is done by all the nodes to achieve strong consensus on the state.

    In essence, the decentralized systems are fundamentally different from distributed systems. While in distributed systems we can add more servers to handle more load, we cannot do that in decentralized systems. Also, because distributed systems have a single point of control and failure because they process the data only at a single node. Decentralized systems don’t have that shortcoming because all nodes in the network verify the data. This makes decentralized systems much more secure.

    Because of these fundamental differences, distributed systems are also relatively faster than decentralized systems. This is natural because when you do the same thing at all nodes, it would take more time than doing the same thing at a single node. So, we have a tradeoff between scalability and security.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 32 - Decentralized Autonomous Organizations (DAOs) Jun 27, 2022

    Blockchains allow seamless and transparent distribution of tokens and these tokens can represent pretty much anything. It can be something of a financial value, identity, or right to vote that can be tokenized on the blockchain.

    Recall that to update the state of a blockchain, users send signed transactions, and based on the validity of these transactions the updates are applied to the blockchain. When an update requires multiple users to approve it, we use multi-signature transactions and wallets.

    Now let’s combine these two concepts and imagine an organization’s entire governance based on a blockchain, where users have the right to vote by sending transactions. We can design an organization by programming the decision-making logic in the smart contracts. This logic can then be used to govern the finances, strategy, and other important aspects of an organization in a fully transparent and decentralized manner.

    Users can have voting rights based on the tokens they own. The voting can be done using any of the popular approaches — a majority, supermajority, delegation, etc. The decisions made using this process can be applied automatically by distributing funds in specific account, or approving strategy and in many other ways.

    These organizations that could function autonomously based on the business logic or governance rules programmed in blockchains are called Decentralized Autonomous Organizations (DAOs).

    It is also worth pointing out that while the governance process of DAOs is more inclusive and transparent, it is still a challenge to apply the decisions made by a DAO in the outside world in a legal and enforceable manner.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 31 - Non-Fungible Tokens (NFTs) Jun 20, 2022

    If we look at the dictionary definition of the term fungible, it says “being of such nature or kind as to be freely exchangeable or replaceable, in whole or in part, for another of like nature or kind.”

    https://www.dictionary.com/browse/fungible

    Let’s take an example. If you have a 1 dollar bill, you can exchange it for another 1 dollar bill. When we deposit cash in a bank and then withdraw some or all of it, we don’t get back the same currency notes that we deposited. But we still accept that money because these notes have the same total value. Hence, fiat currencies are fungible.

    The same applies to cryptocurrencies, a bitcoin can be easily exchanged for another bitcoin because all bitcoins have the same value.

    Non-fungible would then mean that something cannot be exchanged for another thing of the same kind. Let’s take an example — an original painting from a painter cannot be exchanged for another painting of the same kind because there is only one original and it has it’s value. Think Mona Lisa. You cannot exchange one Mona Lisa with another because another doesn’t exist.

    The same concept applies to Non-Fungible Tokens. NFTs are used to represent unique assets on the blockchain. These unique assets could be anything — a painting, a gif, a piece of land, etc. This is important to note that NFTs are only representing physical or digital assets on a blockchain. Just like we represent the ownership of a piece of land using registry papers, we can represent the ownership of something unique by using an NFT.

    NFTs make sense because they represent assets that have some specific context associated with them. This context makes these assets unique and hence non-fungible. Examples of such context are — a particular art by a specific artist, a piece of land with coordinates on Earth or Mars or Moon, the original manuscript of a particular book, etc.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 30 - Crypto Exchanges Jun 13, 2022

    Exchanges allow users to buy, sell, and exchange cryptocurrencies. Just like we have stock and forex exchanges for buying and selling shares and foreign currencies, similarly we have exchanges for cryptocurrencies.

    In general, crypto exchanges allow buying and selling of cryptocurrencies using fiat currencies or stablecoins or other cryptocurrencies. For example, you can buy bitcoin using USD and sell bitcoin for USD. You can also convert bitcoin into ether and vice versa, using a crypto exchange.

    Crypto exchanges are of two kinds — centralized and decentralized.

    Centralized exchanges are basically order book based platforms that manage keys for the users, and make blockchain transactions on behalf of the user. All trades go through a central server. They allow exchange of crypto with fiat and accept fiat payments and withdrawals. Centralized exchanges generally provide custody services to users for their purchased tokens. This means the users don’t have control on their wallets when transacting using centralized exchanges.

    Decentralized exchanges are implemented using smart contracts (or logic on a blockchain) and allow users to directly make trades on the blockchain. They are more secure and allow full control of keys to the users, but they only work within the blockchain network and do not allow exchange with fiat currencies. The smart contract logic acts as automated market maker and matches the demand-supply for making token swaps. The market making and swapping of tokens is based on liquidity pools.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 29 - Stablecoins Jun 06, 2022

    Cryptocurrencies are generally volatile. There are several reasons for that — low liquidity, speculation, and several other factors. There could be more reasons, but generally speaking, cryptocurrencies have been relatively more volatile compared to fiat currencies.

    This volatility does not help with the value transfer use cases of cryptocurrencies. If the price is not stable, the value transferred or committed may not represent the services provided in return. For example, if a buyer and seller agree to transact using a cryptocurrency for a service or product, and by the time it is delivered if the value of that cryptocurrency changes too much then the entire trade could be unfair or undervalued, or overvalued.

    To avoid these volatility issues and to still use the features of cryptocurrencies (decentralization, middlemen-less transfers, security, etc.), stablecoins are used.

    Stablecoins are cryptocurrencies backed by or pegged to other currencies or commodities that have relatively stable prices. Generally, stablecoins are pegged to fiat currencies (USD, EUR, etc.), precious metals (Gold, etc.), and a combination of other cryptocurrencies.

    Stablecoins are of two types — reserve-based and algorithm-based. Reserve-based stablecoins are minted based on the off-chain reserve maintained by the issuer. For example, if an issuer maintains a reserve of X USD in a bank then they can mint the same quantity of USD pegged stable coin on a blockchain. Algorithm-based stablecoins are less popular and work based on an algorithm that mints and burns coins based on the demand and supply, maintaining the stability of the price.

    While providing a stable price, stablecoins also provide most of the benefits of cryptocurrencies like secure and trust-less transfers, pseudo-anonymity, etc. Hence, they are preferred as a value transfer mechanism.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 28 - Central Bank Digital Currency (CBDC) May 30, 2022

    Central bank digital currencies broadly refer to the digital versions of fiat currencies.

    The fiat currencies are issued by the central banks of respective countries. These currencies are issued based on the economic conditions and needs for trade and commerce in a country. Previously, the fiat currencies were issued based on gold reserves. The process of minting and maintaining these currencies requires quite a bit of work in terms of printing, logistics, transfers, reserves, etc. There is a lot of paperwork and many of layers of bureaucratic processes in currency management at the central bank level.

    On the other hand, digital/crypto currencies like bitcoin are issued on a decentralized network and are relatively easy to manage considering they are governed via code and consensus rather than via bureaucratic processes. This brings in a ton of efficiency.

    Inspired by the idea of crypto currencies, some of the fiat currency issuers have been experimenting with the idea of issuing digital versions of fiat currencies using decentralized systems. This could allow more liquidity, more security, and faster digital payments while simplifying processes and overheads.

    CBDCs would also allow increased efficiency in cross-border payment settlements where the processes take quite a bit of time at in the current system.

    How open and transparent CBDCs would be? Would they all follow the same practices and would they all have their blockchain? Would they even use blockchain or just be a sufficiently efficient centralized digital payment system? These and many more questions are still unanswered while the idea of CBDCs is still in the exploratory stage.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 27 - Liquidity Pools, Swaps, and Yield Farming May 23, 2022

    Financial services are generally based on transfer of funds between parties. For example, when we borrow money from banks that money is deposited by someone. They earn interest for depositing their money, and we pay interest on the loan. The money moves between the depositor and borrower through the bank. On a larger scale, many people deposit money at the bank and the bank then lends that money to potentially many borrowers.

    This involves the bank to manage large amount of currency, which, in turn, allows the bank to provide several financial services (forex, etc.). The bank basically pools money from many depositors to create a liquidity pool. The bank is also a centralized service provider.

    Now let’s try to apply the same concept to decentralized systems. To provide financial services using decentralized applications — also known as DeFi or Decentralized Finance — users deposit (lock) their tokens in smart contracts to help create liquidity pools. Borrowers then borrow these tokens as loans and pay interest. Depositors earn interest for locking their tokens.

    Liquidity pools are the basic building blocks and enablers for financial services in the DeFi space. In addition to simple lending, liquidity pools are also used in decentralized exchanges for token swaps. In such setting, the pools are maintained in token pairs so that users can easily swap or exchange their tokens with other tokens. The fee charged for the swap is (partly) distributed among the pool contributors/depositors.

    The term for earning from contributing to liquidity pools is called Yield Farming. Users lock their tokens or token pairs in DeFi smart contracts and, in return, earn tokens. These could be some percentage of the same tokens and/or DeFi app specific tokens. Several DeFi apps provide features and strategies for users to maximize their yield by locking their tokens in multiple pools.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 26 - Decentralized Finance (DeFi) May 16, 2022

    Decentralized Finance is more of a field comprising platforms, standards, and applications focused on providing financial services using decentralized technologies.

    Generally, when it comes to traditional financial services, we deposit savings, borrow money, buy insurance, etc. Most of the time we interface with financial institutions that govern the terms and and conditions of these services. The process is like a black box, too opaque considering money matters. We, as users, do not have a lot of control over how our money is being used by financial institutions.

    Also, there are too many steps involved in the processes of applying for and receiving these services from traditional financial institutions.

    What if these financial services became more transparent so that we have full visibility about your money? Also, what if you don’t have to fill a lot of forms just to get a small loan?

    This is what DeFi intends to solve. It allows you to have visibility about your money, gives you a right to say where your money goes, makes many things possible without too much paperwork, and so on.

    In simple terms, DeFi applications comprise value-bearing tokens, governance tokens, financial equations, and terms programmed in smart contracts. Using these smart contracts and DApps based on them, some users deposit their tokens in liquidity pools and others borrow them and pay interest. Similarly, other financial services like insurance are built on top of these smart contracts.

    Music: https://www.purple-planet.com


    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm

    Episode 25 - Multi-Signature Wallets (MultiSigs) Sep 21, 2020

    Every transaction in a blockchain is signed by the sender. The signing of transactions is done using cryptographic signing algorithms, as described in episode 6 of the podcast.
    In some scenarios, to perform an operation on the blockchain, there is a need to have more than one signatures on a transaction. Think of bank accounts with joint holders. Similarly, blockchain wallets could also be owned jointly by a group of accounts. These wallets are called multi-signature wallets or multi-sigs.
    Multi-signature wallets are generally implemented using smart contracts. One of the smart-contract function acts as a gatekeeper for other functions and keeps track of the number of accounts needed to call a function. Once enough accounts have called this gatekeeper function, it then forwards the call to the intended function. This is how, in simple terms, multi-sigs work.
    Because they are implemented using custom logic on the blockchain, multi-signature wallets can have any combination of signatures configured to use. We can have a threshold, majority, super-majority, specific accounts, and many other kinds of signature configurations in multi-signature wallets as per the need of our application.
    Multi-sigs are useful in scenarios where a joint decision is needed to make a transfer or execute a function on a blockchain. For example, the transfer of funds from an organizational account where all or some of the board members must sign the transaction individually.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 24 - Initial Coin Offering (ICO) Sep 14, 2020

    Generally, to start a technology business, there’s some initial funding required to build the product. Generally, this is done using conventional ways like VC funding or bank loans. The VCs give money and they take some ownership in the company.
    There is another way of funding, called crowdfunding. Instead of asking a few VCs and/or banks to give you money, you ask a large number of people to fund your startup and in return, you either give them stake or a right to use your application.
    One way of doing crowdfunding is by doing an Initial Coin Offering, better called ICO. In blockchain applications, the developers create tokens so that their users can spend them to use the application. Selling these tokens is a way for the developers to get paid for their work.
    In an ICO, these tokens are offered in advance, as a future right to use the application when it is ready to use. To do an ICO, the founder of a blockchain startup generally writes a white paper to detail their idea and its implementation. If the users find the application useful, based on this whitepaper, they purchase tokens to use this application in the future. This purchase of tokens helps the founders to get initial funding to build the application.
    If the application becomes successful then the tokens have a lot of demand. The users who acquired these tokens in the ICO can then make profits by selling them at higher prices because of the demand.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 23 - Tokens Sep 07, 2020

    Tokens are digital assets representing a user’s right to use a system/service/application or to participate in a process based on blockchain.
    Tokens are similar to cryptocurrencies in terms of issuance and distribution, but they are different in terms of value. A cryptocurrency can be used as a medium of exchange, while a token has value only utility or security value.
    Tokens are mainly of two types — utility tokens and security tokens.
    Utility tokens are used to represent a user’s right to use a decentralized application. In general, to make sure that the DApp developers are paid for their work, utility tokens are used as a paywall for using DApps. The users have to purchase tokens for an app in order to use it. The value of utility tokens is based on the actual utility and popularity of the underlying DApp.
    Security tokens don’t have a utility associated with them, but they are seen more as an investment into a project to make profits. When the market value (users, usage, popularity) of a project or a company increases, the value of securities also increases and the investors can make a profit.
    Tokens are created and issued using smart contracts. In token smart contracts, there are specific functions that mint and issue tokens to users. Users can buy the tokens by calling these functions, and by making payments in native cryptocurrency of the blockchain on which the smart contracts are deployed.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 22 - Proof of Stake Aug 31, 2020

    Proof of Stake is a blockchain consensus algorithm where the nodes put an economic value on stake to participate in block production. The problem domain is the same — to find out who should produce the next block for the blockchain.
    In PoS networks, the block producing nodes are called validator nodes. The reason being — the consensus on blocks is reached via validation and voting and not through winning a race (as in the proof of work networks).
    In PoS, the solution is two-fold. First of all, a pool of validators is created. Any node that wishes to become a validator, puts some economic stake in the network. This stake is in the native cryptocurrency of the network and generally has a minimum value threshold. All or a selected subset of nodes who put their stake in the network become part of this pool of validators.
    To produce the next block in the chain, one of these validators in the pool is chosen using a round-robin or a pseudo-random algorithm. This selected node then proposes a new block. The other validators validate and vote on this block. If the majority of validators vote in favor of this block, then this block is accepted by the chain. In case the proposed block is bad or it doesn’t follow the rules of the chain, then the block producing validator is punished by the network and their stake is taken away (slashed).
    Proof of stake has an advantage over proof of work that it does not waste all that energy in mining.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 21 - Proof of Work Aug 24, 2020

    Blockchains are updated by adding new blocks at the end of the chain. In a permissionless and decentralized network, it is hard to find out who (which node) gets to add the next block. This is like selecting something from a collection of things.
    One way of selecting one thing from a group of things is to get them to race against each other. Whoever wins gets selected. This is also how proof of work is used for selecting a miner node from the network of multiple nodes to produce the next block.
    Proof of work is basically about producing some data that can be verified easily, but it is hard to produce. In the Bitcoin blockchain, this data is a hash with a predefined number of zeroes as its prefix. As hashing is a completely random process, the only way to produce such a prefixed hash is by trial and error.
    All the miner nodes race against each other to find our such a prefixed hash by repeatedly hashing the block data (with different nonce each time). Whoever wins the race and produces a block hash that satisfies the conditions, gets to add the next block and take the rewards.
    Because all the nodes constantly hash so much data, they use a lot of computing power too. All this compute power needs a lot of electricity as well. This is why the Bitcoin blockchain consumes so much energy.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 20 - Double Spend Aug 17, 2020

    In the case of fiat currency, when you spend it, you physically hand over the currency note to the other party. Also, in case of a bank transfer of fiat currency, the update of balances in sender and receiver accounts is done by a centralized server having full control of the transaction and the accounts. In both scenarios, in fiat currency, it is made sure that what is spent is actually spent.
    But in the case of a decentralized system with digital currency, there could be scenarios that the already spent currency could be spent again. This is called the problem of double spends.
    Before we go further into double spends, it would be good to get a refresher on transactions, blocks, finality, and consensus.
    Let’s take an example — if you have a balance of 10 coins on a blockchain. Now you send these 10 coins to a user in a transaction. Then you send the same 10 coins to another user in another transaction. You send both these transactions to two different nodes in the blockchain network. What you have tried to do here is a double spend because you tried to spend the same coins twice.
    In a normal situation, one of these transactions will be marked invalid as soon as another one is already included in a block. However, in a rare situation, a network delay could cause a temporary fork on the chain and both of these transactions could be included in different blocks at the same height. In such a scenario, the blockchain could take some time to recover from the fork. Once the canon chain is decided using the consensus and finality rules, one of the blocks would be considered final while the other one invalid. In the interim, both transactions would be considered valid by different nodes and that could cause confusion between the receivers.
    When transacting on a blockchain, you must wait for the block, having your transaction, to be finalized before you buy/sell any goods/services based on that transaction.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 19 - Transaction Fee Aug 10, 2020

    In a blockchain, the transaction fee is the fee paid to blockchain nodes to include the transaction in a block. Generally, the transaction fee is paid in the native cryptocurrency of the blockchain. For example, in the Bitcoin blockchain, the fee is paid in satoshis which is a smaller denomination of bitcoin.
    Nodes — software and hardware. Each transaction execution and verification is consuming CPU and memory on the node. The cost to keep the node running with the optimal hardware needs to be recovered from somewhere. Hence transaction fee.
    To get their transactions included in a block, the user “offers” an amount of transaction fee that he can pay for that transaction. The node then decides whether they accept that fee and include the transaction or not. This approach keeps the market open and the transaction fee is decided on the average fee being offered by the users. Some users offer high fees to get their transactions included quickly, others offer a nominal fee (close to the market average) and wait for a node to accept and pick up that transaction.
    In blockchains where the size and complexity are not the same for all transactions, the transaction fee depends on the byte size of the transaction and it’s execution complexity. For example, in the Ethereum blockchain, the transactions can also be smart contract calls. Smart contract functions could be of different sizes and complexity. Hence, when a smart contract function is called, the transaction fee depends on the execution complexity of that function. In such cases, the user offers an upper limit for the transaction fee. When executing the transaction, whatever fee is used is taken by the node and the remaining is returned to the user. All of this is done using the algorithms implemented as part of the protocol.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 18 - Blockchain Economics: Part 2 (Rewards) Aug 03, 2020

    The blockchain grows when new blocks are added. The creation of new blocks requires validation of transactions and including them in blocks by the blockchain nodes. Block rewards are a way to incentivize the nodes for creating new blocks and contributing to the decentralization and security of the blockchain.
    Another reason for block rewards is the need to have the cryptocurrency in circulation. For any financial system to work, there must be enough currency in circulation so that the goods and services could be easily priced and bought/sold. The balance of supply and demand for currency is essential.
    Block rewards are a mechanism to pump newly minted currency in the system. For example, in Bitcoin, for every newly added block, some new bitcoins are minted and given to the miner of that block. This way, while the nodes are incentivized for adding blocks, new currency also comes in circulation.
    The block rewards are not constant forever. Their value depends on the amount of currency currently in circulation, and the amount that needs to be in circulation (demand). Based on the supply and demand of the currency, the block rewards can change. Over a period of time, the block rewards are reduced and tend to go towards zero.
    When the block rewards reach zero, the transaction fee becomes on the only incentive for the nodes. Hence the value of the transaction fees is also impacted by the value of block rewards. Transaction fees will be detailed in the next episode.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 17 - Blockchain Economics: Part 1 Jul 27, 2020

    Bitcoin was created as an alternate financial system after the subprime crisis of 2008. Banks, having too much control over people’s money, failed as a result of the crisis, and a lot of people lost their money. Bitcoin was created as a financial system where no single party had full control.
    When a new financial system is created, there are a few things to make sure of:
    * Having a medium of exchange i.e. currency.
    * Having enough circulation of the currency to balance its supply and demand.
    * A mechanism for people to own the currency.
    And when the system is decentralized (like Bitcoin), then there is a need to also incentivize the people participating in the decentralization process i.e. hosting the nodes and helping verify the ledger(s).
    Bitcoin answered all these questions:
    * Block rewards were created to mint new coins and put them in circulation.
    * The transaction fee (along with block rewards) was introduced to incentivize the node hosts.
    * The total supply was capped so that the supply-demand was balanced.
    * The halving of block rewards happens to manage the circulation of new coins.
    All these concepts together comprise the overarching topic of blockchain economics.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 16 - Blockchain is NOT (just) Bitcoin Jul 20, 2020

    Would you call every four-wheeled vehicle a car?
    Some of them are trucks, some are buses, some are farm tractors. Only a subset of them is cars.
    Trucks have a use-case for transporting goods. Buses are for transporting a relatively large group of people. Cars are for family transport.
    While having different use-cases, all of them share the core concept of a four-wheeled motorized vehicle.
    Now let’s talk about Bitcoin and Blockchain.
    Just like a car is just an application of a four-wheeled vehicle, Bitcoin is an application of blockchain.
    Bitcoin was invented to create an alternate financial system on which no single party could have control. Some of the pre-existing technical concepts like cryptographic hashing and signing, peer-to-peer networking, consensus in distributed networks, and a few others were brought together to create Bitcoin blockchain.
    The exact same concepts could be used to create another blockchain network for another use-case. For example, later Ethereum was created as a smart-contracts platform and not just a cryptocurrency. And many other blockchains have been implemented in the previous decade.
    Hence, to conclude, Bitcoin is just an application of more generalized blockchain technology.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 15 - Block Finality Jul 13, 2020

    When a centralized system stores all the data, it is pretty straight forward to find out the “final” state of data at a particular point in time. Whatever the centralized system has committed to the storage is deemed final. However, when it comes to decentralized systems, it is not that straight forward to determine the final state of data.
    In a blockchain, transactions are proposed by calling functions on one of the nodes. They are then broadcasted among other nodes and included in a forthcoming block when one of these nodes chooses to do so. Once included in a block, the transactions, along with the whole block, are verified and committed to the state of the blockchain by all the nodes.
    This entire process from the proposal of a block to getting it committed to the blockchain takes some time. Also, blockchain nodes are generally not located at the same place, there communicate with each other via the internet. This also causes network delays in the sharing and replication of data among all the nodes in the network.
    Because of these two reasons —time taken by the block production process and network delays — not all the nodes have exactly the same state all the time. For example, when the block with number 5 is proposed by one of the nodes, some other nodes might be having blocks 2 or 3or 4 as their final state. Block 5 might reach all the nodes after some time (a few seconds or even minutes if they have slower bandwidth). There could also be scenarios of temporary forks when a subset of nodes starts building the chain on a different block and when these sub-chains merge some of the intermediate blocks become irrelevant/invalid.
    This is why the concept of block finality becomes important. The finality of a block means that the majority of the nodes in a blockchain network have verified and accepted that block and their state has been updated accordingly. Finality assures that the transactions included in a block will not become invalid because of any reason.
    Finality could be of following three types:
    * Probabilistic Finality: When a convention is followed about finality. For example, in the Bitcoin blockchain, a block is considered final when 6 more blocks have been added to the chain on top of it.
    * Deterministic Finality: When an algorithm is used to determine the finality of blocks. This is a novel approach that some blockchains use to get faster and more reliable finality.
    * Instant Finality: There are some consensus algorithms that work in such a way that any block produced is considered final. Finality is achieved as soon as the block is produced.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 14 - Fork Jul 06, 2020

    Blockchains are decentralized systems. It means there is no single point of control or failure. This also means multiple parties store the data and continuously trying to reach an agreement (consensus) on the state of the blockchain.
    For multiple parties to reach consensus, they must follow some rules. Rules regarding how to decide who would produce blocks and when, the interval between blocks, how big or small the blocks could be, and so on. These rules are together part of the consensus algorithm of the chain.
    These rules are updated from time to time to introduce functional optimizations to the blockchains. At this time, when an update is supposed to happen, it is up to the parties to begin following the new rules by updating their nodes (software) or not.
    When some of the nodes decide not to update to the new rules, then a fork happens on the chain. Forks are of two types — soft and hard.
    A Soft Fork happens when the new rules are compatible with old ones. Even if some of the nodes chose not to update, they could still be part of the chain and participate in the consensus process as per the old rules.
    A Hard Fork happens when the new rules are not compatible with the old ones. When some nodes don’t update in this case, they don’t participate in the consensus process on the updated chain. In such cases, depending on how the communities decide (old rules vs. new rules), there could be two different blockchains each following old and new rules separately.
    https://www.blockshots.fm/
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 13 - Blockchain Governance Jul 02, 2020

    Blockchains are decentralized systems. There is no single point of control or administration. In contrast to other IT systems, there is no admin in a blockchain. Instead, blockchains are governed.
    To make any update to the rules of a blockchain, every participant must agree directly or indirectly. Blockchain governance comprises the processes to coordinate this agreement.
    In general, there are three main stakeholders of a blockchain:
    * Developers who implement the blockchain protocol rules.
    * Node hosts who run the blockchain nodes to provide decentralization to the network.
    * End users who use the blockchain to process their transactions.
    Also, there are a few things that need agreement on how the blockchain would work:
    * The consensus mechanism and associated rules.
    * The economic incentives for node hosts.
    * The transaction fee for users.
    All these things must be agreed upon by all three stakeholders in one way or the other, and then coded in the blockchain node software as the core rules.
    When there is a need to update any of these rules, blockchain governance processes are used to get the opinion of stakeholders and enact the new rules accordingly.
    In different blockchains, different governance processes could be followed. For example, the initial proposals for a change are generally written as an RFC on which the community comments and votes. Once there’s enough discussion and refinement on a proposal, it is then coded in the node software. The node hosts then update to this new version of the node software, and the blockchain as a whole is updated. In some cases, some of the node hosts decide not to update the node software because of their disagreement on the new rules, and in such scenarios, a fork happens on the chain.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 12 - Public and Private Chains Jun 29, 2020

    Blockchains, depending on who can read the state and who can participate in block production (updating the state), could be classified in mainly two ways:
    * Private or Public state
    * Permissionless or Permissioned block production
    In a permissionless blockchain, anyone can participate in the block production process, while in a permissioned blockchain, only selected nodes can produce blocks.
    In a public blockchain, anyone can read the state (data), while in a private blockchain, only the intended users or nodes can read the data.
    For example, the Bitcoin blockchain is a public permissionless blockchain. Anyone can read the balance of any account and any node can mine blocks. There is absolutely no restriction.
    On the other hand, there are blockchains where only interested parties host nodes in a closed network and are allowed to read the state of the chain. These blockchains are private permissioned blockchains. They are popular among large enterprise use-cases. For example, a supply chain blockchain in which multiple parties like manufacturer, warehouse, retailer, etc. exchange information with each other on the state and value of goods.
    There are also scenarios where public permissioned blockchains are deployed. These are popular in governments and NGOs, where the block production is done by selected nodes belonging to government agencies or departments, while the blockchain data could be read by all the citizens and third-party applications.
    In some cases, there are hybrid blockchain setups where one network is public while the other is private and they interact with each other to process transactions based on their state and user inputs.
    Public and permissionless blockchains provide the maximum amount of security and decentralization as they have a relatively larger number of nodes and it is almost impossible to hack or control a sufficiently decentralized network.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 11 - Decentralized Apps (DApps) Jun 25, 2020

    Blockchains, just by themselves, are a collection of nodes sharing data and agreeing on its state. To make blockchains useful for the end-users, applications are built on top of them. Simply put, applications which use a decentralized backend (like a blockchain), are called Decentralized Applications or DApps.
    Any user-facing software application mainly has two primary components — Frontend and Backend. The frontend is what the user interacts with while the backend provides the data and processing logic. Similarly, DApps also have these two components, but their backend is a blockchain network instead of a server (or set of servers).
    DApps usually provide better ways of communicating with blockchains by adding an abstraction layer on top. One of the best practices with DApps design is that the end-user should get the same user experience as they would get with any other conventional application, while also enjoying the security and decentralization provided by blockchains.
    DApps are built in such a way that the frontend could connect to any node in the blockchain network. The business logic for DApps is generally written in smart contracts. In most scenarios, to enable scalability, only the critical business logic is put on the chain in smart contracts while the rest of it stays in conventional systems and services.
    Sometimes a DApp may have multiple decentralized backends for optimizations and better decentralization. For example, the business logic is written in smart contracts on a blockchain while the data is stored in decentralized storage systems like IPFS. The DApp frontend then connects to these systems to provide a unified interface to the user.
    A simple example of a DApp is software wallet applications that allow the user to query and transfer balance on a blockchain while interacting with a familiar user-interface.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 10 - Smart Contracts Jun 22, 2020

    Blockchains are decentralized. Each node in a blockchain network validates and processes all the transactions and stores the copy of the data. Transactions are used to propose updates to the state of the blockchain.
    Transactions are initiated using function calls on the blockchain node. For example, in the Bitcoin blockchain, the node software exposes a function called ‘transfer’ which the users can call to transfer bitcoin from one account to another. This function call basically becomes a transfer transaction initiated by the user. Internally, the function, when executed, validates the user’s signature, checks their balance, and does the balance updates to transfer the indicated amount. When the transaction representing this function call is included in a block, all other nodes of the blockchain execute this function individually. This process is followed for each and every transaction. In essence, transactions are function calls and these functions execute business logic.
    Smart Contracts allow users to extend the business logic of blockchains. Just the transfer of bitcoin and ether might only help with a subset of financial use cases and cryptocurrencies. For blockchains to be useful in more scenarios, they should be able to execute any kind of business logic and not just transfer of cryptocurrency. This is exactly what smart contracts provide — execution of any kind of business logic on the chain.
    In simple terms, a Smart Contract is a collection of functions written in code — just like any other software. They are then deployed on the blockchain by using special transactions that take compiled code of the smart contract as input. Once deployed, users could call smart contract functions just like they would initiate any other transaction on the chain.
    For example, a supply-chain smart contract could have a function for recording the location and/or temperature of a shipping container. It could have logic that when the reported temperature goes below a certain value or when the location is within a geo-fence, some amount of cryptocurrency should be transferred from one account to another on the blockchain. This would then allow two parties to track a shipping container and settle payments based on its location and temperature, in the most trustless way possible. Hence making blockchains more useful than just balance transfers.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 9 - Wallets Jun 18, 2020

    The term “Wallet” could have several meanings or interpretations in the context of blockchain.
    At the very basic level, a wallet is just your key-pair that can hold a token or cryptocurrency balance on a blockchain. In the previous episode, I explained Accounts and Keys. So, a wallet is basically an account and it’s associated keys that may or may not have a balance on a blockchain.
    In contrast to the physical wallet in which we keep currency notes, a digital or blockchain wallet does not hold digital currency. Instead, the wallet holds the cryptographic keys so that they could be used is a simpler way. So, another and more widely accepted definition of a blockchain wallet is a software program or a hardware device that could be used to store cryptographic keys associated with one or more blockchain accounts.
    Software Wallet
    A software wallet is a program or an application that generates and stores cryptographic keys for signing blockchain transactions. In addition, some wallets also allow the signing of transactions. These software wallet applications typically have three main functions that users could use. These functions are:
    Generate new account + keys using a password or a random seed.
    Sign transactions using the generated keys.
    Query and show the balance of an account from a blockchain network.
    Hardware Wallet
    A hardware wallet is a hardware device that does the function of a blockchain wallet. Hardware wallets are more secure than software wallets as they have the keys safely stored on the secured memory area of a purpose-built chip. Using hardware wallets, keys are safe as they can’t be accessed directly as plain text and transactions are signed inside the device itself. Hardware wallets generally connect with a computer using USB and have associated apps that connect to a blockchain network for balances and sending transactions.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 8 - Accounts and Keys Jun 15, 2020

    Accounts are a way of representing users on the blockchain. Just like we have accounts in banks, generally represented by account numbers or IBANs, we have accounts in blockchains too. In a blockchain, accounts are generally a representation of a user’s cryptographic public key.
    Recall from the Transactions and Signing episodes of the podcast — transactions are signed by the users. Signing in a blockchain is done using public-key cryptography.
    Public-key Cryptography
    In public-key cryptography, a user has two keys — one public and the other secret. For simplicity, let’s say that these keys are mathematically obtained random strings that are associated with each other based on logic. This logic could be different for different cryptographic algorithms. Some of them are based on prime numbers and some are based on points on a function curve.
    Cryptographic Signing
    Using these keys, the user can associate their identity with their transactions by signing them. The public key is shared on the blockchain as part of the transaction. The transaction data is signed using the private key of the user and the resulting signature could be verified using the public key of the same user.
    Accounts
    The account of a user is represented by either hashing or encoding their public-key in one way or the other. Different blockchains represent accounts differently, using various hash functions.
    Accounts are used to hold balances of tokens or cryptocurrencies, on a blockchain. Users could then spend these balances by signing the transactions using the associated private key of the account. Spending a balance means sending it to some other user’s account, using transactions. This way, any kind of user — buyer, seller, etc. could have their accounts and could send tokens to each other. If you do not have an account and the associated keys, you can’t send transactions to a blockchain and hence can’t propose an update to the state of the blockchain.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 7 - Block Production and Mining Jun 11, 2020

    Block Production is the process of proposing and appending new blocks to the blockchain so that the state of the chain could be updated. The state update happens when the transactions included in the blocks are executed on the chain by all the nodes.
    When there are several nodes part of the network, it is important for them to agree on some basic ground rules about how the state of the chain would be updated and how and when the blocks would be produced. In a blockchain, the block proposal, validation, and execution are done based on the rules part of the consensus algorithm being followed by the chain.
    In general, blocks are produced by nodes at fixed time intervals — slots. For each block to be produced, one of the nodes is chosen based on the block production and consensus algorithm. Also, not all the nodes in a blockchain produce blocks but only the nodes participating in the process of block production.
    For example, in the Bitcoin blockchain, the nodes race to solve a puzzle and the first one solving it gets to produce the block at the next slot. This process is repeated for each block. The puzzle is about finding a “hash” with a specific prefix and this requires a lot of trial and error using a lot of calculations. Arriving at a hash with the right prefix proves that the node has done the required amount of work to solve the puzzle, and hence the algorithm is called “Proof of Work”. The process of solving the puzzle and producing a block using the Proof of Work algorithm is called mining a block. The term “mining” is relevant mainly for chains following the proof of work consensus algorithm.
    In different blockchain networks, different types of consensus algorithms are followed to define rules for block production. Another way of finding out which nodes produces the next block is by simply following a round-robin approach. This is generally followed in a blockchain network with a relatively smaller number of nodes.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 6 - Signing Jun 08, 2020

    Signing is the process of associating your identity with information so that it could be verified that the information is coming from you.
    In the physical world, we sign documents by putting our initials or signature in ink at the end of the text. When we have to fill a form or submit a document in a public office, this is generally the process for signing.
    Cryptographic Signing
    In the digital world, we sign the data cryptographically. The process of cryptographic signing involves hashing the data and then encrypting that hash with the user’s own private key. The ciphertext of the hash is the signature of the data and it is appended to the data (just like we sign the physical documents at the end).
    The signature could be then verified by the receiving party by decrypting the signature using the sender’s public key. The receiver would then hash the data at their end. These two hash values — decrypted signature and hash of the data — must match for the signature to be valid.
    Signing in Blockchain
    In the context of blockchains, signing is used for verification of transactions and blocks. The users sending transactions must sign them before submitting them to the nodes; also the miners or validators must sign the blocks before proposing them to the chain. The authenticity of the data in a blockchain is verified using cryptographic signing.
    Signing is not Encryption
    There is a small misconception that all data on a blockchain is encrypted. This is not correct. All the data on a blockchain is signed and signing is not encryption. Signing is used for associating identity with the data while encryption is used for hiding the data. Both have clearly different use-cases.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 5 - Hashing Jun 04, 2020

    Hashing is the process of deriving fixed-length strings from arbitrary-length data. It is generally used to represent data in a more compact and consistent format. For example, a small string like the name of a person and a large file like their resume could both be represented by two different strings of the same length by hashing them (individually) using the same hash function.
    Hash Functions
    Hashing is done using programs called hash functions. There are several hash functions based on different algorithms. The main characteristics of good hash functions are:
    Deterministic — It should generate the same hash from a particular input on any system or hardware.
    Irreversible — The hashing process could not be reversed to get the input back.
    Fixed-length output — The outputs from a hash function are of the same length irrespective of the length of the input.
    Collision-free — The same hash must not be produced for two different inputs.
    Hashing in Blockchain
    In the context of blockchains, hashing is used in several places. Some of these are:
    The cryptographic signing of transactions and blocks. Hashing is generally part of all signing algorithms. All transactions in a blockchain are signed by users and all blocks are signed by their respective miner or producer nodes.
    Representation of transactions and blocks using their hashes. In a blockchain, the transactions and blocks are generally represented using their hashes.
    Merkle trees used for storage — all non-leaf nodes are hashes of their children. The storage root hash changes even if there is a slight change or update in any of the data stored in the blockchain.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 4 - Transactions and Blocks Jun 01, 2020

    Transactions are small bundles of information that are used to propose updates to the state of the blockchain. Users sign and submit transactions to one or more nodes, and based on their validity, they are executed by all other nodes to update the state of the blockchain.
    Incoming transactions are validated by the nodes against the current state of the blockchain and also for the signature of the sender.
    For transactions to be executed on the chain, the miner or validator nodes charge a transaction fee from the user. The sender must decide how much fee they want to pay for the transaction, and based on that, the miner or validator nodes decide if the transaction should be executed or not.
    Blocks
    If blockchains processed transactions one by one, it would be pretty inefficient to process a large number of transactions, on a fairly decentralized network. Hence, transactions are grouped into blocks. Blocks are then processed one-at-a-time to execute all included transactions together.
    To be included in a block, the transactions are selected by miner or validator nodes of the blockchain. There could be one or more transactions in a block. This selection is mainly based on transaction fees paid by the user, the validity of the signature, and of the transaction data.
    Transaction Execution
    Once a transaction is submitted to one of the nodes, it is then broadcasted to other nodes. One of these nodes, depending on the block production algorithm, proposes a block that may include this transaction and several others.
    Blocks are created at regular intervals and all the transactions in a block are executed together to update the state of the blockchain when it is accepted by all the nodes.
    The proposal and acceptance of a new block are done using the consensus algorithm. Consensus and related concepts are explained in episode 2 of the podcast.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 3 - Blockchain Node & Network May 28, 2020

    A blockchain has several core functions like storage, networking, consensus, etc. All these are coded and packaged together in the blockchain node software. This software is then distributed to the users willing to participate in the blockchain validation or mining process. Each such user runs this software on their physical or virtual machines.
    Blockchain node software running on a physical or virtual machine and accepting connections is a blockchain node. So, it is not just the software, it is a node when is it running and accepting transactions and connections from users and other nodes.
    The process of running the blockchain software with the needed configuration parameters is called running or hosting a node.
    In general, each node stores all the state of the blockchain.
    Network
    When several nodes connect with each other and exchange information like blocks and transactions, we get a blockchain network. So, in essence, a network is a collection of interconnected nodes.
    Types of Blockchain Nodes
    Miner and Validator nodes that participate in the block production process.
    Archive nodes that keep all the historical state of the blockchain for storage and analysis purposes.
    Non-Validator Full Nodes — Help with broadcasting tractions and store the state of the blockchain.
    Light Nodes or light clients — Store only block headers to allow for easy verification of the state. They require fewer resources so they could run on mobile devices.
    Chain Specification (Node Configuration)
    To run a blockchain node, we need to provide it some basic configuration parameters like — the network to connect to (chain), which type of node to run (full, light, miner, archive, etc.), and a few other things. This configuration is called chain specification, or in short chain-spec.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 2 - Consensus May 25, 2020

    In general, consensus means agreement. In the context of blockchain, consensus is the agreement on the state of the blockchain among all the nodes in a network.
    The basic characteristic of blockchains is that there’s no single point of control and failure. This means users can query and verify the data from any of the nodes in a network. For this to work, the nodes must agree on the state of the blockchain so that users get the same results when querying multiple nodes for verification of data.
    Transactions are used to update state in a blockchain. For example, a transfer transaction can be used to update the balances of multiple users.
    Order of Transactions
    The main area where consensus is needed is the order of transactions, within a block. If all nodes could agree on the order in which the transactions happened, then they would individually arrive at the same state after processing the respective blocks.
    For example, if a user has a balance of 5 tokens and they transfer 4 tokens to one user and 3 tokens to another one. In total, they tried to spend more than they had. In this case, the order of these two transactions would decide which one would be accepted and which one would be rejected by the chain. One of these would be marked as an invalid transaction. If the order of transactions is not agreed upon by all the nodes, then the state of blockchain (balances for these users) would be inconsistent across the network.
    Consensus Algorithms
    To achieve consensus in blockchains, there are several algorithms. The basic idea is:
    Transactions are grouped and packaged together as blocks.
    Based on the consensus algorithm and its block production rules, one of the nodes proposes a block. This could be either using a round-robin fashion or by winning a race.
    For each newly proposed block, the order and validity of transactions are checked against the current state of the chain.
    When the new block is accepted by the chain, the order of transactions in this new block must be followed by all nodes, hence reaching a consensus on the state.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


    Episode 1 - Blockchain May 21, 2020

    Blockchain — A system that allows two or more mutually unknown parties to reach an agreement without middlemen.
    The agreement could be on the state of any kind of data:
    Fintech — accounts and balances (like in Bitcoin);
    Supply chain — the temperature of a shipping container at a point in time.
    Fintech Example — Buyer, seller, bank.
    The buyer wants to transfer money to the seller. Bank transaction.
    The bank is the middleman here. Single point of control and failure.
    If the bank is hacked, the outcome of the transaction could be manipulated.
    Blockchain solves this problem.
    There is no single point of control and failure in a blockchain.
    Data once written to blockchain could not be changed — immutability.
    Multiple nodes store and verify all the data.
    Even if some of the nodes are hacked or not working, they cannot change or control the state of data if a majority of nodes are working properly.
    How blockchains work?
    State changes are done using transactions.
    Transactions are signed by users to associate and record identity.
    Blocks are groups of transactions.
    Nodes produce blocks using various algorithms and if a block is accepted by all the nodes, then it is appended to the chain — hence blockchain.
    All transactions in the newly accepted block are executed to update the state of the blockchain.
    And the process continues.
    Blockchain Components
    Database layer: To store the data.
    Networking layer: To get the nodes connected with each other for exchange and broadcast of data.
    Consensus protocol: To reach an agreement on the state of data.
    Transaction queue: To accept, validate, and process transactions received from users.
    Business logic: Rules on how the transactions update the state of data.
    Music: https://www.purple-planet.com
    This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit episodes.blockshots.fm


      Related Podcasts

      Illinois Innovators

      1

      Illinois Innovators Gadgets
      Supercomputer

      2

      Supercomputer Software How-To
      UFO & Time Travel Radio – Renato

      3

      UFO & Time Travel Radio – Renato News
      Allied Siding and Windows

      4

      Allied Siding and Windows Technology
      The Behaviorist Bookclub

      5

      The Behaviorist Bookclub Technology
      Coolest Nerds in the Room

      6

      Coolest Nerds in the Room Technology
      footer-logo

      Contact Us

      Toll Free: 844-670-7747

      Links

      • Home
      • Top Charts
      • Networks
      • Apps
      • Independents Podcasts
      • Podcast Advertising
      • Podcast News
      • Contact Us
      • About Us
      • Analytics & Insights

      Stay Connected

        Privacy, Terms of Use & Our Code of Ethics Protecting Content Creators Copyrights