How to set up a DGM

HOW TO SET UP A DGM

This topic is about how you can set up a decentralized governance model (DGM). A DGM can be used to easily map a given ownership structure.

To understand how UCS has implemented the idea of DGMs simply imagine the stocks of a company: depending on the number of stocks you own you also own a part of that company. At some point the revenue of this company will be distributed among the owners of the stocks.The percentage of the revenue your will get is equal to the percentage of the company you own by the stocks. In UCS the concept of DGMs is limited to the fair distribution of amounts sent to that DGM among the DGM participants.

From a technical point of view a DGM consists of two assets: a fungible asset used to receive the revenues and a fungible or non-fungible asset that is used to reflect the owners. So the ‘stocks’ are simply fungible or non-fungible assets! Every owner of such a fungible or non-fungible asset will be considered as ‘stock owner’. The asset that is used to reflect these property rights is defined as ‘asset_owner=’ of the asset that is used to receive the revenues. The first asset acts as central receiver address for the owners of the second asset.

The DGM has no voting process about what to do with the balance like it is done within the Ethereum DAO. The users have to make agreements outside UCS and then forward the balances themself.

STEP 1 : SET UP A FUNGIBLE ASSET

This asset/token will act as address for all owners of asset DGM.1655676000.

example asset DGMT.1655676000:

asset_description=DGMToken
asset_owner=DGM.1655676000
asset_price=1.000000000
asset_fungible=1

STEP 2 : SET UP A FUNGIBLE OR NON FUNGIBLE ASSET AS OWNER

Choose a non-fungible asset if you wish to have a fix number of property rights that cannot be increased. This means that other users cannot join the DGM on their own.

example non-fungible asset DGM.1655676000:

asset_description=DGM
asset_quantity=1000.000000000
asset_owner=9d8c98a97b2c3e689afef90310a35130bde86fd6f43ef6764b391c40ba37f8dd.1613477808
asset_fungible=0

Choose a fungible asset if you want to have no fix number of property rights. This means any other user can join the DGM by simply transferring a amount to this asset:

example fungible asset DGM.1655676000:

asset_description=DGM
asset_price=1.000000000
asset_fungible=1

Removed possibility to add a owner for a fungible asset (DGM) as it leads to unsolvable problems in view of timing. As the ledger is being built iteratively after any detected changes there is no way to determine which transactions have been received properly on time and which have been received afterwards. The next time the ledger is build the client cannot distinguish between transactions received on time and transactions that were incoming after point of transfer, but were created before point of transfer. So it would be impossible to correctly distribute any amounts sent to that asset. Therefore the code representing the DGM has been removed out of the wallet and maybe moved into seperate contract logic in future.