Bitcoin Forum
November 19, 2024, 04:28:37 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 [40] 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 »
  Print  
Author Topic: 300 BTC Coding Contest: Distributed Exchange (MasterCoin Developer Thread)  (Read 129204 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
Bitoy
Sr. Member
****
Offline Offline

Activity: 449
Merit: 250


View Profile
January 06, 2014, 12:20:33 PM
Last edit: January 06, 2014, 01:13:19 PM by Bitoy
 #781

Hi Zathras

In your site
1LjT88X7Zu8BdbqJw8vfRa83NJuzYL9kqm Has a balance of 60.12630845 MSC
https://masterchest.info/lookupadd.aspx?address=1LjT88X7Zu8BdbqJw8vfRa83NJuzYL9kqm

In the consensus masterchest balance is 10
Bitoy
Sr. Member
****
Offline Offline

Activity: 449
Merit: 250


View Profile
January 06, 2014, 12:46:18 PM
 #782

Zathras,

Please check
ecb77ee990de29745de949462e1f6e44584c310a0da12c9fbdf86dbe6ffabcfc

It is valid under peek and decode level 1.

This should fix address
1Q1sFqsi8S5DxV5hz6sWLamGBp9To93iG7
15a4XCuWmx2cCQVf8wZK7mqdvj5uwo1vby

Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
January 06, 2014, 12:47:49 PM
 #783

Bitoy I also commented these things on the pivotal stories; https://www.pivotaltracker.com/s/projects/976834

Although you are free to repeat them here of course Smiley

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
aTriz
Hero Member
*****
Offline Offline

Activity: 1232
Merit: 683


Tontogether | Save Smart & Win Big


View Profile
January 06, 2014, 01:05:00 PM
 #784

Hi Zathras

In your site
1LjT88X7Zu8BdbqJw8vfRa83NJuzYL9kqm Has a balance of 60.12630845 MSC
https://masterchest.info/lookupadd.aspx?address=1LjT88X7Zu8BdbqJw8vfRa83NJuzYL9kqm

In the consensus the balance is 10

That is actually my address, I indeed should have the balance of 60~

Any reason why the consensus is showing 10?

Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
January 06, 2014, 01:06:50 PM
 #785

I think the consensus output needs to be updated; I don't know how frequently this happens.

The site itself is showing the right balance Smiley

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
January 06, 2014, 07:00:35 PM
 #786

Bitoy, Grazcoin, Zathras; could you all give me your URL's for the test MSC verification API?

I want to prepare for the DEx consensus Smiley

Edit: Already mailed it out as well since I want this sooner rather then later.

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
zathras
Sr. Member
****
Offline Offline

Activity: 266
Merit: 250



View Profile
January 07, 2014, 09:49:09 AM
Last edit: January 07, 2014, 10:05:21 AM by zathras
 #787

Hey guys,

Sorry about not getting the update in last night (for those following the thread but not on the dev email list my SSD unfortunately died an early death).  Replaced, restored & back up and running.  Update has just gone in now.

No major feature releases in this update, mainly bugfixes (only visible change of note is Masterchest.info will now display a warning when you're checking your balance if there is a consensus disagreement).  Just a little added protection for the community.

Re address 1LjT88X7Zu8BdbqJw8vfRa83NJuzYL9kqm, that's one I'm going to need to investigate further.  I haven't yet identified a root cause.  Checking my validation output I found two entries for that address.  I checked the balances table and the engine has somehow produced a second row for this address and another address with incorrect balances.  It's that second entry that's being picked up by the consensus check.  There should only ever be one entry for each address in the balances table.  I'm in the process of debugging to hunt down how this could have occurred & squish the bug.

Re transaction ecb792bf58c67120d6d62149f542271c33e3df046460aebc2bae1012e5ba52e5, this is invalid according to spec.  The data address seqnum is 75, the ref address seqnum is 76, and the change address seqnum is 77.  
Quote
Ideally, all outputs should be the same (except the change). In fringe cases where the change output value is equal to the other output values the change address can be identified by sequence number, which must not equal or be +/-1 of the sequence number for either the reference address or the data address
Change address is 77, +1 of the reference address.  Explicitly invalidated with current wording.  Either that paragraph needs to be rewritten or the transaction should be invalidated by you guys.  At face value it seems too restrictive when we have P&D available so I'm not against (after testing this is the only tx affected by the change) rewording it to something like:
Quote
Ideally, all outputs should be the same (except the change). In fringe cases where the change output value is equal to the other output values the change address may be identified by sequence number, which must not equal or be +1 of the sequence number for the data address

Re transaction c2a904dd47797736617bf5df555f029064de0fc2ff5ba71197638e469caae7f5, good example of whether P&D should be used for anything decodable.  All the outputs are the same AND there are duplicate sequence numbers.  But I do agree P&D code can identify the data & reference addresses successfully.  

I've got to throw it out there - I think largely the unasked question - where is the value in all these rules for Class A at all if P&D could be used in any decodable scenario?  

Essentially P&D requires a valid data packet and a second address with a seqnum +1 that of the data packet for the reference - that's it.  Everything else can be discarded if the rules that relate to them are optional.  I thus see two viable options really:

1) Allow any P&D decodable transaction to validate.  Strip the spec on Class A.  Simplify the ruleset and take out everything related to change, same output values etc.  All that is required for a valid Class A is a P&D decodeable data packet and another single address with data packet seqnum+1 for the reference (plus an output to Exodus of course).
2) Restrict P&D to specific scenarios.  Outline & detail these in the spec via a matrix of valid and invalid cases.
3) Keep the rules as current and allow P&D fallback for any decodable transaction.  This is the case that I see no value to, if P&D can always be used, then the rules are not enforced (and thus effectively pointless).

