Cross Chain Gold

Why HelloGold is developing non fungible gold tokens

Dave Appleton
hellogold
Published in
3 min readOct 3, 2018

--

Exciting times are ahead for the HelloGold development team. We are developing new token mechanisms for some exciting gold instruments and investigating cross chain technologies. Here is some background.

Genesis of HelloGold’s GOLDX token.

In mid 2017 HelloGold set out to launch the first Gold backed ERC20 token on the ethereum blockchain, GOLDX.

Developing an asset backed ERC20 introduced some complexity because assets incur costs which should be passed onto the holder of the asset. In the case of gold, it comes in the form of administration fees that cover things like storage, assay, audit and insurance.

Since the fees are deducted from the asset itself (i.e. from the gold balance) we handled this by, as far as we know, being the first to introduce calculated time dependent balances — this means that your balance changes slightly from day to day due to the accumulation of fees on a daily basis.

To save on gas fees we show calculated balances until we transfer GOLDX tokens when we update the balance and actually remove the fees. The actual mechanism requires TWO values to be stored as part of the balance :

Balance structure for GOLDX (simplified to remove endowment part)

Given a balance bal and function calcFees, the current balance (val) and fees can then be computed by :

we need the amount and time interval (now — bal.lastUpdate) to calculate the fees.

As part of the HelloGold development plan, we intended to launch a permissioned blockchain for our domestic markets with a bridge to the Ethereum main net for the GOLDX tokens. As we started examining scaling solutions like plasma it has become clear to us that it is hard to transfer an ERC20 with multi value data and time dependent balances across chains due to the time uncertainty of the transfer time and the multi value data. Additionally the changing balances make proofs, verification and challenges a nightmare.

Enter the Non Fungibles

At this point, we took inspiration from CryptoKitties and played with the idea of using non fungible tokens (NFT)to represent individual gold amounts.

The great thing about that is that the NFT is self contained and can have multiple data items. A gold NFT can be minted to represent a specific amount of gold at a certain date. Since the amount and minting date are built in, the value on any future date can be computed with certainty.

Cross chain confidence

There are multiple cross chain solutions that work with ERC721 tokens, Plasma MVP, Sentinel Chain and POA Network are just some of them.

Now we have a gold NFT, it would seem that we can transfer it across chains with complete confidence that the no matter which chain the token is on, its value must be correct.

More excitingly, much of the code from our ERC20 token can be re-used in the ERC721 NFT.

Challenges

Using ERC721 helps solve the cross chain issue but the NFT can only be minted on one chain, not both.

The thing that makes ERC20’s so desirable is the possibility of accumulating the tokens due to their fungibility. Using ERC721 we will need a completely different exchange mechanism.

Dave Appleton is the lead blockchain developer at HelloGold.
Follow him on twitter at https://twitter.com/AppletonDave

--

--

Dave Appleton
hellogold

HelloGold's blockchain lead and Senior Advisor at Akomba Labs; a technology anachronism who codes, teaches, mentors and consumes far too much caffeine.