Hi all!
We just released and open sourced a local (no JS from server) 2 of 2 multisig wallet as a chrome app.
Original post:
http://www.reddit.com/r/Bitcoin/comments/20g9ab/greenaddressit_trustless_2of2_open_source_wallet/We at GreenAddress.it have just released and open sourced our local/packaged Chrome application for accessing GreenAddress.it's Multisig HD wallets.
If you are not familiar with GreenAddress.it, we encourage you to take a look at our website and FAQ, or you can even watch our infographics video, but roughly speaking it is a web wallet which aims to be much more secure than other ones in the market.
The idea behind a local (packaged) Chrome application is to make it more secure than using our web client off our servers by providing you with all the client JavaScript code to run locally, which should make the wallets immune to server-side hacks.
You can skip through to download the wallet app from chrome store, or read below for more technical details if you are interested.
The main feature behind making it more secure, which we have implemented specifically for the Chrome application, is transactions verification. Basically GreenAddress.it generates transactions for the client to sign, and the client's JavaScript, before signing, verifies that their amounts, destinations, fees, etc. are correct according to user's input. This prevents the server from sending tampered transactions which could be used to steal funds.
This verification requires a list of previous outputs to be available to the client, which also must be downloaded from an independent source to disallow tampering with transaction data. For this purpose we have used the public Electrum servers, so you are safe even if our server tried to send modified transaction outputs to make client think it is signing smaller amounts than it is in reality.
Here’s the open source project on GitHub. You can also find Gentle on GitHub, an open source tool we developed in case our service disappears such that you can free your funds from the 2 of 2 multisig.
Currently the GitHub repo contains merged JavaScript files, which is because of how our deployment process works, but we are going to improve it by providing the original directory structure soon. (EDIT: done!)
We are also looking to open source our Android Cordova app and give it the same treatment as the Chrome app (local files and Electrum verification)
Any feedback is welcome!
GreenAddress.it team