|
maxmint
|
 |
September 09, 2013, 09:33:03 PM |
|
Tachikoma, I'm sorry - I just have a very strong impulse to send you money after all the work you've done. I'll try to restrain myself. My board is already doing their job - when I mentioned this to them, they also advised me to not be too fast and loose with the money  Let's not forget that there's a bitcoin address posted in the footer of mastercoin-explorer.com (1J2svn2GxYx9LPrpCLFikmzn9kkrXBrk8B). I just sent a small tip because I think this site just totally rocks!
|
|
|
|
W2014
Member


Activity: 205
Merit: 10
|
 |
September 10, 2013, 04:20:18 AM Last edit: September 10, 2013, 05:59:18 AM by W2014 |
|
I've just put a new version of the http://mastercoin-explorer.com online. This version actually has some useful information. For one it can approximate balances for a given address and show what kind of transactions where done by them. As always this is an initial version of this functionality so don't expect any miracles  J.R.: I spend way more time on this then I originally planned. So to be honest I hope there will still be a bounty for something like this even if I build it already; not that that was the reason for me doing it to begin with  Fantastic job, Tachikoma! Thanks for your efforts! Question: if you click on "New Transaction" the MasterCoin Advisor appears. How does this work?
|
|
|
|
ripper234
Legendary

Activity: 1358
Merit: 1005
Ron Gross
|
 |
September 10, 2013, 05:53:55 AM |
|
I would like to remind everyone that we have a github account - https://github.com/mastercoin-MSCI would like to request that at some point (either from the start, or when they feel they're ready), they transfer their projects to this repository. It will make it easier to find all Mastercoin related open source code. (They will retain full history and push rights to the repository, of course). Please contact me if you're interested in such a migration.
|
|
|
|
|
Tachikoma
|
 |
