OmniLayer / spec

Omni Protocol Specification (formerly Mastercoin)
The Unlicense
341 stars 116 forks source link

Scripted Crowdsales AKA CrowdScript #214

Open ripper234 opened 10 years ago

ripper234 commented 10 years ago

We current have one type of crowdsale with one set of rules, which is pretty identical to the original Mastercoin crowdsale of August 2013.

We also have some ideas on how to expand this:

We'll probablly have more and more ideas over time.

Instead of trying to implement all of these, how about we borrow some ideas from Ethereum and Bitcoin Scripting and implement a very limited scripting language to handle the math of the crowdsale?

Imagine the issuer of the crowdsale being allowed to pick from a few pre-defined options, but also being able to submit a custom script in this language (I'll dub that CrowdScript as a temporary name). Here is a sample CrowdScript that implements the original Mastercoin crowdsale. Implementing the other order types using the above primitives is left as an exercise for the reader (if you do this exercise please post here!).

To recap - I suggest we build this scripting language bit by bit, INSTEAD of trying to implement hardcoded cases. I think it's more valuable to us long term, and building an MVP scripting language won't take more than 2-4 weeks (if you have other estimates, feel free to share them!).

ripper234 commented 10 years ago

@petertodd @LOLLOLOOLOL @dacoinminster @marv-engine @zathras-crypto FYI

dacoinminster commented 10 years ago

I've written a simple scripting language before. It was MUCH simpler than your example, and it took MUCH longer than 2-4 weeks. More like 2-4 years :)

That's not to say this isn't a good idea for us to do scripting of some kind, but I don't think we can easily tack it on to what we are doing now. I believe it would be a major effort.

petertodd commented 10 years ago

I agree 100%

I suspect it'd take 2-4 weeks to just figure iut an appropriate design for the language, let alone implement and test it.

ripper234 commented 10 years ago

:(

My over-optimistic nature regarding time estimations strikes again.

@petertodd do you think it's a good idea to have though?

Guys - do you think we should put a bounty on this spec item?

If so what should be a suitable bounty?

How about $10,000 for the spec work + code push into Master Core? Acceptance Criteria - have Peter Todd review the spec change, and a Core team member review the code and merge that in.

  1. Would having this feature be worth $10K to us?
  2. Would $10K be motivating enough for someone with the required skills to go and build this?

@petertodd and @CraigSellars do you know anyone who would be a good candidate to go after this?

ripper234 commented 10 years ago

BTW my take on my first question is "hell yeah". I think it's a significant feature to have and users would love that.

ripper234 commented 10 years ago

FYI I just posted this on /r/ethereum, maybe there are some design notes or even code? we can just "borrow" from them.

Bitoy commented 10 years ago

I'll give this a try. Scripting language that can handle.

Capped Crowdsale Cascading Price Crowdsale Daily sale "Order based discount crowdsale"

Btw what is daily sale?

ripper234 commented 10 years ago

What BitShares did with AngleShares

there will be 10,000 new AGS up for grabs in a new patron competition every day for 200 days.

petertodd commented 10 years ago

I don't think something this fundamental to the design of Mastercoin should be a bounty item, better to do it in house with our existing devs.

A good approach is definitely to look at the existing crowdfund methods and think through how they'd look like written with s scripting language. For that matter, imagine Mike Hearn's Lighthouse needed these features, where would the script go?

taariq commented 10 years ago

+1

ripper234 commented 10 years ago

Well, I'm trying to speed things up and our devs are busy for the next month at least.

P.S see Vitalik's comment on reddit.

ripper234 commented 10 years ago

P.S we can also add rand() in the scripting language, just for shits and giggles.

ripper234 commented 9 years ago

COUNTERPARTY RECREATES ETHEREUM ON BITCOIN

ABISprotocol commented 9 years ago

Wow.
I wonder if @luke-jr will call this spam, too. (that's my not so subtle dig at luke-jr, whose work I generally appreciate) These are exciting times. BTW @ripper234 ~ now might be a good time to check this thing out again (re. Ethereum / Mastercoin hybridization, or cooperation or somethingation)

ripper234 commented 9 years ago

Yep.

petertodd commented 9 years ago

@ABISprotocol I'll bet you $10 that he will. :)

Speaking of, had a great discussion yesterday with someone who was doing a masters thesis on hiding data in the Bitcoin blockchain; he hadn't heard of my blockpop at all! I explained to him how it worked and he explained to me how his scheme worked, and it looks like he'd managed to reinvent about half of what I've done - always a good sign!

I'm going to put flexible data encoding/steganography into a colored coin spec I'm designing, and I'm thinking about how to do it with stealth addresses as well. It'll be good to settle this censorship issue robustly with technical circumvention measures in multiple protocols at once.

ripper234 commented 9 years ago

blockpop needs some more marketing. Maybe an article in Coin Telegraph or something.

ripper234 commented 9 years ago

+$10 on Peter's bet.

petertodd commented 9 years ago

@ripper234 It doesn't need marketing; it needs an actual application using it!

Also I need to do a much better job documenting it, and probably re-write some of the code. I explained how it works to said masters student in terms of it being a state-machine, which he really understood well; my previous explanation of it to him along the lines of what the source-code says didn't work at all.

ripper234 commented 9 years ago

marketing --> for developers.

You want other developers working on similar problems to converge on your (or one of their) projects instead of reinventing the wheel.

Master Protocol is a potential client of blockpop ... I would like to see blockpop integrated in it when it's ready.

petertodd commented 9 years ago

Well, I mean, the best marketing of it would be to create an actual application using it as a demo; just marketing the library itself without a demo is silly.

That software certificate assurance thing I was working on last summer would be a great thing to finish off in that regard.

ripper234 commented 9 years ago

Indeed. I was by no means suggesting spending any money on marketing, just talking to more people / giving a talk / doing an article or something lightweight like that.

petertodd commented 9 years ago

Oh I know! I'm just saying even doing anything beyond talking to people would be so much more productive if I had a demo app to show people.

ripper234 commented 9 years ago

+1 of course :)

On Thu, Nov 13, 2014 at 12:59 PM, Peter Todd notifications@github.com wrote:

Oh I know! I'm just saying even doing anything beyond talking to people would be so much more productive if I had a demo app to show people.

— Reply to this email directly or view it on GitHub https://github.com/mastercoin-MSC/spec/issues/214#issuecomment-62874514.

Ron Gross CEO & Co-Founder, ReverseFunder Skype = ripper234, Schedule my time - meetme.so/RonGross CNO http://www.chiefninjaofficer.com/

dexX7 commented 9 years ago

@petertodd: I'm not sure, if a demo app would be that helpful.. step-by-step debugging of the tests helped me to get a feeling and understanding for what's happening - documentation wouldn't hurt though.

petertodd commented 9 years ago

@dexX7 Oh! That's good to hear!

In any case, improving it is under 'finish my late colored coins library' among other things, so it'll have to wait a bit... And I'll be a capitalist and point out that a small contract could change my priorities there. ;)

ABISprotocol commented 9 years ago

@petertodd :-)