Pages:
Author

Topic: [ANN] Masterchain.info private Fiat on the blockchain with distributed exchange - page 2. (Read 7618 times)

legendary
Activity: 1358
Merit: 1003
Ron Gross
Very interesting direction graz ... and the ecosystem keeps evolving Smiley
Congrats & good luck!
newbie
Activity: 26
Merit: 0
full member
Activity: 142
Merit: 252
Wow.  This is going to be exciting.

The Mastercoin Foundation doesn’t “sanction” anything.  This is an extraordinary leap forward in Blockchain 2.0 technology, built using the Master Protocol.

We look forward to seeing more innovative ideas being brought into reality, and this shows we’ve only made the first few steps into an amazing future.

Graz, Grimintz, you’ve outdone yourselves.  Well done.

Look what can be done.  We’re looking for more masterminds.  Come code.  Make something amazing.

Craig
full member
Activity: 152
Merit: 100
This is fantastic and it communicates clearly - well done!
full member
Activity: 399
Merit: 105
I understand Mastercoin pretty well.  However, I can't figure out what the hell this is.  Is this sanctioned by the Mastercoin Foundation?  ...or is this some kind of rogue move by one of Mastercoin's lead devs?  WTF?  This is going to be interesting.
sr. member
Activity: 276
Merit: 250
Very interesting! Will be using in near future.

-Al
hero member
Activity: 910
Merit: 1000
sr. member
Activity: 284
Merit: 250
sr. member
Activity: 284
Merit: 250
sr. member
Activity: 284
Merit: 250
sr. member
Activity: 284
Merit: 250
sr. member
Activity: 284
Merit: 250
sr. member
Activity: 284
Merit: 250
sr. member
Activity: 284
Merit: 250
Mint2B Protocol

Masterchain.info uses an additional protocol layer above (or maybe under - depends on the perspective) mastercoin protocol, carrying the name "Mint2B".
Any tx of with an output of at least 1 BTC to the mintage address 3Mint2B5ECNdXDZJneJ1XtKmrkmnMbwBbN generates a new chain which is then parsed and validated according to mastercoin protocol with the issuer address as exodus address.

The mastercoin spec used is version 0.4 (with minor fixes done on 0.4.5.1 which are not related to smart property).

Calculation of amount of coins minted is available on https://github.com/grazcoin/mastercoin-tools/blob/masterchain/msc_utils_parsing.py#L188 (function parse_mint).
For each paid 1BTC - 100,000 coins are created. Donations to charities are part of the protocol, and each donation counts as 50% payment to Masterchain for the purpose of minting more coins.

As for the protocol name Mint2B - it is a modification of "Meant to be", and if you want "to be", you should mint your chain Smiley

sr. member
Activity: 284
Merit: 250
Software architecture and technologies

Backend:
The parser queries an obelisk server about bitcoin state.

Chain explorer:
The parser generates static json files for each address/tx (using parsing and validating python scripts).
The webserver serves only static files.
The rendering is done on the client side using javascript.

User actions:
There are few available web apps: send/sell/accept.
Interaction with the server is done two ways using json over POST.
Anyone can create raw transaction for any address - no special credentials are needed.

Wallet:
User can follow multiple addresses, give them names and attach their private keys.
Data is stored encrypted (AES) within the browser's storage.
The encryption key is derived from user's password.

sr. member
Activity: 284
Merit: 250
API

updated available currencies:
https://masterchain.info/general/extracted_currencies.json - the automatically extracted currencies list (with their names, their exodus address, the amount minted, their internal currency list, which is now real and test coin only, and more).
https://masterchain.info/currencies.json - currencies, last price, number of transaction history pages, number of sell transaction history pages, number of accept transaction history pages, exodus address.

all currency's transactions:
https://masterchain.info/general/GRZ_0001.json - the last 10 transactions of GRZ coin.
and generally:
https://masterchain.info/general/$(COIN_SYMBOL)_$(PAGE_NUMBER).json

currency's latest sell offers (ordered by price):
https://masterchain.info/general/GRZ_sell_0001.json - the last 10 deal accepts of GRZ coin.
this is used by the web interface:
https://masterchain.info/index.html?filter=sell¤cy=GRZ

currency's latest accept offers (ordered by date):
https://masterchain.info/general/GRZ_accept_0001.json - the last 10 deal accepts of GRZ coin.
this is used by the web interface:
https://masterchain.info/index.html?filter=accept¤cy=GRZ

balance consensus verification
for all available currecies:
https://masterchain.info/mastercoin_verify/addresses/
e.g. GRZ:
https://masterchain.info/mastercoin_verify/addresses/1GRazCon4gDqTh1pMNyh1xHVWnbQEVPfW8-1

All above API exist for each new generated currency.

consensus checker with other MSC implementations
https://masterchain.info/general/MSC-difference.txt
https://masterchain.info/general/MSC-difference.json

sr. member
Activity: 284
Merit: 250


Join the bitcoin 2.0 revolution as an entrepreneur and introduce a new chain with your own rules using fully distributed mastercoin protocol cloner on top of the bitcoin blockchain.


