Acuity Social November 2020 Project Update

Originally posted 19th November 2020

Temporary cessation of block production

While Acuity has migrated from PoA to NPoS, we still only have the four original PoA nodes (see below). It is not yet possible for other nodes to become validators. On 15th November the server that is hosting the PoA nodes ran out of disk space, preventing further blocks from being produced. One invariant of Polkadot Consensus is that you have to have at least one block produced every epoch (1 hour on Acuity). Therefore, although there is now enough disk space, no further blocks are being produced at present.

This is a well-known problem. There are two possible ways to resolve this: hard spoon (take a snapshot of the blockchain and restart it from block 0), or gradually increase block production timestamps until they are correct. I will investigate this further until we have a solution.

Migration from PoA to NPoS

The referendum to transition Acuity from Proof-of-authority to Nominated Proof-of-stake passed and was automatically enacted on 17th October.

It is now possible become a nominator and stake your ACU by choosing which validators you think will perform well. Unfortunately it is still not possible to become a validator. The transaction to set validator session keys does not succeed. The four original PoA validators remain as the only validators. Enabling anyone to become a validator will require further investigation.

PoA validator profit automatically donated to treasury

A side-effect of migrating to NPoS is that all the revenue generated by the four PoA validators was and continues to be donated automatically to the Acuity Treasury. The treasury balance currently stands at around 750k ACU.

Anyone can make a proposal for Treasury spending. Each proposal must be approved by the Acuity Council before it can be enacted.

Parachain social communities

Polkadot has a hierarchical blockchain sharding model. Each blockchain built with Substrate can become a parachain for a parent relay chain. In fact, each parachain can become a relay chain for child parachains.

The Acuity blockchain is currently not a parachain, nor a relay chain. It has the potential to become a parachain for the Kusama or Polkadot relay chains.

What we are announcing today is that the Acuity blockchain will be able to be a relay chain for child Acuity parachains. Each Acuity parachain can be its own social community.

Examples of communities on their own parachain would be decentralized versions of Wikipedia, Stack Overflow, CouchSurfing, GoFundMe, DeviantArt, Flickr, Instagram, YouTube, GitHub, Ancestry, Quora, Reddit, Maps, private communities, software packaging repositories, etc.

This has a number of advantages:

  • transaction throughput - while Polkadot NPoS does offer a much increased transaction throughput over the original Ethereum-based MIX blockchain, there is still a limit that at some point will become an issue. With one parachain per community, each community has full access to the total transaction capacity
  • reduced storage requirements - a full node will need to store the full state of the blockchain. With each community in its own parachain, node operators only need to store a subset of the total Acuity state.
  • local governance - while Polkadot Governance is excellent, each community being able to govern itself is even better!
  • native token - each social community can optionally have its own base currency to be used for governance or funding.

Certain state that could use useful across parachains, for example trust networks, actually needs to be stored on each parachain. Trust networks need to be able to be queried synchronously. XCMP queries are asynchronous. While trust networks could be synchronized between parachains, this essentially means that each parachain community is largely siloed and independent.

Protocols running over XCMP will be developed for standardized communication between Acuity parachains, for example to connect together accounts in different communities.

Deployment of MIX smart contracts

The on-chain functionality of Acuity (MIX) is being re-implemented from scratch as a Substrate pallet. However, as we are now deploying multiple social communities in the Acuity parachain ecosystem it actually makes sense to deploy the original MIX smart contracts as the first community on Acuity and then gradually develop the FRAME-based implementation that can be deployed on each parachain.

This means that in a short period of time we can have all the functionality that was already implemented from the five years of development of MIX.

The MIX contracts will either be deployed into the EVM pallet (most likely) or compiled with Solang into WASM for deployment into the Contracts pallet.

Elected trusted accounts

The Acuity Browser will be available both as a progressive web app at acuity.social, and as a desktop app for Windows, Mac and Linux. While the web app is broadly the same as the desktop app and is built from the same source code, users have very different expectations for an app running on a domain name, versus a desktop app.

In a desktop web browser like Chrome it is possible to view any content from anyone. The web app will essentially be a browser running in a browser, but when users see certain types of content being delivered by a web app running on a domain name they will consider the maintainers of the domain to be responsible for it.

The desktop version of the Acuity Browser will have no restrictions just like a desktop web browser. This will not be the case when browsing content with the web app version. Acuity already has a system of trusted accounts. Content can be filtered so that in order for an item to be visible it must be published by someone you trust directly, or by someone who is trusted by someone you trust. This will be taken a step further for the web app. A large group of super-trusted accounts will be elected by the Polkadot Governance system in the same way that the council is elected. Only content in the trust network of one of super-trusted accounts will be displayed in the web app.

A similar system will be used to determine which feeds are on the front page.

STEX

It is now possible to trade ACU against ETH on STEX.

ACU / ETH Atomic Swap Exchange

We are developing an Atomic Swap exchange that will be available on this website. Substrate already has an Atomic Swap pallet available. This will enable fully permissionless trading of ACU enabling its free market value to be determined. It will function through simultaneous use of both the Polkadot and Metamask browser plugins. This exchange will be fully open source and available for other Polkadot chains to utilize.

Wrapped ACU (WACU)

Eventually Polkadot Collators will be able to monitor blockchains that are not Polkadot parachains, for example Ethereum. Once this functionality is complete it will be possible to have a WACU ERC20 token on the Ethereum blockchain. Polkadot have an excellent video about this.