Pages:
Author

Topic: MasterCoin: New Protocol Layer Starting From “The Exodus Address” - page 63. (Read 448462 times)

member
Activity: 114
Merit: 10
Great presentation Ron. Well articulated my friend. I'll post the recording once it is uploaded.

https://plus.google.com/u/0/events/cosfuleudovf9bbitllefb93874

sr. member
Activity: 462
Merit: 250
Once we have a solid mastercoin API library that can work across multiple languages (optimally do basic parsing in C, then use swig, etc to take out to Python, Perl, Ruby, etc) then the skill bar level is DRASTICALLY lowered. At that point, you can get generic webdevs and generaic devs that have a good mid-level understanding of bitcoin/mastercoin to do the work.

Parsing transactions is an easy part. Maintaining the state is the hard part.

You need some means of representing the state, i.e. balance, pending orders and so on for each address.

Then you read a stream of messages and apply them one by one according to certain rules. E.g. for simple send you need this:

1. check if sending address balance is sufficient
2. decrease balance of sending address by X
3. increase balance of receiving address by X

To implement more complex rules you need more state variables for each address.

Now, the question is, are you going to implement it in C? How?

Implementing only parsing in C and rules in high-level language won't have an effect you're aiming for: parsing itself is straightforward, but rules aren't.

Example:

Quote
An address marked as savings can only do simple transfers (transaction type=0). All other transaction types require addresses without a reversibility time window.

This definitely makes sense: we do not want to define how savings feature interacts with all types of transactions

But what happens if I declare an address as savings after I have submitted an offer? Does it cancel a pending order? Or is this 'mark as savings' command ignored?

Different implementations might implement it in different ways, and getting it right is very, very tricky. On the other hand, deserialization is something a monkey can implement when it has the right tools

Great points. I'm no bitcoin expert obviously, but I know with bitcoin there are blockchain parsers (such as https://github.com/znort987/blockparser) that can run through and compile stats on the block chain (e.g. simple aggregate metrics, a list of addresses with balances and their balances, etc). Obviously, the rules behind mastercoin are a very good deal more complex than bitcoin, but perhaps some kind of parser could be written (not necessarily in C) that could run either as a one-shot (parse through the chain and output) or resident (with streaming output).

Output would be in a simplified JSON-formatted structure, that comprise "absolute actions" that have been validated through the spec-derived rule set encoded into the parser itself.

e.g "address A sent address B 50 MSC". In this case, the parser has done all of the difficult parsing and validation (such as, the sending address having the balance, the transaction being a valid Class A/B/C one, whatever else)...it outputs this in JSON format, a higher level web tool can either read it from a file (streamed or as a static/batch run) or maybe attach to the process's event interface via TCP/IP and get it that way.

other examples:
"address C put out an offer for 50 MSC @ .50/ea. offer ID is 1234".
"address D bid on offer 1234 for 20 of the 50 MSC"
"address E created a smart property named 'foobar' with currency ID 4567"

This way, all higher level utilities could hook into this Mastercoin daemon, which would take care of implementing the guts of the spec and take it out to a higher level streamed, JSON encoded "absolute" API, which would focus on things that have actually happened, after all of the parsing and rule validation have been taken into effect. The daemon could be available for windows, linux and mac OS X. A JSON RPC-driven query interface would also be available to allow querying of specific smart properties, transaction IDs, etc.

Hell, write the thing in ruby and use Tachikoma's work as a base for it. Or make it in python (everyone loves python, and that way I'll want to hack on it! :p)

....We shall call it.... "mastercoind" (*pinkie over mouth*)

Maybe I am smoking crack here and this won't gain us much. Just thought I'd put it out there to get the ball rolling for potential solutions. If doing the above makes sense, it would bring us in line with the way bitcoin does things (e.g. bitcoind hooking into exchange sites, armory client, p2pool, pushpool daemon, bitcoin-qt, etc), and speed new development efforts up 20x, as what we're doing now seems a bit similar to forcing everyone who wants to build their own computer to create the CPU from scratch, instead of just buying the parts and slapping them together.
sr. member
Activity: 299
Merit: 253
I was wondering if/how/when it would be possible to implement a currency on a private website. Something like "Gold", which can be transferred between users of the site as well as outside, is safe, and leaves no worries for the developers. Can MSC do this yet?
legendary
Activity: 1022
Merit: 1033
Once we have a solid mastercoin API library that can work across multiple languages (optimally do basic parsing in C, then use swig, etc to take out to Python, Perl, Ruby, etc) then the skill bar level is DRASTICALLY lowered. At that point, you can get generic webdevs and generaic devs that have a good mid-level understanding of bitcoin/mastercoin to do the work.