#############################################################################
UPDATE 1: now a virtualbox appliance (VM image) is available for download, to play with the site locally - on your laptop:
https://bitcointalksearch.org/topic/ann-distributed-exchange-vm-on-your-laptop-obelisk-mastercoin-tools-ui-607492
Enjoy the bitcoin blockchain and the distributed architecture
#############################################################################

#############################################################################
UPDATE 2:  Minimal bitcoin price reduction for minting a new coin from 1 BTC to 0.01 BTC (limited for few days)
Own your own exodus address for 1 bitcoin cent.
https://bitcointalksearch.org/topic/99-minimal-btc-price-drop-for-minting-new-currencies-with-distributed-exchange-607512
#############################################################################

tldr:
Check existing new currencies
To make your own currency, just send 1 BTC from address you control to masterchain's mintage address, the new coin will appear within the next few blocks and have distributed exchange (DEx) on the bitcoin blockchain.
Note: 50% of donations to approved organizations are counted as payments.

Two subdomains for your coins are auto assigned - one for real and for test coins e.g.:
grz.masterchain.info for GRZ coins
tgrz.masterchain.info for Test GRZ coins

Run yourself masterchain.info clone or use it locally/distributed/offline by downloading the whole VM that runs masterchain.info (> 40GB - as it contains the bitcoin blockchain in obelisk form).
Latest source code is available on github of explorer and web hybrid wallet and github of parser.
The same stack that I developed for mastercoin.org (and became the official mastercoin parser) is used - with generalization in the exodus address dimension.
The part that generalize to multiple chains as well as the wallet are still in (advanced) beta stage - see known issues, but it is totally alive on the blockchain.



General:
Did you ever want to be a central bank, and simply create fiat money? You got to the right place. Mint your own coin directly on the bitcoin blockchain. Clone yourself the master protocol. Own an exodus address. Enjoy distributed exchange feature and a distributed market platform.
Minting a new coin using masterchain is more than just a user currency. It is owning a whole chain which is a mastercoin clone for yourself/company/friends-circle/community/tribe. You don't need to buy tokens from other alt-coins - the game is directly between your coin and bitcoin. You generate new tokens and everyone on the Internet can trade them. Those tokens can represent money/time/miles/bonus-points/fund-raising-shares/whatever. You set the rules, and the blockchain enforces the trading. You get a main-chain currency (not a sidechain) with exodus address that you provide.

Time frame:
The coins will stay on the blockchain forever, and having Moore law on my side, I intend to keep the site running for everyone to freely use forever as well.
If for some reason I will have to take this site down or stop parsing your currency on the main site before 5 years since your coin creation date - you will get refund on your BTC payment proportionally to the time left. Obviously all coins would stay on the blockchain as they are, and you will still be able to use the open source code, or even run a VM which is identical to masterchain.info site locally or publicly.
If the new currency you created is very successful - after 10,000 transactions - I reserve the right to stop supporting it on the main site without a refund (you could still have it on the VM or on a different site). If you insist that I host the browser/DEx for your popular currency - we could negotiate new terms. Keep in mind that mastercoin after >6 months has now around ~7000 transactions. Note: with 10,000 tx, you get dust of 5555 satoshis for each transaction - this already becomes 0.5555 BTC.

Payment:
The standard payment for Masterchain service is 5 BTC for minting a new coin/chain.
This is intended for any new coin with expected market cap higher than 100 BTC.
If you expect your market cap to be less than 100 BTC, you can pay 1 - 5 BTC and the difference would be automatically taken from your fresh minted coins assuming a market cap of 100 BTC.
Masterchain would like to support Philanthropy, so there is the option to donate to approved organizations and 50% of that donation is considered as payment to Masterchain. The minimum of 1 BTC to masterchain still holds.
What is the payment for:
* Minting services and parsing/validating your chain.
* Maintenance of code and server. Periodic prepare and upload of a masterchain snapshot inside a VM so you can run it locally in a fully distributed way. All other users get to see your coin and use it.
* At least 5 years (hopefully lifetime) service. If for some reason I can't keep maintaining it for the whole 5 years - you get your money back - proportionally to the time left from the 5 years.

Currency examples:
SSS coin has paid the minimal 1 BTC for the service and got 100,000 SSS coins, and the remaining 4 BTC got paid with 4,000 SSS coins (which went to 1Mchain address).

GLD coin has paid 1.042 BTC for the service and donated on this tx 0.1 BTC to FSF.org which is approved. The result was 100,000*(1.042 + 50%*0.1)=109200 GLD coins which stand for market cap of 100 BTC. The missing 5 - (1.042+50%*0.1) = 3.908 BTC is 3.908% of the 100 BTC market cap, or in GLD coins 3.908% * 109200 GLD = 4267,536 GLD, leaving 104932.464 GLD to the issuer

