I no longer post directly on Medium; to view the latest copy of this article please go to https://www.wealdtech.com/articles/trusting-identities/

The world of cryptocurrencies has a major issue with trust: it is simple to create and abandon identities, so neither party in a transaction can be trusted. As such, decentralised services for lending, custody, authority etc. are very difficult.

This article is an introduction to the idea of identities and claims, explains how information from a trusted third party allows two parties without mutual trust to be able to transact, and provides a basis for building a real-world claims system.

Entities, claims and identities

An entity is something about which information is required. The most common type of entity is a person, but entities can also be computer programs (including smart contracts), physical assets (a house, a work of art), logical assets (a cryptokitty, a share certificate, a product model), legal entities (corporations, trusts) etc.


I no longer post directly on Medium; to view the latest copy of this article please go to https://www.wealdtech.com/articles/understanding-sparse-merkle-multiproofs/

Sparse Merkle multiproofs are an alternative to pollarding to provide space-efficient proofs for multiple values in the same Merkle tree. Merkle trees, proofs and pollards are explained in a previous article; it is best to read and understand that prior to reading this article. For the remainder of this article the Merkle tree below will be used to explain multiproofs:

Image for post
Image for post
A Merkle tree

Sparse multiproofs were first proposed by Vitalik Buterin.

Multiproofs

A multiproof is simply a group of proofs against the same Merkle tree wrapped up together. The fact that they are together gives rise to the ability to make space savings. For example, below are three Merkle proofs against the above…


I no longer post directly on Medium; to view the latest copy of this article please go to https://www.wealdtech.com/articles/understanding-merkle-pollards/

Merkle trees are used in the world of cryptocurrencies as an efficient way to prove the existence of a particular value within a large set of values and with minimal storage. This article introduces Merkle trees and shows how repeated proofs against the same tree can be reduced in size significantly by storing multiple levels of branches rather than just the root (known as “Merkle pollards”).

Hashes

A hash function turns a variable-size piece of data (in this case the name of a fruit) in to a fixed-size value (known as a “hash”). …


I no longer post directly on Medium; to view the latest copy of this article please go to https://www.wealdtech.com/articles/participatory-random-numbers-in-ethereum/

Random numbers are useful for many purposes in computing, from deciding the order when shuffling tracks in a playlist to picking lottery numbers. A common case for use of random numbers is in gambling: two or more players (generically known as participants) bet on the outcome of a game. In this situation it is vitally important that the outcome of the game is based on fair random numbers. …


I no longer post directly on Medium; to view the latest copy of this article please go to https://www.wealdtech.com/articles/using-ethdns-to-host-your-dns-domain/

The previous article introduced EthDNS, an Ethereum backend for the Domain Name System (DNS). This article explains how to configure a DNS domain in Ethereum using the Ethereum Name Service (ENS).

Before using EthDNS please note that it is currently running on ropsten and is under active development. Although best efforts will be made to keep the EthDNS resolvers online there will be downtime when the resolvers or the infrastructure on which they rely are updated.

Set up DNS on ENS

The first step in using EthDNS is to claim ownership of the domain in ENS. Details on how to do this are available in Nick Johnson’s article. Note that as per that article the only domains that are enabled at current are those in the .xyz …


I no longer post directly on Medium; to view the latest copy of this article please go to https://www.wealdtech.com/articles/ethdns-an-ethereum-backend-for-the-domain-name-system/

What is the Domain Name System?

The Domain Name System (DNS) is a hierarchical decentralised information store, most commonly used to resolve human-readable names that you might type in to a web browser (e.g. www.my.xyz) in to numeric addresses that can be used to contact computers on the internet.

The hierarchical nature of DNS breaks names down to their component parts. For example, the name “www.my.xyz” is broken down as follows:

Image for post
Image for post
Breakdown of a fully qualified DNS name

These components can be found in the DNS hierarchy, as shown below:


I no longer post directly on Medium; to view the latest copy of this article please go to https://www.wealdtech.com/articles/releasing-stuck-ethereum-transactions/

Ethereum is experiencing a backlog of transactions at current, resulting in a number of transactions not being processed for hours or even days. This article explains how transactions can become stuck, and what can be done to release them.

Deciding on gas price

There are many methods for deciding on the best gas price when sending an Ethereum transaction. Websites such as https://ethgasstation.info/ provide an overview of the gas usage and information about the current transaction pool can be found at https://www.etherscan.io/txsPending

The latter website is especially useful because it can order transactions by gas price. To do so click on the GasPrice column. The resultant list is roughly how miners will look at the transactions so if you select a gas price value to ensure that your transaction is in the first couple of pages you are likely to have very short confirmation times. …


I no longer post directly on Medium; to view the latest copy of this article please go to https://www.wealdtech.com/articles/ethereum-smart-service-payment-with-tokens/

The previous article explained how Ethereum, and specifically ERC-20, token contracts operate. This article examines how tokens can be used to pay for services provided by smart contracts.

It is worth first examining the process by which Ether, Ethereum’s base currency, is used to pay for a service. …


I no longer post directly on Medium; to view the latest copy of this article please go to https://www.wealdtech.com/articles/understanding-erc20-token-contracts/

Earlier this week the ERC-20 token interface became a formal improvement proposal, freezing the definition. This article takes a look at tokens and explains the features and functions of ERC-20 to provide an understanding of what token contracts are and how developers can work with them.

ERC-20 came about as an attempt to provide a common set of features and interfaces for token contracts in Ethereum, and has proved to be very successful. ERC-20 has many benefits, including allowing wallets to provide token balances for hundreds of different tokens and creating a means for exchanges to list more tokens by providing nothing more than the address of the token’s contract. …


I no longer post directly on Medium; to view the latest copy of this article please go to https://www.wealdtech.com/articles/domainsale-an-on-chain-secondary-ens-market/

The Ethereum Name Service (ENS) launched earlier this year to great success, with around 200,000 domains registered. Currently holders of domains have no on-chain way to resell them and this has become a much-requested feature

There is a real need for a secondary ENS market. 125 addresses hold half of the domains registered in ENS, and around 1,600 addresses hold more than 10 domains each. These figures point to a significant number of domains being purchased for reselling.

DomainSale provides a way for ENS domain holders to sell them in an open market. It is built as a smart contract, and ensures that no trust is required between the parties. …

About

Jim McDonald

Focusing on real-world use cases for Ethereum

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store