Parsing transactions is an easy part. Maintaining the state is the hard part.

You need some means of representing the state, i.e. balance, pending orders and so on for each address.

Then you read a stream of messages and apply them one by one according to certain rules. E.g. for simple send you need this:

1. check if sending address balance is sufficient
2. decrease balance of sending address by X
3. increase balance of receiving address by X

To implement more complex rules you need more state variables for each address.

Now, the question is, are you going to implement it in C? How?

Implementing only parsing in C and rules in high-level language won't have an effect you're aiming for: parsing itself is straightforward, but rules aren't.

Example:

Quote
An address marked as savings can only do simple transfers (transaction type=0). All other transaction types require addresses without a reversibility time window.

This definitely makes sense: we do not want to define how savings feature interacts with all types of transactions

But what happens if I declare an address as savings after I have submitted an offer? Does it cancel a pending order? Or is this 'mark as savings' command ignored?

Different implementations might implement it in different ways, and getting it right is very, very tricky. On the other hand, deserialization is something a monkey can implement when it has the right tools
sr. member
Activity: 285
Merit: 250
I have 2 things on my mind...and I think these points need to be address quickly to speed up development and foster outside development.


1) I think its high time that 2 developers, or at least Tachikoma is hired or contracted full time for at least a period of 2 years... this is a minimal relative cost of doing business considering the potential fast turn around of the initiative, due to having someone work on the project full time. At this point Tachikoma who blazes the trail, mostly leading developments and improvement shouldn't be scrounging around working to pay bills. His focus should be on developing and testing so we can have something dependable in no time:  Success in anything depends on FOCUS, and right now our main devs have jobs on the side trying to pay bills. We should take a page from the bitcoin foundation and emulate the hiring of Gavin Adresen.

"Concentrate all your thoughts upon the work at hand. The sun's rays do not burn until brought to a focus."


2) Is there a plan to develop something higher level to interface programmatically with mastercoin? an api maybe, although I couldn't fathom how it will work to do :

simple sends
confirmations
betting etc..

I also thinking of designing mastercoin into my system but do not know where to start, especially if this will be addressed later.

If you are in favor of one or two of these points please echo this post.
Echoing!
+1

This is what I raised up in my post as well. To echo.

This project *absolutely* needs multiple full time developers. Mastercoin foundation needs to make that happen ASAP. At my business, I can hire 3 developers to work full time for me (as well as around 13 other assorted full time engineers) and we pull in less each year than the mastercoin foundation has sitting around. Not sure why this can't be done with Mastercoin as well. Run it like a business. Priority number 1.

Once we have a solid mastercoin API library that can work across multiple languages (optimally do basic parsing in C, then use swig, etc to take out to Python, Perl, Ruby, etc) then the skill bar level is DRASTICALLY lowered. At that point, you can get generic webdevs and generaic devs that have a good mid-level understanding of bitcoin/mastercoin to do the work. The ruby, etc library is good, but we need it available for a wide variety of langs, without a bunch of implementations that all have their own ideas how the blocks should be parsed (we get the problems we are seeing today). This should be priority number 2. Pay for a *reference* C implementation and bindings to other languages can be easily made. Any new standard that comes out in the business world (e.g. audio codecs, etc), they implement a standard reference implementation, and vendors follow suit with their implementations, comparing their test vector results to that. Otherwise you have a mess. Why doesn't mastercoin follow this best practice that has worked so well for the standards industry?


+100
sr. member
Activity: 462
Merit: 250
I have 2 things on my mind...and I think these points need to be address quickly to speed up development and foster outside development.


1) I think its high time that 2 developers, or at least Tachikoma is hired or contracted full time for at least a period of 2 years... this is a minimal relative cost of doing business considering the potential fast turn around of the initiative, due to having someone work on the project full time. At this point Tachikoma who blazes the trail, mostly leading developments and improvement shouldn't be scrounging around working to pay bills. His focus should be on developing and testing so we can have something dependable in no time:  Success in anything depends on FOCUS, and right now our main devs have jobs on the side trying to pay bills. We should take a page from the bitcoin foundation and emulate the hiring of Gavin Adresen.

"Concentrate all your thoughts upon the work at hand. The sun's rays do not burn until brought to a focus."


2) Is there a plan to develop something higher level to interface programmatically with mastercoin? an api maybe, although I couldn't fathom how it will work to do :

simple sends
confirmations
betting etc..

I also thinking of designing mastercoin into my system but do not know where to start, especially if this will be addressed later.

If you are in favor of one or two of these points please echo this post.
Echoing!
+1

This is what I raised up in my post as well.

