Ethereum is a system for decentralized applications that uses blockchains, but in a completely different manner than how they are used in bitcoin.

The Basic Framework

Ethereum has at its core a way to apply arbitrary rules for ownership, transaction formats and state transition functions — taking both the state of a blockchain and a transaction for that chain, and then outputting a new state as its result. It does this by way of an internal scripting language that is aware of a system’s state while being Turing-complete, which means it can encode any computation that may be performed by the system.

The state is made of objects called accounts, which have a 20-byte address and state transitions that exist between accounts. Accounts have four fields: a nonce, so each transaction is processed only once; a balance of ether, or the internal numbers used to pay fees; a contract code that may be empty; and storage, which may also be empty.

Types of Ethereum Accounts

There are two kinds of Ethereum accounts: externally owned and contract accounts. Externally owned accounts are controlled by private keys and contain no code. Sending messages from an externally owned account is done by creating and signing a transaction.

Contract accounts are controlled by their contract code. Every time the contract account receives a message, its code activates, allowing it to read and write to internal storage, send other messages or create contracts in turn.

It must be understood that contract here does not mean a legal arrangement: It is instead an agent inside the framework that executes code when it is stimulated by a message or transaction. It also has control over its own ether balance as well as other internal variables.

Other words have special meanings here. Gas isn’t gasoline, but the cost of one computation step. The value may be higher or lower, depending on the difficulty of the computation. Each transaction sets a limit on how many computational steps it can use by using Gas to specify the upper bound. Thus, Gas is the fuel powering computation; when you run out of Gas, execution stops.

Code inside of contracts is written in Ethereum virtual machine (EVM) code, a series of bytes each representing an operation. It is much like assembly code in concept. Serpent is a higher-level language that compiles to EVM.

What Does This Mean for the IoT?

Blockchains are at their heart a time-stamped (or other unique identifier) ledger of transactions. It’s the transactions involved in the Internet of Things (IoT) ecosystem where the system will shine: Because one can trigger computation or other code action with an Ethereum account message, an IoT device can be controlled if it is connected to an Ethereum-based network.

Work has already begun to develop a comprehensive system of IoT control using Ethereum as a component, according to the IBM report “Device Democracy: Saving the Future of the Internet of Things.” As this paper puts it, “The greatest challenge, however, is not in simply building a decentralized IoT, but one that can scale universally while maintaining private, secure and trustless transactions. In other words, the IoT represents a case of billions of players, not all of which can be trusted — some even malicious — with a need for some form of validation and consensus. And for this, the ‘blockchain’ offers a very elegant solution.”

Ethereum is a more full-featured way to use blockchain technology than bitcoin, which was designed only for financial purposes. By including the ability to use internal executable code, far more can be done with it. And that is what the IoT will require.

At this point, the framework is in its Frontier release. That means it is best suited for developers or other early adopters. That also means that it is a wide-open field in terms of competition and usage. For the strong of heart, opportunities abound to either succeed or fail.

The Time Has Come

Major players have finally come to see the opportunities and disruptions that blockchain technology can cause for their operational and financial assumptions. While they are now aware of alternatives, nothing has yet been set in stone.

While this framework could implement a cryptocurrency, it can do much more than that. It is generalized, not specialized. The practical limits of what it can do are yet to be determined.

Now is the time when developers have the maximum opportunity: What they come up with in these early stages can be considered by those who will implement it outside of a closed environment. Ethereum is up on Github for all to use. Making a useful product from it will not be easy and will require learning an unfamiliar environment. Better start now.

More from Cloud Security

How Do You Plan to Celebrate National Computer Security Day?

In October 2022, the world marked the 19th Cybersecurity Awareness Month. October might be over, but employers can still talk about awareness of digital threats. We all have another chance before then: National Computer Security Day. The History of National Computer Security Day The origins of National Computer Security Day trace back to 1988 and the Washington, D.C. chapter of the Association for Computing Machinery’s Special Interest Group on Security, Audit and Control. As noted by National Today, those in…

Why Are Cloud Misconfigurations Still a Major Issue?

Cloud misconfigurations are by far the biggest threat to cloud security, according to the National Security Agency (NSA). The 2022 IBM Security X-Force Cloud Threat Landscape Report found that cloud vulnerabilities have grown a whopping 28% since last year, with a 200% increase in cloud accounts offered on the dark web in the same timeframe. With vulnerabilities on the rise, the catastrophic impact of cloud breaches has made it clear that proper cloud security is of the utmost importance. And…

Charles Henderson’s Cybersecurity Awareness Month Content Roundup

In some parts of the world during October, we have Halloween, which conjures the specter of imagined monsters lurking in the dark. Simultaneously, October is Cybersecurity Awareness Month, which evokes the specter of threats lurking behind our screens. Bombarded with horror stories about data breaches, ransomware, and malware, everyone’s suddenly in the latest cybersecurity trends and data, and the intricacies of their organization’s incident response plan. What does all this fear and uncertainty stem from? It’s the unknowns. Who might…

How an Attacker Can Achieve Persistence in Google Cloud Platform (GCP) with Cloud Shell

IBM Security X-Force Red took a deeper look at the Google Cloud Platform (GCP) and found a potential method an attacker could use to persist in GCP via the Google Cloud Shell. Google Cloud Shell is a service that provides a web-based shell where GCP administrative activities can be performed. A web-based shell is a nice feature because it allows developers and administrators to manage GCP resources without having to install or keep any software locally on their system. From…