September 10, 2013, 09:09:54 AM |
|
Thanks for the donations guys!  Fantastic job, Tachikoma! Thanks for your efforts!
Question: if you click on "New Transaction" the MasterCoin Advisor appears. How does this work?
It tells you what Bitcoin transactions to send in order to do a Mastercoin transaction. You can see J.R's examples earlier in the thread. For now however I would want to ask you to wait until we have a better way to encode the data in the blockchain. Hey people. It's late over here (2am) so I'll post a quick update and tomorrow I'll expand. I'm working on a python mastercoin client (works connecting to a running bitcoin client). I made it open-source from the start so that dacoinminster and Tachikoma (and anyone) can peer-review it. https://github.com/maraoz/pymastercoinRight now it works like the Mastercoin Advisor script, only that it can also automatically create and broadcast the actual transactions. (no need to create them manually). Anyway, my plan was to build this as a base to test new methods for storing the data payload. cheers! I'll send some technical questions tomorrow before I continue! (Maybe it's time to create a development thread?) Manuel Awesome; I will go over it tonight. If you want to bounce ideas around for encoding data in the chain you can always hit me up with a pm or find me on irc 
|
|
|
|
|
maxmint
|
 |
September 10, 2013, 09:36:40 AM |
|
Tachikoma, the latest Mastercoin transactions are not showing up yet on mastercoin-explorer.com. Are they showing up delayed or is there something wrong?
|
|
|
|
|
Tachikoma
|
 |
September 10, 2013, 09:47:34 AM |
|
Tachikoma, the latest Mastercoin transactions are not showing up yet on mastercoin-explorer.com. Are they showing up delayed or is there something wrong?
Right now new transactions are added based on a cron job which I suspect might not be running well. I ran it manually now and will check why the cron job isn't working on it's own.
|
|
|
|
|
maxmint
|
 |
September 10, 2013, 09:49:12 AM |
|
Tachikoma, the latest Mastercoin transactions are not showing up yet on mastercoin-explorer.com. Are they showing up delayed or is there something wrong?
Right now new transactions are added based on a cron job which I suspect might not be running well. I ran it manually now and will check why the cron job isn't working on it's own. Alright, thanks. Recent transactions are showing up now.
|
|
|
|
cunicula
Legendary

Activity: 1050
Merit: 1003
|
 |
September 10, 2013, 09:53:04 AM |
|
You might have experience as a programmer but I take it you're not a systems guy. Find someone who is and have them draft the spec. You might not be familiar with hedging algorithms but you've got one implemented for the currency stabilization process. Either find one and have them write a paper for you or dig up what the finance guys have in their literature and refer to it. You don't have a bibliography and that's a bad thing, there is a whole lot here that is not novel and needs to be referenced so everyone knows you're not butting heads with what's generally held to be true. tl;dr shoddy work designed by the clueless and implemented by the fools that follow them, stay away
There is more to this than hedging. You can reduce the risk of escrow fund exhaustion to zero and still fail to create a mastercoinUSD that is actually worth one USD. Perfectly stable mastercoinUSD will sell for more than one USD. After all they teleport, real USD bills don't. If I made USD bills that could teleport, would you pay face value for it? or would you be willing to pay a premium? What if the network expanded so that you could use my teleporting USD in more places, wouldn't the premium increase? At the same time unstable mastercoinUSD can sell for less than one USD. After all, they are exchangeable for at most one USD in mastercoin. If the escrow fund runs dry, they are exchangeable for less than one USD in mastercoin. So their market price will decrease as the amount of backing falls. The whole point is to achieve parity with the USD.
|
|
|
|
|
|
Tachikoma
|
 |
September 10, 2013, 01:54:43 PM |
|
- Bitcoin testnet Exodus address proposal. Should we define a Testnet exodus address to be able to test stuff in the testnet? I suggest dacoinminster to setup an address and to set the Testnet epoch to 1-Oct-2013, so we have time to buy this testnet mastercoins for the coding contest. This way we don't need to spend real bitcoins to test new protocol features or services.
I proposed the same mechanism but nothing came off it. So I did the same thing you did and just took a random address and promoted it to tesnet-exodus. In theory there is no reason to have an end date for the testnet address it could be a few years in the future which will make it easier for other developers to buy coins as they come on board.
|
|
|
|
dacoinminster (OP)
Legendary

Activity: 1274
Merit: 1043
Rational Exuberance
|
 |
September 10, 2013, 02:58:44 PM |
|
OK, time for technical questions. - What is the endianness for the data? self-answered, found on specification: big-endian. Good, I agree.
- Why does Mastercoin Advisor use a data sequence number lower than the recipient sequence number? Shouldn't it be the successor of the recipient sequence number, as the protocol specifies?
recipientSequenceNum = ord(recipientBytes[1]) dataSequenceNum = recipientSequenceNum - 1 if dataSequenceNum < 0: dataSequenceNum = dataSequenceNum + 256
In order to distinguish data packets from the reference address, the data packet sequence numbers start at n+1 where n is the sequence number of the reference packet if it were treated as a data packet. Any additional data packets can continue to use up sequence numbers n+2, n+3, and so on until all sequence numbers are used except for n-1. As an example of how this works, let's imagine a MasterCoin transaction that has two data packets. If the reference address happens to have a sequence number of 62, then the first data packet has a sequence number of 63 and the second has a sequence number of 64. Note that sequence number 255 is followed by 0.
My implementation: https://github.com/maraoz/pymastercoin/blob/master/message.py#L24 (line 24) We should define the desired behaviour because if not we won't have compatible parsers/transaction generators. - What happens if the Mastercoin data payload is less than 20 bytes? or not a multiple of 20 bytes? I see from Mastercoin Advisor that zeroes are padded. Shouldn't we add that to the specification?
- Bitcoin testnet Exodus address proposal. Should we define a Testnet exodus address to be able to test stuff in the testnet? I suggest dacoinminster to setup an address and to set the Testnet epoch to 1-Oct-2013, so we have time to buy this testnet mastercoins for the coding contest. This way we don't need to spend real bitcoins to test new protocol features or services.
Two final points: I'm willing to help polish the specification to have something clear for any developer to implement a client or blockchain parser. And later today I'm starting with alternate (not-yet-specified by the Mastercoin protocol) ways of storing the data in the blockchain. I hope this helps with the blockchain bloating problem. Aw crap. I meant to update the spec to change how the sequence numbers worked. Thanks for catching that. When I was writing the code for MasterCoin Adviser, it occurred to me that it might be easier to parse MasterCoin transactions if the first data packet had the first sequence number, then additional data packets following, and then the reference packet last, with the last sequence number. But I never went back and updated the spec to reflect that change. I made that change because I thought it might help if we ever had transactions with data but no reference address. I had intended Test MasterCoins to be used so I didn't have to create a TestNet version at all, but I have no opposition to TestNet implementations if that is helpful, especially if that helps reduce block-chain bloat  As you noticed, MasterCoinAdvisor adds zero padding to fill up the unused remainder of any data packet, although you could probably put anything you want there since clients won't look at those bytes. Still, probably best to keep it clean and stick to zeroes unless we think of a reason not to. edit:I sent a PM to you about working on the spec, but then I realized other people might want to work on it too, so I've quoted the PM below:
|
|
|
|
milkyman
Newbie

Activity: 30
Merit: 0
|
 |
September 10, 2013, 03:50:48 PM |
|
I was wondering about what will happen to the test mastercoins... will they be deleted when the protocol is working? Otherwise, it could be that they become valuable as well.
|
|
|
|
|
Meni Rosenfeld
Donator
Legendary

Activity: 2058
Merit: 1062
|
 |
September 10, 2013, 03:54:02 PM |
|
I was wondering about what will happen to the test mastercoins... will they be deleted when the protocol is working? Otherwise, it could be that they become valuable as well.
Testnet bitcoins aren't valuable. Everyone knows test mastercoins should not be used for serious purposes, and nobody is promoting their use for serious purposes, so nobody will use them for serious purposes and they will have no value.
|
|
|
|
|
maxmint
|
 |
September 10, 2013, 04:06:44 PM |
|
I was wondering about what will happen to the test mastercoins... will they be deleted when the protocol is working? Otherwise, it could be that they become valuable as well.
Testnet bitcoins aren't valuable. Everyone knows test mastercoins should not be used for serious purposes, and nobody is promoting their use for serious purposes, so nobody will use them for serious purposes and they will have no value. Testnet bitcoins are running on a separate block chain. Test mastercoins however are on the same block chain as regular mastercoins. And if they basically can do the same things as normal mastercoins, why shouldn't they be used and gain in value?
|
|
|
|
Meni Rosenfeld
Donator
Legendary

Activity: 2058
Merit: 1062
|
 |
September 10, 2013, 04:17:54 PM |
|
I was wondering about what will happen to the test mastercoins... will they be deleted when the protocol is working? Otherwise, it could be that they become valuable as well.
Testnet bitcoins aren't valuable. Everyone knows test mastercoins should not be used for serious purposes, and nobody is promoting their use for serious purposes, so nobody will use them for serious purposes and they will have no value. Testnet bitcoins are running on a separate block chain. Test mastercoins however are on the same block chain as regular mastercoins. And if they basically can do the same things as normal mastercoins, why shouldn't they be used and gain in value? If testnet was merged mined against mainnet, tesetnet bitcoins still wouldn't have value. When something is branded as "testing" the Schelling point is that it will be used for testing (especially when it offers no advantage over something branded as "real"). If test mastercoins would so easily have value, it will be trivial to generate 1000000 different Mastercoin "flavors", each following the same protocol but with a different "version byte" (or whatever there is there). If all flavors will have equal value then mastercoins have no chance to have value to begin with. But if not then mastercoins will have a huge advantage over test mastercoins by virtue of being intended for actual use.
|
|
|
|
|
grazcoin
|
 |
September 10, 2013, 07:45:02 PM |
|
I just announced mastercoin-tools on https://bitcointalk.org/index.php?topic=291914Sources are available on: https://github.com/grazcoin/mastercoin-toolsAt this stage it generates a list with total amount of mastercoins for each address: https://github.com/grazcoin/mastercoin-tools/blob/master/outputs/msc_per_address.csvI have compared it with http://mastercoin-explorer.comAn example for disagreement is: http://mastercoin-explorer.com/addresses/1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfTwhere the amount of mastercoins on mastercoin-explorer.com is 1504.69444445 and according to mastercoin-tools the amount is 1404.27673743 I could run a comparison test on all addresses, but I though it could be easier for mastercoin-explorer.com maintainer to do it. The bootstrap values are very important to any implementation, and I suggest that the community agrees on one list (hopefully mine), later implementations could take it as static data and skip the calculations. I also suggest that once the list is finalized, 1EXoDus address signs it, and it becomes an appendix to the spec which would be living as ascii doc on github. Generally this package should have live update - direct interaction with the bitcoin network (using sx monitor). It should run without a database and serve as an alternative code base. This way anyone would be able to run a node at home without the need for a database setup. enjoy!
|
|
|
|
dacoinminster (OP)
Legendary

Activity: 1274
Merit: 1043
Rational Exuberance
|
 |
September 10, 2013, 07:55:38 PM Last edit: September 10, 2013, 08:20:49 PM by dacoinminster |
|
1404.27673743 would be too low. I assume you mean mastercoin-tools calculates 1504.27673743 instead of 1504.69444445? I'm trying to understand your suggestion about a package with a live update. Are you suggesting that MasterCoin clients should decouple from the block chain completely and rely on a vetted record of transactions? If so, that would seem to lose our decentralization. If not, what are you suggesting? edit: I also posted this question to your mastercoin-tools thread 
|
|
|
|
dacoinminster (OP)
Legendary

Activity: 1274
Merit: 1043
Rational Exuberance
|
 |
September 10, 2013, 08:10:26 PM |
|
In the interest of full transparency, here is the updated expenditure list I sent to the board just now. Hopefully I can process refunds tomorrow. We've decided to set the cutoff date for investments a couple blocks later in order to accommodate some people who sent before the deadline, but did not get included in a block until after the deadline. Consequently, the expenditure list has changed slightly. Here's the final list of transactions which I hope to execute soon, probably tomorrow: 13.279 BTC in refunds to investors who missed the deadline (addresses and details here: https://docs.google.com/spreadsheet/ccc?key=0AnnInaIJVqrtdGMteFNOWjBpWTNqd3BYbWUzdGVLMmc#gid=0) 3 BTC bounty to bytemaster (1Nou27Zt2k3yTFHw6yePg3A1df2ohCTFFb per his PM to me) as a bounty for their work exposing a flaw in my spec. (details here: https://groups.google.com/d/msg/mastercoin/EQgEHvKJBh4/4VeE3a02I3QJ) 3 BTC to d'aniel as part of the same bounty. D'aniel requested that his prize go to forum member gmaxwell: 1GMaxweLLbo8mdXvnnC19Wt2wigiYUKgEB, request is here: https://bitcointalk.org/index.php?topic=284178.msg3041300#msg3041300) 2 BTC to mich for the awesome logo (13x2dka6tVhjsNNNomGJjUPi2iJQCb67bw, verified by him) 0.1 BTC to Ron to reimburse his purchase of MasterCoin.org (1HfXDX3ALapNebQC8stTdd5zK7kiCgvX9n) Total expenditures: 21.379 BTC Aside from the changes to the refund list, this is the same list of expenditures as before, so I don't expect comments - I'm just keeping you guys in the loop. Thanks! -J.R. If you are expecting a refund, please check the spreadsheet linked above and make sure it looks correct. Thanks!
|
|
|
|
|
Tachikoma
|
 |
September 10, 2013, 08:22:32 PM |
|
I will compare those stats to the explorers data as soon as I can, will probably will have to wait till the weekend though. The bootstrap values are very important to any implementation, and I suggest that the community agrees on one list (hopefully mine), later implementations could take it as static data and skip the calculations.
I also suggest that once the list is finalized, 1EXoDus address signs it, and it becomes an appendix to the spec which would be living as ascii doc on github.
I don't think anything should be set in stone; not yet at least. Too much needs to be added which could have effects on the previous transactions. One of the things I was considering adding is an unified data format to the spec that we could use as replay and compare logs. It could also be used by other implementations to compare data. Basically adding a json-data format for Mastercoin.
|
|
|
|
|
grazcoin
|
 |
September 10, 2013, 08:37:22 PM |
|
1404.27673743 would be too low. I assume you mean mastercoin-tools calculates 1504.27673743 instead of 1504.69444445? checking the bootstrap log: https://raw.github.com/grazcoin/mastercoin-tools/master/outputs/bootstrap_story.logand grepping 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT shows 2 relevant transactions: https://blockchain.info/tx/1dc56b1abb899c0b613e3bdaf455aa5b379bfd3fd524cbcdd1de00355b52c61eblock 255305 tx hash 1dc56b1abb899c0b613e3bdaf455aa5b379bfd3fd524cbcdd1de00355b52c61e value 1000000000 -> 100336441799 dacoins 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT sent 100000000 satoshi and got 10032741233 dacoin 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT sent 100000000 satoshi and got 10032741233 dacoin 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT sent 100000000 satoshi and got 10032741233 dacoin 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT sent 100000000 satoshi and got 10032741233 dacoin 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT sent 100000000 satoshi and got 10032741233 dacoin 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT sent 100000000 satoshi and got 10032741233 dacoin 13GfTmStyPpsVf9BzUC283ngs94KEnqorX sent 100090000 satoshi and got 10041770700 dacoin 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT sent 100000000 satoshi and got 10032741233 dacoin 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT sent 100000000 satoshi and got 10032741233 dacoin 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT sent 100000000 satoshi and got 10032741233 dacoin total sent 10.0007 BTC fees 0.0002 BTC This sums up to 100336441799 dacoins (same as in http://mastercoin-explorer.com/transactions/1dc56b1abb899c0b613e3bdaf455aa5b379bfd3fd524cbcdd1de00355b52c61e) To divide the mastercoins between the addresses we see how much each address contributed. 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT sent 900000000 satoshi (can be verified at https://blockchain.info/rawtx/1dc56b1abb899c0b613e3bdaf455aa5b379bfd3fd524cbcdd1de00355b52c61e) 13GfTmStyPpsVf9BzUC283ngs94KEnqorX sent 100090000 satoshi Total sent is 900000000+100090000=1000090000 The share of 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT is 900000000/1000090000*100336441799=90294671099 https://blockchain.info/tx/2ba57d54d5220f1bf6cdc8930876b52c23d94052477202b6db7a07112a7ca328block 255318 tx hash 2ba57d54d5220f1bf6cdc8930876b52c23d94052477202b6db7a07112a7ca328 value 500000000 -> 50133002646 dacoins 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT sent 500900000 satoshi and got 50133002646 dacoin The sum for 1AGFxUanxnWnrTiwLsY4NyvNZTv3RWFnfT from these 2 tx is then 90294671099+50133002646=140427673745 (or 1404.27673745 mastercoins) The address 13GfTmStyPpsVf9BzUC283ngs94KEnqorX gets the rest: 100.41770700 mastercoins (and together it is 1504.69444445). As far as I understood, each address gets its proportional part. If you would like to understand the exact calculation, check the code. If there is some error, please point me. I'm trying to understand your suggestion about a package with a live update. Are you suggesting that MasterCoin clients should decouple from the block chain completely and rely on a vetted record of transactions? If so, that would seem to lose our decentralization. If not, what are you suggesting?
The live update is a feature of the command sx-monitor which listens to the bitcoin network on specific address (1EXoDus address in our case), and in real time outputs new tx. The code will parse them on-the-fly and show the mastercoin tx. A different mechanism will go over the output (optionally also on-the-fly) and decide if the tx is valid or not according to the mastercoin balance of the address (invalid tx if there are not enough funds).
|
|
|
|
|
Tachikoma
|
 |
September 10, 2013, 08:40:53 PM |
|
According to the discussion I had with J.R. the address that spend the most coins for a given transactions receives the coins.
|
|
|
|
|