One of the most significant threats to public blockchain networks is a 51% attack, where a single entity gains control over the majority of the network’s mining power. In this blog post, we will discuss the concept of a 51% attack, its potential consequences, and measures to prevent it. What is a 51% Attack? A
Read more
Proof of Work (PoW) 101
Posted onBlockchain technology is based on the idea of decentralization, transparency, and security. One of the key challenges in blockchain technology is reaching consensus on the state of the ledger. Consensus mechanisms ensure that all nodes in the network agree on the current state of the blockchain. Proof of Work (PoW) is a consensus mechanism that
Read more
Proof of Stake (PoS) 101
Posted onBlockchain technology is based on the idea of decentralization, transparency, and security. One of the key challenges in blockchain technology is reaching consensus on the state of the ledger. Consensus mechanisms ensure that all nodes in the network agree on the current state of the blockchain. Proof of Stake (PoS) is a consensus mechanism that
Read more
Uniswap 101
Posted onUniswap is a decentralized exchange (DEX) that was launched in 2018. It is built on the . Uniswap is a fully decentralized platform, which means that it is not controlled by any central authority or organization. The key feature of Uniswap is its , which allow users to trade cryptocurrencies without the need for a
Read more
Ethereum 101
Posted onEthereum is a decentralized blockchain platform that enables developers to build and deploy decentralized applications (dApps) on the blockchain. Ethereum was created in 2014 by Vitalik Buterin and has since become one of the most popular blockchain platforms in the world. In this article, we’ll provide a development history of Ethereum, an overview of its
Read more
CalDAV and CardDAV 101
Posted onCalDAV and CardDAV are application layer computer network protocols that enable users to synchronize and manage their calendar (CalDAV) and contact (CardDAV) data across multiple devices and platforms. These open standards protocols leverage the (World Wide Web Distributed Authoring and Versioning) protocol, which provides a framework for users to create, change, and move documents on
Read more
Decentralization 101
Posted onDecentralization is a concept about control and management. It refers to that the control and decision-making in a distributed network are transferred away from a centralized entity (individual, organization, or group thereof). The resources in a decentralized network are owned and shared by network members. This concept is particularly significant in the world of blockchain
Read more
Cryptographic token 101
Posted onCryptographic tokens, or crypto tokens, are tradable digital units of assets that reside on blockchains. These tokens have become increasingly popular in recent years due to the rise of cryptocurrencies and the growing interest in non-fungible tokens (NFTs). Both fungible and non-fungible tokens play a significant role in the world of blockchain technology and digital
Read more
NFT 101
Posted onWhat is NFT? Non-Fungible Token (NFT) is a kind of blockchains. What distinguishes NFTs from fungible , and ownership of the NFT is often associated with a license to use the underlying asset. There are standards or convensions for NFTs on blockchain. For example, ERC-721 is a standard for representing non-fungible digital assets on the
Read more
Cryptographic Hash 101
Posted onA cryptographic hash function is a hash function that satisfies the properties of pre-image resistance, second pre-image resistance and collision resistance. Here, a hash function is a mathematical algorithm that maps data of an arbitrary size (or “message”) to a bit array of a fixed size (the “hash value”, “hash”, or “message digest”), that is,
Read more
Cryptocurrency 101
Posted onA cryptocurrency (or Blockchain networks for secure and transparent transactions. Blockchains play a crucial role in maintaining the integrity and immutability of transactional data for cryptocurrencies, making them a reliable and efficient medium of exchange. Decentralized blockchain networks form the backbone of many cryptocurrencies, ensuring a high level of security and preventing fraudulent activities such
Read more
Bitcoin 101
Posted onBitcoin is the world’s first cryptocurrency on the Bitcoin blockchain network. BTC has gained significant popularity since its inception in 2009. It functions as a decentralized, peer-to-peer electronic cash system, allowing users to make transactions without the need for a central authority. Bitcoin History Bitcoin’s story begins with the release of a whitepaper by an
Read more
Blockchain 101
Posted onWhat is blockchain? Blockchain is a specific type of database with special data organization and properties. Blockchains store data in blocks that are then cryptographically chained together in the chronological order one by one, with the block chained onto the previous block. Data commonly stored in blockchains are transactions for Distributed Ledgers. The transactions are
Read more
Understanding the Use of std::any in C++ with an Example
Posted onC++ std::any is a type-safe container for single values of any type. It is useful to put multiple types into a single container such as std::vector which requires all elements stored have the same “type”. It is a part of the C++17 standard library. This blog post will take a close look at a certain
Read more
Resource Acquisition Is Initialization (RAII) in C++ with Detailed Examples
Posted onIn this post, we will discuss Resource Acquisition Is Initialization (RAII), a programming idiom in C++ that helps manage resources such as memory, file handles, and network connections. By leveraging constructors, destructors, and scope-bound resource management, RAII enables the creation of more reliable and maintainable C++ code. RAII can not only achieve mostly what a
Read more
Run-Time Type Identification (RTTI) in C++ with Detailed Examples
Posted onIn this post, we will discuss Run-Time Type Identification (RTTI) in C++, a feature that allows us to obtain type information for objects at runtime. We will explore how RTTI works, its applications, and provide detailed examples to demonstrate its usage using snake_case naming convention. What is Run-Time Type Identification (RTTI)? Run-Time Type Identification (RTTI)
Read more
Visualizing CMake Project Dependencies with Graphviz
Posted onWhen working on a large-scale C++ project with multiple dependencies, it can be challenging to understand the relationships between different components and libraries. Thankfully, CMake provides a nifty feature to visualize these dependencies using Graphviz, a widely-used open-source graph visualization software. Using CMake’s –graphviz option and the dot command from Graphviz is a powerful way
Read more
Disabling the Emoji Hotkey in Linux Using GSettings
Posted onIf you often find yourself accidentally triggering the emoji picker in Linux by CTRL + Period (CTRL + .), you may want to disable the hotkey that brings it up. In this post, we will show you how to disable the emoji hotkey using the gsettings command. The emoji picker in Linux is typically activated
Read more
Splitting a String by Another String in C++: A Flexible Utility Function
Posted onIn this post, we will explore a flexible utility function for splitting a string based on a given delimiter using C++ and the standard library. This allows us to break down complex strings into smaller parts that are easier to process and manipulate. The C++ Utility Function to Split a String by Another String Background:
Read more
Installing Zlib in Ubuntu 22.04
Posted onZlib is a popular open-source compression library used by many software applications to compress and decompress data. It provides fast and efficient compression and decompression algorithms that can be used to reduce the size of data, which can improve performance and reduce storage requirements. In this post, we will discuss how to install zlib in
Read more