It may seem crazy at first look given how much effort we've expended on supporting Class A, and I'm not necessarily saying I've thought through 1) in detail, but if the end decision does end up being "P&D can be used for anything decodable" then perhaps it's time to throw out all the excess baggage and make P&D the decoding method rather than a fallback.  Would be interesting to see if that changed state at all.

Oh also FYI Tachikoma, consensus check runs at the end of every blockscan update (5 minutes currently) mate.

Thanks Smiley
Zathras

Smart Property & Distributed Exchange: Master Protocol for Bitcoin
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
January 07, 2014, 10:10:41 AM
 #788

I've got to throw it out there - I think largely the unasked question - where is the value in all these rules for Class A at all if P&D could be used in any decodable scenario?

This has been going on in my mind as well; I just was afraid of putting it out there. Since we only allow Class A for Simple Sends P&D is actually a really viable way of doing things. When writing my P&D description in the post above I realised that we are doing a lot of extra things.

I think if we take P&D as standard that everything will be a lot easier to parse. I will do some thinking and see if I can formulate a way of parsing Class A so that P&D is the initial thing we try.

I think transaction ecb792bf58c67120d6d62149f542271c33e3df046460aebc2bae1012e5ba52e5 would automatically be solved if we rewrite the spec to always use P&D and go from there.

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
Bitoy
Sr. Member
****
Offline Offline

Activity: 449
Merit: 250


View Profile
January 07, 2014, 03:18:33 PM
 #789

I've got to throw it out there - I think largely the unasked question - where is the value in all these rules for Class A at all if P&D could be used in any decodable scenario?

This has been going on in my mind as well; I just was afraid of putting it out there. Since we only allow Class A for Simple Sends P&D is actually a really viable way of doing things. When writing my P&D description in the post above I realised that we are doing a lot of extra things.

I think if we take P&D as standard that everything will be a lot easier to parse. I will do some thinking and see if I can formulate a way of parsing Class A so that P&D is the initial thing we try.

I think transaction ecb792bf58c67120d6d62149f542271c33e3df046460aebc2bae1012e5ba52e5 would automatically be solved if we rewrite the spec to always use P&D and go from there.

I already use p&d first when processing class a transactions.   
However
ecb792bf58c67120d6d62149f542271c33e3df046460aebc2bae1012e5ba52e5
Will not pass p&d level 2 because the data seq is 75 and there is no seq no 74 as recipient address.
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
January 07, 2014, 03:53:04 PM
 #790

Shouldn't the recipient be 76?

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
Bitoy
Sr. Member
****
Offline Offline

Activity: 449
Merit: 250


View Profile
January 08, 2014, 03:21:54 AM
 #791

Shouldn't the recipient be 76?

