How is WeOwn improving investor voting?

Forget email and AGMs; we’re taking voting digital

Many companies are obligated – or want – to involve investors in corporate decision-making, from re-electing board members to approving acquisitions. After all, investors are the real owners of the company.  

In a recent blog post, we looked at why companies need to update their voting process in order to engage investors. Here, we will look at how our new blockchain voting functionality is enabling enterprises to achieve this – and the positive impact it is having on shareholder relationships.  


Making it easier for investors to cast their vote 

A much simpler way to achieve accurate, representative voting results than Annual Grant Meetings (AGMs) and paper-based voting is via the blockchain. WeOwn’s unique blockchain solution is all about asset management and enabling the business to communicate with their investors in a safe, transparent and efficient way. 

Cryptography and state machine replication enable a decentralized, blockchain based voting system. This ensures that voting resolutions and available voting options for every resolution cannot be altered during or after the voting event. Similarly, every vote cast by an investor can only be modified by the investor himself or by investor’s asset account custodian while the voting event is still in progress. Votes ‘out of thin air’ or duplicated votes are ruled out by a validation process. 

Our Digital Marketplace enables the companies to set up a voting event dynamically, and digitally invite investors to cast their opinion. In order to enable transparency and reduce dependency on intermediaries, we have created an infrastructure around voting through the blockchain – the technical implementation of which we will now explain.  


Transactions and actions 

One of the great things about our blockchain is that it supports the transactional processing of various atomic operations, called actions. Our transactions and actions structure is a significant topic, so we will be creating a follow-up blog explaining how transaction processing works. For now, however, it is important to distinguish two different terms: 

Action – an atomic operation on our blockchain that can be as simple as transfer CHX or transfer asset. 

Transaction – a collection of different actions submitted to the blockchain and executed in a particular order. This structure enables us to submit complex processes as a transaction and have atomicity and consistency in the execution. 

All transactions have the same top-level structure:

This atomic processing and transaction ordering helps when a business needs to process complex corporate actions like dividend payments or voting. 


Voting actions 

In order to enable voting on our blockchain, we have introduced two unique action types: SubmitVote and SubmitVoteWeightThe beauty of this approach is that the process stays very powerful and very simple to use.

SubmitVote is an action type used by investors (either through their wallet or our FAST platform when submitting votes). The action is built in a simple way: 

  • AccountHash uniquely identifies an investor 
  • AssetHash uniquely identifies an asset in which the investor has holdings 
  • ResolutionHash uniquely identifies voting resolution 
  • VoteHash represents the investor’s chosen voting option  

In the normal case scenario, VoteHash represents a hash value of voting options like Yes, No, Abstain. However, our solution is flexible and it supports other customizable voting options.  

This is a simplified representation of a transaction being submitted:

When a transaction with the SubmitVote action gets submitted, the transaction will be processed and the ‘vote’ state gets updated. This action can change the state of the voting as long as the voting weight state is NULL. Once the voting weight gets populated, the transaction will fail and it will not result in the change of the state of the vote. (see the diagram below)  

SubmitVoteWeight is the second voting action type which gets submitted by the asset controller at the end of the voting event. At the end of the voting event, the asset controller runs the process to calculate vote weight where the investor’s current holding is multiplied with the asset vote weight and the result is submitted to the blockchain. The submission is packed in one single transaction with multiple actions, where the vote weight is submitted for all investors that have voted until that point.

The action is built in a simple way: 

  • AccountHash uniquely identified an investor 
  • AssetHash uniquely identifies an asset in which the investor has holdings 
  • ResolutionHash uniquely identifies voting resolution 
  • VoteWeight represents the voting weight of the investor 

This is a simplified representation of a transaction being submitted:

Voting state  

Processing of a transaction results in a state change. The state is stored in the node’s relational database, where each vote is stored in a table which looks like this:

You can find out more about the benefits of our infrastructure by reading our blog post on five reasons we built our own blockchain, or by visiting the technology section of our website.