This project *absolutely* needs multiple full time developers. Mastercoin foundation needs to make that happen ASAP. At my business, I can hire 3 developers to work full time for me (as well as around 13 other assorted full time engineers) and we pull in less each year than the mastercoin foundation has sitting around. Not sure why this can't be done with Mastercoin as well. Run it like a business. Priority number 1.

Once we have a solid mastercoin API library that can work across multiple languages (optimally do basic parsing in C, then use swig, etc to take out to Python, Perl, Ruby, etc) then the skill bar level is DRASTICALLY lowered. At that point, you can get generic webdevs and generaic devs that have a good mid-level understanding of bitcoin/mastercoin to do the work. The ruby, etc library is good, but we need it available for a wide variety of langs, without a bunch of implementations that all have their own ideas how the blocks should be parsed (we get the problems we are seeing today). This should be priority number 2. Pay for a *reference* C implementation and bindings to other languages can be easily made. Any new standard that comes out in the business world (e.g. audio codecs, etc), they implement a standard reference implementation, and vendors follow suit with their implementations, comparing their test vector results to that. Otherwise you have a mess. Why doesn't mastercoin follow this best practice that has worked so well for the standards industry?

sr. member
Activity: 285
Merit: 250
Ola
sr. member
Activity: 311
Merit: 250
where's the link to see the live webinar, i'm confused
me too


here it is:   https://plus.google.com/u/0/events/cosfuleudovf9bbitllefb93874


and keep echoing if you believe this should be done: 
I have 2 things on my mind...and I think these points need to be address quickly to speed up development and foster outside development.


1) I think its high time that 2 developers, or at least Tachikoma is hired or contracted full time for at least a period of 2 years... this is a minimal relative cost of doing business considering the potential fast turn around of the initiative, due to having someone work on the project full time. At this point Tachikoma who blazes the trail, mostly leading developments and improvement shouldn't be scrounging around working to pay bills. His focus should be on developing and testing so we can have something dependable in no time:  Success in anything depends on FOCUS, and right now our main devs have jobs on the side trying to pay bills. We should take a page from the bitcoin foundation and emulate the hiring of Gavin Adresen.

"Concentrate all your thoughts upon the work at hand. The sun's rays do not burn until brought to a focus."


2) Is there a plan to develop something higher level to interface programmatically with mastercoin? an api maybe, although I couldn't fathom how it will work to do :

simple sends
confirmations
betting etc..

I also thinking of designing mastercoin into my system but do not know where to start, especially if this will be addressed later.

If you are in favor of one or two of these points please echo this post.
Echoing!
sr. member
Activity: 285
Merit: 250
where's the link to see the live webinar, i'm confused
me too
hero member
Activity: 882
Merit: 1000
legendary
Activity: 1078
Merit: 1002
Bitcoin is new, makes sense to hodl.
where's the link to see the live webinar, i'm confused
legendary
Activity: 1232
Merit: 1076
+4

I've worked with Animazing before on Electrum and he's a solid developer you want in your community.
legendary
Activity: 1321
Merit: 1007
There is a mastercoin webinar today at 17:30 GMT time (about 1 hour and 45 minutes from now)

https://plus.google.com/u/0/events/cosfuleudovf9bbitllefb93874
sr. member
Activity: 285
Merit: 250
I have 2 things on my mind...and I think these points need to be address quickly to speed up development and foster outside development.


1) I think its high time that 2 developers, or at least Tachikoma is hired or contracted full time for at least a period of 2 years... this is a minimal relative cost of doing business considering the potential fast turn around of the initiative, due to having someone work on the project full time. At this point Tachikoma who blazes the trail, mostly leading developments and improvement shouldn't be scrounging around working to pay bills. His focus should be on developing and testing so we can have something dependable in no time:  Success in anything depends on FOCUS, and right now our main devs have jobs on the side trying to pay bills. We should take a page from the bitcoin foundation and emulate the hiring of Gavin Adresen.

"Concentrate all your thoughts upon the work at hand. The sun's rays do not burn until brought to a focus."


2) Is there a plan to develop something higher level to interface programmatically with mastercoin? an api maybe, although I couldn't fathom how it will work to do :

simple sends
confirmations
betting etc..

I also thinking of designing mastercoin into my system but do not know where to start, especially if this will be addressed later.

If you are in favor of one or two of these points please echo this post.
Echoing!
+1

+2
+3
hero member
Activity: 750
Merit: 500
www.coinschedule.com
I have 2 things on my mind...and I think these points need to be address quickly to speed up development and foster outside development.


