Master Protocol / Mastercoin: Development Update #2

January 9, 2014

  1. Developer Communications Mediums

  2. Key Development Statistics

  3. CTO Opening and Search

  4. Security Auditor Opening and Search

  5. QA and Testing of Wallets

  6. Research & Development Updates

Developer Communications Mediums

First before I get into the update I want to cover some communications mediums that are available to you beyond bitcointalk.org.  If you want to get involved and are lost feel free to add me on skype (dominik.zynis) and I will do my best to connect you with the right folks and point you in the right direction(s).

Mastercoin GitHub Repos

https://github.com/search?q=mastercoin

Forums:  talk.mastercoin.org

If you are developing something you can refer people to here for community based support. Or to discuss projects, get help on QA/Testing, etc.

IRC Channel: #mastercoin on freenode.net

Access via web at https://kiwiirc.com/client/adams.freenode.net/mastercoin

Dev Email List: dev {a} mastercoin.org

You can email that if you have questions about one of the repo’s or want to get involved as a developer or tester.  Email info@ if you wish to be included in the email list, include a link to your github profile to make sure this does not become spam central.

Wiki: wiki.mastercoin.org

If there is something you want to document such as tutorials, guides, API and so on feel free to add it in here.  Request an account here: http://wiki.mastercoin.org/index.php/Special:RequestAccount

Key Development Statistics

stats010214

Source: https://www.ohloh.net/p/mastercoin/

CTO Opening and Search

We are searching for a CTO to execute on our vision and implement the technical solutions, utilizing the developers we have on our team, as well as hiring more developers as needed.

This would be a joint coding/management position, at least at first. We need the CTO to have hands on experience with the various projects that we are developing. and spend about 30-50% of his time actively coding (at least while the team is small enough to justify it). The rest of his time should be spent on technical, project, and people management, including hiring more developers, managing bounties, and spec development.

See more at https://trello.com/c/ydovvlia

Security Auditor Opening and Search

We are looking for someone to become Mastercoin’s official security auditor. The position will own the task of auditing the spec, various wallet clients and infrastructure components, and setting up various bounties for detecting security related bugs.

https://trello.com/c/FDNNdZ5H/24-job-security-auditor

QA and Testing of Wallets

Test plans are in the works and we should see an announcement for testing and a call for testers sometime in the next week or so. One of the wallet is ready for testing, however.  Please see the update below from Alvin Lu / Bitoy regarding MyMastercoins Wallet (Thin Client).

Research & Development Updates

Peter Todd

Here is some of the work I am doing already, and where it can go in the future:

In general I expect to put a lot of my time towards Bitcoin itself.  We are dependent on it for the foreseeable future, so shaping the evolution of it towards something more private, decentralized, and scalable is important for us. Hence my recent posts on the dev list “Privacy and blockchain data”(1) and “Stealth Addresses”(2). Even more directly related to Mastercoin is my “Censorship-resistance via timelock crypto for embedded consensus systems”(3).  Also along those lines I’ve been keeping up with (unpublished) work by Gregory Maxwell on ways to completely eliminate the ability to embed data in blockchains – he has a fairly impractical solution called “P2SH^2 v2.0” that I highly doubt we’ll see implemented, but it’s research worth keeping up on.

I have been working with Amir Taaki, and now one of the Bitcoin core developers as well, on taking the Bitcoin Core code and separating out the consensus-critical parts into a standalone library. This will be a good learning experience for me in relation to the same efforts for Mastercoin, and will help keep political control of Bitcoin decentralized.

I’ve been working with Adam Back and some others in the “#bitcoin-wizards” community on various “side-chain” and “1:1 peg chain” concepts. There’s a lot of interest right now to figure out how to make chains with new rules, in part deriving from Mastercoin itself as well as my “proof-of-publication”(4) concepts. Closely related is Vitalik Buterin’s Ethereum idea for a Turing complete crypto-currency, an architecture and approach that I think holds a lot of promise for Mastercoin too.

Finally it would be very valuable for me to attend the 1st Workshop on Bitcoin Research that the Bitcoin Foundation sponsored as part of the Financial Crypto ’14 conference next March.

You’ve probably noticed none of the above is directly related to Mastercoin – that’s very intentional. Decentralized consensus systems are about consensus, and I think if I’m the guy writing the Master Protocol Official Specification/Official Core Consensus Library I run a real risk of creating something only I understand. On the other hand if my role is to be our in-house decentralized consensus systems expert and I assist and review someone else’s specification and code, then I think we’ll find we create more systems that the whole community has a fighting chance of understanding. We’ll also find the result is better at taking everyone’s needs into account, rather than just my preconceptions of what isrequired.

