Posts

Deep dive into Elliptic Curve Signatures

Image
To popular demand, I have decided to try and explain how the ECDSA algorithm works. We've discussed a bit eliptic curve signatures before and a little bit more afte that , but it seems it's never enough. Admitedly, I've been struggling a bit to understand it properly and while I found a lot of documentation about it, I haven't really found any ECDSA for newbies anywhere. So I thought it would be good to explain in simple terms how it works so others can understand it better. Let's give it a stab ECDSA stands for Elliptic Curve Digital Signature Algorithm and it's used to create a digital signature of data (a file for example) in order to allow you to verify its authenticity, without compromising its security. Think of it like a real signature, you can recognize someone's signature, but you can't forge it without others knowing. The ECDSA algorithm is basically all about mathematics. But these maths are fairly complicated, so while I'l...

Multisig vs Shamir's Secret Sharing Scheme

Image
In the previous article we've discussed about multisig deployment and how it can greatly improve the project's security throughout the development cycle. Today we'll discussed even further improvements into key sharing schemes and start with Shamir’s Secret Sharing Scheme (SSSS) Shamir's Secret Sharing Scheme is related to the broader concept of multi-party computation (MPC), which refers to methods for allowing multiple parties to compute a function on their private inputs in such a way that the output is the same as if the parties had computed the function on their inputs together. MPC can be used for a wide range of applications, including secure communication, privacy-preserving machine learning, and secure multiparty computation. Shamir's Secret Sharing Scheme is simply another name for Shamir's Secret Sharing (SSS). It is called a "scheme" because it is a structured method for splitting a secret into multiple parts, such that a th...

Why Solana Developers Migrate to Ethereum

Image
For developers building on Solana, the frequent network outages and performance issues over the past year have likely been a source of major frustration. The promise of high speed and low cost that initially attracted many to Solana has not panned out, with the network failing to meet expectations for stability and reliability. In contrast, Ethereum has made huge strides recently in scalability, security, and developer experience that make it an increasingly appealing alternative. It's worth taking a close look at the current state of Ethereum and considering whether migrating your Solana project might be the right move. Enhanced Scalability with Layer 2 Rollups One of the biggest knocks against Ethereum historically was limited throughput and high gas fees on the layer 1 chain. However, the emergence of layer 2 rollup solutions like Optimism, Arbitrum, and zkSync has changed the calculus. These L2s bundle many transactions together and post cryptographic proofs of their validit...

Blockchain Data Oracles

Image
Oracles were individuals who were believed to be able to communicate with the gods and provide prophecies and guidance to people. In many ancient cultures, oracles were an important part of religious and spiritual life, and people would seek out oracles to receive guidance on important matters such as wars, crop yields, and natural disasters. Blockchain oracles are very similar in that sense - they also communicate with external entities to information about important matter, however not as grand as war guidance. So, what are blockchain oracles? Simply put these are third-party services that provide real-world data to smart contracts on the blockchain. This data can be used to trigger the execution of the smart contract, or it can be used as an input to the contract. Blockchain oracles are most commonly used to provide smart contracts with access to external data. This data can be used in a variety of different ways, depending on the specific use case. Some examples of...

Key and Transaction Management in Ethereum

Image
Security keys are used almost everywhere within Ethereum during user interactions, and the Ethereum address is derived from the private key. In other words, the Ethereum address is the last 20 bytes of hash of the public key controlling the account with 0x appended in front. How are Ethereum addresses generated? There are three main steps to get from private -> address: Create a random private key (64 (hex) characters / 256 bits / 32 bytes) Derive the public key from this private key (128 (hex) characters / 512 bits / 64 bytes) Derive the address from this public key. (40 (hex) characters / 160 bits / 20 bytes) Even though a lot of people call the address the public key, it's actually not the case in Ethereum. There is a separate public key that acts as a middleman that you won't ever see, unless you go poking around a pre-sale wallet JSON file. Generating private key The procedure for generating private keys relies on pseudo-random number generators ...

Elliptic Curve Signatures - extended

Image
Asymmetric cryptography is one of the most important computer science inventions of the previous century. Cryptography is used extensively within Ethereum, and one place that users have contact with it is via Ethereum accounts. As we discussed in the previous article , public key cryptography is based on mathematical functions that allow for unique public/private key pairs. Those pairs of keys have special properties, like ease of creation, but it’s extremely hard (nearly impossible) to create a private key from its public key. Having a private key makes it easy to create a public key, but just from knowing a public key, we cannot know which private key was used to create that public key. Proof of ownership of Externally Owned Accounts (EOAs) is established through private keys and digital signatures. The private keys are used almost everywhere within Ethereum during user interactions, and the Ethereum address of an EOA is derived from the private key. In other words, the Ether...

Non-Fungible Tokens (NFTs) 101

Image
Non-Fungible Tokens (NFTs) have captured the imaginations of collectors, investors, and tech enthusiasts alike, and if your interest in NFTs and blockchain technology is growing, you will want to learn more about NFT standards. However, before you read more, if you aren’t familiar with NFTs and want to learn more about them, we suggest starting with our NFT development article. This piece will give you the background information to understand some of the technicalities we cover in this post. While investors and collectors are excited about the early popularity of digital collectibles, NFTs represent the future of blockchain technology. They will likely completely change the way digital content is created, distributed, and consumed. In addition, businesses will be able to use NFTs in several ways regarding Digital Rights Management (DRM). Businesses must take the time to understand NFTs and their underlying standards to position themselves and make competitive business decisions...