You are correct 76.  Therefore transaction is valid under p&d level 2. ( class a is draining my brain  Smiley
Bitoy
Sr. Member
****
Offline Offline

Activity: 449
Merit: 250


View Profile
January 08, 2014, 09:08:22 AM
 #792

Bitoy, Grazcoin, Zathras; could you all give me your URL's for the test MSC verification API?

I want to prepare for the DEx consensus Smiley

Edit: Already mailed it out as well since I want this sooner rather then later.

For Test MSC
http://mymastercoins.com/jaddress.aspx?CurrencyID=2
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
January 08, 2014, 05:02:43 PM
 #793

I added an issue with a suggestion for the updated P&D rules specification for the spec to helpfully make it all clear once and for all.

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
dacoinminster (OP)
Legendary
*
Offline Offline

Activity: 1260
Merit: 1031


Rational Exuberance


View Profile WWW
January 08, 2014, 11:17:38 PM
 #794

Important update regarding the contest!

We had a board meeting recently, and a major topic was how we can encourage faster development of the distributed exchange. Wonderful progress has been made so far, and we want to reward that and encourage more progress, especially with several major competitors nipping at our heels.

With that goal in mind, the proposal was made that we pay out half of the bounty early, based on progress made through 1/22/2014 (two weeks from today). That leaves some time to polish up your work so far, and possibly engage in some testing and bug-finding on other people's implementations (per the rules, 50 BTC of the 150 are allocated for testers).

Realizing that this is a change from the proposed rules of the bounty (although, we believe, a positive change for everyone), we gave the primary devs a couple days to comment before announcing this, and with their feedback, we decided that this was the right move to accelerate things.

Thanks!

superfluouso
Full Member
***
Offline Offline

Activity: 201
Merit: 100


View Profile
January 09, 2014, 08:10:42 AM
 #795

Bitoy and Zathras - do you folks have wallets available for testing with Test MSC?  Bitoy, I know you have a wallet but last I had heard you were sorting out the SQL issues - Was that resolved?  Zathras, I really like the looks of the sneek peak - any updates on opening the wallet for testing purposes?  Thanks!

Bitoy
Sr. Member
****
Offline Offline

Activity: 449
Merit: 250


View Profile
January 09, 2014, 11:55:26 AM
 #796

Bitoy and Zathras - do you folks have wallets available for testing with Test MSC?  Bitoy, I know you have a wallet but last I had heard you were sorting out the SQL issues - Was that resolved?  Zathras, I really like the looks of the sneek peak - any updates on opening the wallet for testing purposes?  Thanks!




Mymastercoins thin client wallet is at
http://mymastercoins.com/MyMSCWallet.aspx

I'm trying to remove reliance on bitcoind.exe.  In order to do this

1. I need a way to generate bitcoin address with a private key. (Like bitaddress.org)
2. Sign transactions and send them (via blockchain.org pushtx). 

Sample scripts greatly appreciated Smiley


Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
January 09, 2014, 04:59:26 PM
 #797

1. I use a ruby library bitcoin-ruby that can generate addresses, I'm sure your language of choose should have something like that.
2. Same Smiley

Now for some distributed exchange fun.

Bitoy (and others). The spec mentions that the amount used in a Selling Order should be reserved and thus removed from the balance. I did a consensus check between us and I think you are not doing that yet. Because of this its harder to compare numbers; could you check your output and see if you could build in reserved funds to your solution?

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
zathras
Sr. Member
****
Offline Offline

Activity: 266
Merit: 250



View Profile
January 09, 2014, 10:24:41 PM
 #798

Bitoy and Zathras - do you folks have wallets available for testing with Test MSC?  Bitoy, I know you have a wallet but last I had heard you were sorting out the SQL issues - Was that resolved?  Zathras, I really like the looks of the sneek peak - any updates on opening the wallet for testing purposes?  Thanks!

There is no public release (for my wallet) yet but it's coming (soon) Smiley

1. I need a way to generate bitcoin address with a private key. (Like bitaddress.org)

As you're .NET have a look at the code behind the Bitcoin Address Utility from casascius (https://github.com/casascius/Bitcoin-Address-Utility).


Smart Property & Distributed Exchange: Master Protocol for Bitcoin
zathras
Sr. Member
****
Offline Offline

Activity: 266
Merit: 250



View Profile
January 09, 2014, 10:39:29 PM
 #799

Cross post from the main thread:
Hey guys,

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!

The foundation has been working tremendously hard to attract quality talent to drastically speed up development and I can't express enough how excited I am to have the opportunity to dedicate significantly more time to Mastercoin.  We have a great team working on the project and with a significant number of new hires coming on board too and getting involved the next few months should be an exciting time!

I will be ceasing my current role and transitioning to working full time on development on 24 Feb.

Thanks to the community for all your support to date Smiley
Zathras

Smart Property & Distributed Exchange: Master Protocol for Bitcoin
Tachikoma
Hero Member
*****
Offline Offline

Activity: 938
Merit: 1000



View Profile WWW
January 09, 2014, 10:42:47 PM
 #800

I already got the chance to say it in person but I will say it again: Awesome news Cheesy

Electrum: the convenience of a web wallet, without the risks | Bytesized Seedboxes BTC/LTC supported
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 [40] 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!