Smart Contracts

Smart contracts add programmability to a network – “when this happens, do this”.

With just this capability you can do lots of cool things, for instance automatic payments that are programmatically guaranteed to occur.

A problem though is that smart contracts only know what’s happening on the blockchain itself. There’s so way for them to reach outside of that and, for instance, charge a tenant a higher electricity fee when you see that they’re running their washing machine continuously. They can’t see the real world. Not until you introduce a system called an Oracle.

Oracles

An Oracle is just a name for a system that feeds outside information to the blockchain so that smart contracts can utilise that information. They can expand the capabilities of smart contracts, and depending on their design, they can do this without any kind of trust being needed.

A badly designed oracle system could be a single server telling the network something, but without any verification. A well-designed oracle would provide trust in some way, for instance by using multiple servers monitoring the same real-world events and there being incentives to be honest or a mechanism to ignore bad actors, in much the same way that a blockchain works.

Wrapped Assets

Wrapped assets take advantage of the oracle idea by pinning their value to an asset, for instance gold, USD, another token on a different blockchain, etc. Stablecoins do exactly this, either by some really clever programming that doesn’t rely on a single organization or group holding a treasury or by a group simply holding a reserve of whatever the asset they’re “wrapping” and exchanging one for the other.

An example of a wrapped blockchain asset could be a wrapped Bitcoin on Cardano, which has its value pegged in some way to real Bitcoin. By using a wrapped asset on this alternative blockchain you can save transaction costs for instance, (which is one reason why it’s so common).