1)http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg03612.html 2)http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg03613.html 3)http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg03524.html 4)http://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg03307.html 5) http://fc14.ifca.ai/bitcoin/

Grazcoin & Grimentz

Grimentz and Grazcoin are working on web hybrid wallet which does all signing in javascript. Server side sees only public data and prepares the unsigned tx. Offline signing will be supported as well. You could already click “send here” on https://masterchain.info/Address.html?addr=182osbPxCo88oaSX4ReJwUr9uAcchmJVaL to see how it works (many wallet properties are still missing). The wallet could also accept and create distributed exchange sell offers.

Tachikoma / Maran Hidskes & Jeffrey Wilcke

I’ve started working on one of the Mastercoin-go libaries: Mastercoin-decode. It’s responsible for encoding/decoding Mastercoin messages to valid Bitcoin structures.  You can find it here: https://github.com/mastercoin-MSC/mastercoin-decode
2. Keeping track of consensus-rating. I’ve updated the pivotal tracker board with each transactions that is currently a problem and why it differs: https://www.pivotaltracker.com/s/projects/976834 . The other implementations can use this as a way of knowing what to fix.
3. I’ve reworked the internal structure of the Mastercoin-explorer project. This needed to be done to speed up the application, especially when doing consensus checks. In the coming weeks we will need to do a lot of checking once we move to distributed exchange testing so this was a needed first step in making sure it will go right.

Alvin Lu / Bitoy:

I need people to test it and send me some feedback.  The MyMastercoins Wallet (Thin Client) is at https://github.com/Bitoy88/MyMasterCoinsThinClientWallet/ Requirements: bitcoind.exe bitcoin-qt.exe -server (running in the background) The wallet gets the transactions from MyMastercoins.com. It doesn’t require the full bitcoin blockchain to be downloaded. Installation instructions are at http://www.mymastercoins.com/MyMSCWallet.aspx Current functionality: 1.Send MSC (simple send) 2.Send TMSC (simple send) 3.Sell TMSC Distributed Exchange 4.Buy TMSC Distributed Exchange (The MSC DEX is disabled until the starting block number is announced). 5.View transactions

Zathras

Having just finished up with our weekly dev sync con-call, I’m now pleased to publicly announce that I will be joining the project full-time!

Development on the Masterchest suite of software is primarily focused on stability, performance and bug resolution.
1) Masterchest.info now includes embedded consensus testing against all implementations.  When checking your balance a warning will be displayed if there is a consensus disagreement (i.e., your balance is different on any of the other implementations).  There is also a consensus testing page (https://masterchest.info/consensus.aspx) which shows all addresses with their consensus state and this is primarily used by the dev team to identify discrepancies between our respective approaches.
2) The Masterchest engine (which drives https://masterchest.info) is currently being rewritten to move processing out of the database.  In the early days working directly on the tables was viable as processing only took a couple of ms once blockchain scanning had completed.  However as the engine is now doing DEx state processing on top of querying all the other implementations for their states to process consensus checking, the time is now closer to a few seconds thus the engine needs to process state in memory rather than directly on the tables.
3) The library is undergoing a big performance effort.  Initial scanning for the Masterchest wallet/engine currently takes approximately 24 hours on an i3 with spindle based storage, and approximately 5 hours on an i7 with flash based storage.  Since we are not talking to the network, just bitcoind via JSON-RPC there are efficencies to impart to speed things up a bit prior to release.

Curtis Lacy, Faiz Khan & Marv Schneider

Curtis, Faiz and Marv are joining temporarily from Engine.co and are gearing up to add manpower to the Web Wallet development effort.

Marv is putting together a test and QA plan for the wallets and distributed exchange.

Curtis and Faiz are working on a nodejs based implementation of the web wallet. This will allow users to add/remove funds, sign transactions offline, and view wallet balances from within the browser. Currently the stack is based on Koa with backbone running on a single node process. Full list of features planned is on (github).

You can check out their repo at https://github.com/LDEngine/msc-webwallet.  They are looking for feature pull requests at this time.  See the design spec at https://github.com/LDEngine/msc-webwallet/tree/master/design.

Master Protocol / Mastercoin: Development Update #2

3 thoughts on “Master Protocol / Mastercoin: Development Update #2

Comments are closed.