1) I think its high time that 2 developers, or at least Tachikoma is hired or contracted full time for at least a period of 2 years... this is a minimal relative cost of doing business considering the potential fast turn around of the initiative, due to having someone work on the project full time. At this point Tachikoma who blazes the trail, mostly leading developments and improvement shouldn't be scrounging around working to pay bills. His focus should be on developing and testing so we can have something dependable in no time:  Success in anything depends on FOCUS, and right now our main devs have jobs on the side trying to pay bills. We should take a page from the bitcoin foundation and emulate the hiring of Gavin Adresen.

"Concentrate all your thoughts upon the work at hand. The sun's rays do not burn until brought to a focus."


2) Is there a plan to develop something higher level to interface programmatically with mastercoin? an api maybe, although I couldn't fathom how it will work to do :

simple sends
confirmations
betting etc..

I also thinking of designing mastercoin into my system but do not know where to start, especially if this will be addressed later.

If you are in favor of one or two of these points please echo this post.
Echoing!
+1

+2
Ola
sr. member
Activity: 311
Merit: 250
ripper234 will this be a no brainer if at least 10 people echo this? I hope to everything we believe in Tachikoma does not think otherwise.
zbx
member
Activity: 64
Merit: 10
I have 2 things on my mind...and I think these points need to be address quickly to speed up development and foster outside development.


1) I think its high time that 2 developers, or at least Tachikoma is hired or contracted full time for at least a period of 2 years... this is a minimal relative cost of doing business considering the potential fast turn around of the initiative, due to having someone work on the project full time. At this point Tachikoma who blazes the trail, mostly leading developments and improvement shouldn't be scrounging around working to pay bills. His focus should be on developing and testing so we can have something dependable in no time:  Success in anything depends on FOCUS, and right now our main devs have jobs on the side trying to pay bills. We should take a page from the bitcoin foundation and emulate the hiring of Gavin Adresen.

"Concentrate all your thoughts upon the work at hand. The sun's rays do not burn until brought to a focus."


2) Is there a plan to develop something higher level to interface programmatically with mastercoin? an api maybe, although I couldn't fathom how it will work to do :

simple sends
confirmations
betting etc..

I also thinking of designing mastercoin into my system but do not know where to start, especially if this will be addressed later.

If you are in favor of one or two of these points please echo this post.
Echoing!
+1
legendary
Activity: 1498
Merit: 1000
I have 2 things on my mind...and I think these points need to be address quickly to speed up development and foster outside development.


1) I think its high time that 2 developers, or at least Tachikoma is hired or contracted full time for at least a period of 2 years... this is a minimal relative cost of doing business considering the potential fast turn around of the initiative, due to having someone work on the project full time. At this point Tachikoma who blazes the trail, mostly leading developments and improvement shouldn't be scrounging around working to pay bills. His focus should be on developing and testing so we can have something dependable in no time:  Success in anything depends on FOCUS, and right now our main devs have jobs on the side trying to pay bills. We should take a page from the bitcoin foundation and emulate the hiring of Gavin Adresen.

"Concentrate all your thoughts upon the work at hand. The sun's rays do not burn until brought to a focus."


2) Is there a plan to develop something higher level to interface programmatically with mastercoin? an api maybe, although I couldn't fathom how it will work to do :

simple sends
confirmations
betting etc..

I also thinking of designing mastercoin into my system but do not know where to start, especially if this will be addressed later.

If you are in favor of one or two of these points please echo this post.
Echoing!
Ola
sr. member
Activity: 311
Merit: 250
I have 2 things on my mind...and I think these points need to be address quickly to speed up development and foster outside development.


1) I think its high time that 2 developers, or at least Tachikoma is hired or contracted full time for at least a period of 2 years... this is a minimal relative cost of doing business considering the potential fast turn around of the initiative, due to having someone work on the project full time. At this point Tachikoma who blazes the trail, mostly leading developments and improvement shouldn't be scrounging around working to pay bills. His focus should be on developing and testing so we can have something dependable in no time:  Success in anything depends on FOCUS, and right now our main devs have jobs on the side trying to pay bills. We should take a page from the bitcoin foundation and emulate the hiring of Gavin Adresen.

"Concentrate all your thoughts upon the work at hand. The sun's rays do not burn until brought to a focus."


2) Is there a plan to develop something higher level to interface programmatically with mastercoin? an api maybe, although I couldn't fathom how it will work to do :

simple sends
confirmations
betting etc..

I also thinking of designing mastercoin into my system but do not know where to start, especially if this will be addressed later.

If you are in favor of one or two of these points please echo this post.
sr. member
Activity: 462
Merit: 250
For anyone who hasn't already, please vote on the Mastercoin forums situation here: https://bitcointalksearch.org/topic/should-mastercoin-have-its-own-forums-341882
Pages:
Jump to: