Updates from the CTO — 15 Feb 2017
For the past three months, the development team Digix has been working to complete the DigixCore 2.0 platform, and I am happy to say that we are now within two weeks of making our contracts available on the public test net. The Ropsten release will allow us to test our contracts further and give our technical partners and third party services time to integrate our services.
The last few months have been quite a learning experience for our team. The path to creating products on top of bleeding edge technology is wrought with many pitfalls — learning 3rd party development tools which are arguably still in their early stages of development, understanding the security pitfalls, deploying to a unique execution environment with its own set of quirks such as:
- Contract binary size limitations
- Stack depth limits
- Inter-contract calling conventions that can introduce race conditions
In traditional systems and web programming, developers have a wealth of prior knowledge which they can draw from. Books such as Design Patterns: Elements of Reusable OO Software from the “Gang of Four” are great classical troves of information on how to build large software projects. These are luxuries that a smart contract developer on Ethereum does not have at this point in time.
In the past few months, I have spent a great deal of time thinking about what topics a book entitled “Design Patterns: Elements of Secure Ethereum Smart Contract Software” would contain. One result of this exercise was the development CACP/ICS which I had presented at DEVCON2. I have since refined these into CACP/ICS 2.0 which suggests stricter rules for data flow and inter-contract calling conventions. I am in the process of distilling this information into a 60 to 90-minute presentation for future public talks.
Proposed Public Testnet Schedule
Task and Level of effort
DigixCore 2.0 on Ropsten 10–14 days
DigixDAO SimpleVote on Ropsten 4 days
DigixGold Marketplace for Ropsten 21 days
Third party code review~45 days
While we are very eager to launch or services to the public we need to take a prudent approach. We have to acknowledge that Ethereum is still undergoing many changes as part of its growth process. Potential future changes to the EVM that introduce hard forks need to be taken into serious consideration in our existing design as to allow us to migrate with the least amount of headaches.
Migration Consideration for Digix 1.0 Users
Existing Digix 1.0 customers will need to upgrade their lightwallet to the new version using our migration tool. As the amount of tokens and asset cards that were purchased during our beta were minimal we will be manually migrating them to DigixCore 2.0. Any storage fees due on existing Digix gold assets will be reset to 0. Transaction fees that were collected will be sent to the DigixDAO TokenBank for future disbursement to DigixDAO token holders.
What is DigixCore 2.0
DigixCore 2.0 is the umbrella project consisting of the following components and functionalities:
- Digix Proof of Asset Registry
- Digix Gold Assets
- Digix Gold Tokens
- Asset Minting into Tokens
- Recasting tokens into Assets
- DigixDAO Transaction Fee/Demurrage Rewards
- Digix TokenBank
Additionally the following will be made available during the main network launch:
- Spectrum based lightwallet to store DGX gold tokens and gold assets.
DigixDAO token holders will start accruing DGX gold token rewards from transaction and demurrage fees starting on day one after we officially launch. Furthermore, previously collected transaction fees from the Digix 1.0 platform will be sent to the DigixDAO token account which will be made available for withdrawal during the first quarterly claim period.
Forward Looking Statement disclaimer: Any public comments or forward looking statements any Digix employee makes are not meant to be an investment advice nor meant to be binding. Forward-looking statements often address our expected future business performance, and often contain words such as “expect,” “anticipate,” “intend,” “plan,” “believe,” “seek,” “see,” “will,” “would,” or “target.”
Developmental plans may or may not work out with DigixGlobal in future as uncertainties could materially derail our plans than those expressed in our estimates.
All updates, are only meant to educate and inform the Ethereum community about our developmental progress and to be transparent about our developmental goals.