Future of Work: Connecting the Real and Digital Worlds via Smart Contract Events

Ben Stewart
7 min readJul 3, 2018

--

The future workforce will not be composed of employees, it will be powered by contributors.

As I rub my crystal ball and look into the future, organizations will continue to become increasingly efficient and data will drive decisions. Individual value-add will be a dynamic metric that serves as the basis for compensation, reputation, and seniority.

Employees vs. Contributors

But what’s the difference between an employee and a contributor? In short, contributors add value and that value is easy to assess. That’s not always the case with the traditional employee. Plagued by repetitive work, inconsistent or subjective expectations, lack of feedback and growth opportunities, it’s evident why a large percentage of the current workforce is disengaged and inefficient.

This problem has been building for decades with the downstream consequences of traditional, top-down organizational structures.

But it gets worse. Pairing our antiquated way of thinking and operating with the advancements being made in artificial intelligence and other forefront technologies could result in a majority of the global workforce losing employment and/or being unqualified because of factors that are out of their control.

To gain resiliency against record high unemployment, restricted access to opportunity, and wider income inequality, we have to change our way of thinking.

Reimagining what an organization is at its core

We must build tools that foster and grow contributor culture while making it easier for everyone to provide the best work of their life thus unlocking new opportunity, happiness, and growth.

But how do we do that? How can we use current technologies to build for the future of work?

Over time, our approach, architecture, and processes will change and as an organization with hundreds of years of collective technology experience, we realize that for evolution to take place, we must start somewhere.

So let’s abstract away all these concepts of cryptographic hash functions, decentralized autonomous organizations, or anything else you’ve heard to describe the next best thing in technology. We want to focus on one core area required for the future of work without being distracted by all the noise. Let’s take things back to the basics…

Decentralized Collaboration

The future of work will require further emphasis on decentralized collaboration. Organizations don’t operate in a bubble and the sooner we embrace this, the sooner we can start improving the experience. The bubble popped a long time ago and we need to focus on the centerpiece of collaboration, communication.

Communication

We, as humans, tend to think about communication in an asynchronous, interpersonal way. For example, Bob told Janet about his weekend and she responded with a similar recap of the last couple days.

When we think about this in an organizational setting, we suffer from the same inefficiencies but they are often magnified due to unidirectional, top down management structures. But communication shouldn’t be built around this idea of funneling information.

In the future of work, we think about communication as the exchange of information. This exchange occurs between people, between systems, and between people and systems.

As a contributor, you have a one-to-many relationship with these information sources and which requires a more flexible, efficient approach to accessing what you need to know.

A system, on the other hand, has a many to many relationship with information sources coming from all angles and it runs the spectrum of data types. Some information only lives in a smart contract while other information is a real world event or even in the form of expertise within a senior contributor’s brain.

At the end of the day, information is our lifeblood and it needs to be easily exchanged to streamline communication. The first step is accessing this information.

Build a bridge from the physical to the digital world

Technology disclaimer: we are Ethereum advocates. We realize that technologies come and go with time but for our current efforts, we have found the platform to be a suitable solution.

Smart contracts are an extremely powerful tool because they allow us to blend the real world with a digital one. Much like people having a conversation, data communicates in a variety of ways. In the future of work, all forms of communication will become more efficient. Information should not exist in a silo and/or without responsibility. Our goal is to enable information to reach new levels of utilization.

So, let’s build our bridge between worlds. Since we are Ethereum advocates and have Solidity on our tool-belt, we have been blessed with this idea of “events” within smart contracts. Events allow on-chain transactions to communicate with off-chain services in the “real” world.

Smart contracts have the ability to emit events while processing a transaction. Of note, a transaction must first be mined before the event information becomes available.

At a deeper level, events take advantage of the EVM logging facilities and can be used to trigger JavaScript callbacks. Read more about it here in the Solidity documentation. We will be showcasing this flow in more detail below.

To start, we will create a lightweight contributor smart contract that allows us to set the name of a contributor:

When setContributor() is initiated, an event is created

Creating events is pretty straightforward in Solidity. This lightweight example fires an event when we set the contributor’s name (L16). We are now emitting events from Solidity which may seem basic but it unlocks a world of possibilities. We can now leverage a transactional based model for notifications, back end processes, or whatever else our heart desires to be triggered from a transaction.

But emitting events is just the first part. We need to make sure that we are listening for them. This is the second piece of the puzzle and now you can see how this begins to resemble the observer software design pattern.

Think about this in the context of a contributor change or creation event (an area that is extremely relevant to the future of work). We can trigger an action to be enqueued based on a new contributor being added to ecosystem or an existing member being updated. This allows us to assign individual skill levels, determine reputation, and queue notifications.

For our example, we will still use the contributor contract from above and we will assume that upon the contributor creation event, we need to update the UI. Keep in mind that events can be leveraged on a wide spectrum of downstream actions with the appropriate listener, but we will keep this brief.

We use JavaScript (Web3) to interact with a smart contract via a local or remote Ethereum node on the client side. To do this, we must first create a variable to reference our event. We can just make the below addition to our existing front end code:

var contributorEvent = ContributorContract.Contributor();

Now that we have our variable setup, we can leverage the .watch() method on contributorEvent with a callback.

Essentially, if there is no error, we can update the UI to do as we please. Basic examples of this include hiding, showing, or updating different elements of the page. We have now bridged the gap between on and off chain communication.

This basic end to end flow showcases how we can communicate on chain transactions to off chain services. We use this flow to pragmatically build complex, event-based functionality. Adding new contributors, compensating project contributors, and surfacing notifications are a few areas that we leverage some form of event driven architecture.

Wrapping it up

The evolution of communication started 500,000 years ago with the origin of speech. From origination, we’ve made the exchange of information more dynamic, efficient, and fluid. Why stop now?

The future of work is upon us and we have to listen, react, and respond to information that exists in both the physical and digital worlds. Sounds a lot like an event ;)

The exchange of information is just one area that can be improved with blockchain technologies and events give us great power to seamlessly connect people, machines, and worlds.

If you would like to learn more about the Future of Work, JOIN US.

Stay Tuned,

Ben Stewart

Sources:
https://github.com/ethereum/wiki/wiki/JavaScript-API#watch-callback-return-valuehttp://solidity.readthedocs.io/en/latest/contracts.html#eventshttps://en.wikipedia.org/wiki/History_of_communication
https://coursetro.com/posts/code/100/Solidity-Events-Tutorial---Using-Web3.js-to-Listen-for-Smart-Contract-Events
https://medium.com/hello-sugoi/ethereum-communicating-with-the-off-chain-world-789fea13163b

--

--