To keep all issued coins, one can either pay any of the following options:
* At least 5 BTC to masterchain and no donation (e.g. GRZ coin https://blockchain.info/tx/3e15262dbae095f2ae8faeddd15678c9bbb3bd1b4a885ed1174ca1e1c7137dec).
* 1 BTC to masterchain and 8 BTC to donations.
* 1+x BTC to mastercoin and 8-2x to donations.

The amount donated is visible on https://masterchain.info/Currencies.html - this already the first building block of your currency's value.


Value for the new coins
Your new minted coins are just tokens. Although I treat them as virtually valuable for some purpose, you are the one that pours value in to those coins. You can do it in many ways, e.g.:

GRZ:
Rules of GRZ coin:
http://pastebin.com/WEkQdNxU
you can verify the signature with http://brainwallet.org/#verify

GLD:
No rules got signed yet, but each coin should represents 1g of Gold. You have to trust me on that Smiley

MSC:
check masterchain.org

DNT:
mark which addresses are valid donations target


Example uses:
Closed community could maintain the work hours or other resources accounting.
Bank groups can create their own currency for inter-bank payments.
A group with a specific aim (e.g. open source) could pay gratitude points to contributors.
Selling tickets to events.
Philanthropy encouragement.


Minting:

How to mint:
1. Choose an address you control (private key). Better create your vanity address.
2. Pay from this address to 3Mint2B.

How many coins get minted:
Your payment in BTC times 100,000

What will be the name of the coin:
The birth name of the coin is the first 3 letters of the minter address (not including vowels, and not T as first letter).
It is upper case.
example: for 1GRazCon4gDqTh1pMNyh1xHVWnbQEVPfW8 it is GRZ, which is then GRZ coin.
If the name is occupied, the next consonant is added (recursively).

Changing currency rules? Adding features?
From the moment you preform the first transaction using your currency, its rules are set and frozen.
Until that moment you would be able to set different rules by signing requests (will be implemented later).
In the case of bugfixes of the parser - there will be the option to approve a certain bugfix using a signed request. If no such request got signed, the parsing of your currency will stay as is. Security or fatal errors will be fixed also with no specific approval.
 

Donations:
The first donation addresses taken from http://bitcoinsforcharity.org/charities :
https://blockchain.info/address/1PC9aZC4hNX2rmmrt7uHTfYAS3hRbph4UN (Free Software Foundation)
http://blockexplorer.com/address/1NoA98grVfXfVqysU4ijM9jhMBD8vmrUC8 (Amani Kinderdorf)
On request, I will add more charities e.g. from https://en.bitcoin.it/wiki/Donation-accepting_organizations_and_projects
but an identifying procedure is required. There will not be any politics related donation accepted as long as I approve them (this may become decentralized as well).
I hope that this part will be also decentralized asap, so my agenda doesn't influence the variety of donation targets.
A valid donation address is an address which has exactly a single incoming DNT transaction of 0.00000001 DNT from the Donate address.
You may even claim for tax returns.


Can I trust you?
I have been around in the community for a long enough, so many developers know me. Mastercoin official implementation, which masterchain code is based on, was coded by me.


Security:
The website and code is already under a security bounty for more than a month now. (http://mastercointalk.org/index.php?topic=263.0).
Nothing serious was found (except for heartbleed which got immediately fixed).
If the server gets hacked, there are 2 possible attacks:
1. The generated raw transaction can be changed, and if you blindly sign it you may be get a surprise.  You are encouraged to check the "advanced view" before every signature.
2. The javascript code could be tempered. I can either introduce some signature checking mechanism, but if you are paranoid -  you could use your own server, locally (the VM I will soon publish), and even work totally offline.

If you decide to keep the private keys in the wallet - they are kept AES encrypted in the browser's storage (using PBKDF2 with 750 iterations on your password as encryption seed). They never leave the browser. Your password is needed to unlock them for any private wallet activity.


More features?
If masterchain becomes successful, I will add features asked by the community.
Among the first would be:
* secure cloud storage based on private key signatures - for your wallets and those of your currency users.
* signed message board for your currency (where you sign contracts with the currency users). For now you can use pastebin.com
* price graphs and more eye candies.


Optimizations?
There is a *lot* of place for optimizations in the code. Some are trivial. For now it may take even 3 blocks until you see the tx. This will change.

What if bitcoin network changes?
There were rumors that multisig (BIP11) transaction will become non-standard.  If such a case happens, transaction will get confirmed very slow. Then we'll switch to alternatives, like BIP16 - together with other bitcoin 2.0 currencies.

Documentation?
My code is executable documentation ;-)
If it is not enough, you can check the spec and documentation done on an earlier version of mastercoin-tools.

Thanks:
I would like to thank Mastercoin foundation for the effort of developing this protocol. We only see its beginning.

Known issues:
To add address to the wallet - it must have some alternative currencies like MSC/TMSC/GRZ/etc (you can get some from mastercoin-faucet), or send a donation of at least 0.001 to https://blockchain.info/address/1MchainXySvRuhdAcJHFfyGLY47P3AEyP9

There have been reports on problems with addresses without public key on the blockchain - If you add the address to an empty wallet using the private key option, they should be resolved.



Share and enjoy!
Grazcoin


Pages:
Jump to: