Pages:
Author

Topic: [pre-ANN] Splash: Ripple without the pre-mine (Read 6413 times)

hero member
Activity: 528
Merit: 500
We are the ones we've been waiting for
January 04, 2018, 04:32:17 AM
#27
I guess he gave up!

Um, yes-ish, but not quite in the way you probably mean. First of all, software development always takes ten times longer than you think, so I was making slow progress anyway. (And my life got complicated in various other ways that didn't help.) But now, something new has happened. Peter R has proposed a new standard for launching alt-coins: "Spin-offs: bootstrap your alt-coin with a bitcoin-blockchain-based initial coin distribution". I'm very impressed with this launch style, and I think it's the right way to launch Splash.

Unlike the proof-of-work way of minting XSP, though, I'm not claiming any special insight into the technical details of getting "Splash as a spin-off" done. (Even in the proof-of-work case, I wasn't really claiming that stunning an insight anyway. Essentially just a syntax for XSP-birth transactions that mentions only work and not money [XSP amount]; which simplifies how they can be baked into the consensus, without having to pick and choose among them if there's lots of them, and yet without ever exceeding the desired XSP asymptotic total, no matter how many of them are floating around.) So, "Splash as a spin-off" would really better be done by other people who may like to give it a go, rather than by me.

With that in mind, it's grand announcement time! I hereby relinquish the name "Splash", the slogan "Ripple without the pre-mine", and the currency abbreviation "XSP" to whoever is first to fork Ripple in spin-off style, i.e. starting with the Bitcoin UTXO-set - or, to be precise, the subset that translates into the rather impoverished Ripple address syntax (no multi-sig, no scripts, just single pubkeyhashes). - Or they could do it in Counterparty's style, with XSP minted by BTC being burned. Basically I relinquish to whoever is first to do a Ripple fork without an allocation by software special-case fiat to the developers, or to any other special cases. (That even includes doing it in my originally intended way, namely, XSP birth by proof of work. As I say, I'm no longer so enamoured myself of that way of doing it, but it certainly qualifies as not privileging the developers or other special cases, so... if a team doing it that way is first, they can grab my names and slogans. Cheesy)

OK let's hope Splash in some recognisable form comes into existence! Let me summarize by putting it like this: I've given up my own personal involvement, but I haven't given up the dream. Smiley

Then I hereby claim the name Splash - Ripple without the premine to develop it with a team i'll assemble. Expect news coming soon!. Thanks form the opportunity iain, we'll take Splash as first but it can be pivoted with more features like privacy, interest, private and public banking, untraceable operations, etcétera. We will most likely do an airdrop via an ERC-20 token to test the interest of the community and the revival of this idea given that XRP's interest of the public has spiked enormously in this past days. We'll try to make a "fair ripple" without the corporate sell-off, instead we'll build it for the people. This reminds me of YourChain, the project from DecentralizeEconomics. He might as well take a look at this with his group of coders, but the work in this has already started. Thank you iain, we really hope your vision to be achievable in the foreseen future
jr. member
Activity: 33
Merit: 7
I guess he gave up!

Um, yes-ish, but not quite in the way you probably mean. First of all, software development always takes ten times longer than you think, so I was making slow progress anyway. (And my life got complicated in various other ways that didn't help.) But now, something new has happened. Peter R has proposed a new standard for launching alt-coins: "Spin-offs: bootstrap your alt-coin with a bitcoin-blockchain-based initial coin distribution". I'm very impressed with this launch style, and I think it's the right way to launch Splash.

Unlike the proof-of-work way of minting XSP, though, I'm not claiming any special insight into the technical details of getting "Splash as a spin-off" done. (Even in the proof-of-work case, I wasn't really claiming that stunning an insight anyway. Essentially just a syntax for XSP-birth transactions that mentions only work and not money [XSP amount]; which simplifies how they can be baked into the consensus, without having to pick and choose among them if there's lots of them, and yet without ever exceeding the desired XSP asymptotic total, no matter how many of them are floating around.) So, "Splash as a spin-off" would really better be done by other people who may like to give it a go, rather than by me.

With that in mind, it's grand announcement time! I hereby relinquish the name "Splash", the slogan "Ripple without the pre-mine", and the currency abbreviation "XSP" to whoever is first to fork Ripple in spin-off style, i.e. starting with the Bitcoin UTXO-set - or, to be precise, the subset that translates into the rather impoverished Ripple address syntax (no multi-sig, no scripts, just single pubkeyhashes). - Or they could do it in Counterparty's style, with XSP minted by BTC being burned. Basically I relinquish to whoever is first to do a Ripple fork without an allocation by software special-case fiat to the developers, or to any other special cases. (That even includes doing it in my originally intended way, namely, XSP birth by proof of work. As I say, I'm no longer so enamoured myself of that way of doing it, but it certainly qualifies as not privileging the developers or other special cases, so... if a team doing it that way is first, they can grab my names and slogans. Cheesy)

OK let's hope Splash in some recognisable form comes into existence! Let me summarize by putting it like this: I've given up my own personal involvement, but I haven't given up the dream. Smiley
sr. member
Activity: 356
Merit: 250
Dock.io
I guess he gave up!
hero member
Activity: 528
Merit: 500
We are the ones we've been waiting for
?
legendary
Activity: 1022
Merit: 1000
full member
Activity: 182
Merit: 100
any news?
legendary
Activity: 1400
Merit: 1000
Updates Cheesy
hero member
Activity: 966
Merit: 1003
Can't the mods ban these reservers already ffs.

Why because people wrote RESERVED and come back later to edit and post their perceptive on the topic.

So if and when you actually have something to say why not post it in the end of the thread so people who read only the new posts will actually see it?  Huh
legendary
Activity: 1400
Merit: 1000
Can't the mods ban these reservers already ffs.

Why because people wrote RESERVED and come back later to edit and post their perceptive on the topic.
member
Activity: 89
Merit: 10
Great concept, certainly an improvement on Ripple.  Please keep me posted.
hero member
Activity: 966
Merit: 1003
Can't the mods ban these reservers already ffs.
legendary
Activity: 1400
Merit: 1000
I love the ripple protocol but i think it might have succeed if it was community driven than having big companies as investor.
sr. member
Activity: 462
Merit: 250
Watching!
Just click on the "watch" button below the last post of a page instead of spamming threads please... Undecided

Apologies, wasn't aware of that feature!
legendary
Activity: 2618
Merit: 1007
Watching!
Just click on the "watch" button below the last post of a page instead of spamming threads please... Undecided
legendary
Activity: 2618
Merit: 1007
(I'm intrigued by your mention of BTC or similar as a possible native asset. I presume you don't mean an IOU that happens to be spelt with the letters B,T,C? Cheesy Do you mean some sort of crossover protocol, where burning of blockchain BTC causes something called "[non-IOU] BTC" to appear in Ripple shortly afterwards? [There'd be no crossing back of course. Not unless the Bitcoin developers, ah, got the Ripple bug. Cheesy] Or do you mean something else entirely? Apologies for sometimes being slow to understand things. - Again, whatever your exact meaning, this would be for someone else to try: I'm going to try a clean slate.)
No I indeed meant using native BTC as native currency on Ripple - XRP have the same features as BTC, they are just a bit faster to irreversably confirm, that's all. It might be a bit more complicated, as validators then would need an SPV or maybe even a full BTC node to verify transactions, but fundamentally I don't see many issues with that. Transactions of course will take longer to clear (different validators might implement different rules e.g. one just waits a bit for double spends and then confirms, while others are waiting for X amount of blocks deep), but there would be no need to destroy BTC, as the anti-spam mechanism is anyways enforced by the BTC network.

Compiling Ripple is relatively easy, the only issue is currently with using CentOS and other RHEL clones since they use relatively old compilers an versions of boost.
legendary
Activity: 1512
Merit: 1004
I am not trusted with XRP.
http://ripplescam.org/

Waiting for you and XSP.
Wish you lucky.
legendary
Activity: 868
Merit: 1000
Cryptotalk.org - Get paid for every post!
Great stuff.  Watching.
jr. member
Activity: 33
Merit: 7
I really hope you will release your code (and give regular updates) as soon as possible, I'm unsure why you want to introduce PoW for the transaction level though (sounds like Bitmessage) if you still want to keep a native asset (XSP) around.

As far as I understand, XSP will be mined (e.g. you set a certain number to be mined per 2 weeks or so and adjust difficulty, just like Bitcoin and then instead of using PoW to verify all transactions you just attach PoW to individual "coinbase" transactions). Why not modify the existing Ripple implementation to have XSP as additional second native asset next to XRP? BTC also are a good (by far not the best, but at least an okay one) candidate for additional native assets on Ripple.

Anyways, again, please share code as early as possible and good luck with your endeavours! Smiley

Ah, sorry, I maybe didn't explain things very well. I'm not intending to use PoW universally, as anti-spam in every transaction; although that's certainly a future possibility, for both Ripple and Splash to consider, if the existing regime of charging a small fee that escalates on signs of "spamminess" proves insufficient. For now, the existing charging regime seems to be working fine, in Ripple, and I intend to simply use it unaltered in Splash.

My usage of PoW will be technically far more humble (and yet, philosophically, quite pivotal): namely, as the unique way the native asset (XSP) is ever born. Once born, though, it then behaves just like the XRP in Ripple: it moves around via ordinary (non-PoW) transactions, acts as a path shortener in order book matching etc, and is the unique unit for denominating reserve requirements and anti-spam fees. And none of that activity will involve PoW at all.

About possible mixed systems: yes, it would certainly be possible to have a Ripple fork with both an "XRP" (either owned entirely by the fork's developers at launch, or snapshotted from Ripple at the fork moment) and an "XSP" (born gradually by PoW). I'm not sure that path-shortening or anti-spam would really be helped much by having two native assets rather than one; but I suppose if some people philosophically prefer the one kind of native asset and other people the other, they can express their preferences in their holdings while still all being members of the one giant mixed system. (And thus able to trade with each other.) My own development preference is to build a "clean slate" self-contained system. But other people can fork Ripple (or indeed Splash!) any way they please. I hope, if they do, they choose to document their development adventures in this forum, or some other prominent place on the web.

(I'm intrigued by your mention of BTC or similar as a possible native asset. I presume you don't mean an IOU that happens to be spelt with the letters B,T,C? Cheesy Do you mean some sort of crossover protocol, where burning of blockchain BTC causes something called "[non-IOU] BTC" to appear in Ripple shortly afterwards? [There'd be no crossing back of course. Not unless the Bitcoin developers, ah, got the Ripple bug. Cheesy] Or do you mean something else entirely? Apologies for sometimes being slow to understand things. - Again, whatever your exact meaning, this would be for someone else to try: I'm going to try a clean slate.)

And now, finally, as I've said in my edit of my "(reserved)" post up at the top, I'm afraid I'll be away from the net for a fortnight. So don't be alarmed at my falling silent after this message. Rest assured, I definitely plan to conduct my development process in the open... probably on GitHub I'd imagine. - I should confess right away, here and now, that I'm still a novice at the management of a really large, heterogeneous body of code. Put it this way: I still haven't got Ripple to compile yet on the machine I'm using, so I'm nowhere near ready to start tweaking it! But even if Ripple forking defeats me utterly, I'll still aim to put pseudo-code on my wiki page, with the hope that someone else has a go at turning it into a real, working fork.

Thank you for wishing me luck - I'll need it! Cheesy See you all in a fortnight.
legendary
Activity: 2618
Merit: 1007
December 17, 2013, 06:37:25 PM
#9
I really hope you will release your code (and give regular updates) as soon as possible, I'm unsure why you want to introduce PoW for the transaction level though (sounds like Bitmessage) if you still want to keep a native asset (XSP) around.

As far as I understand, XSP will be mined (e.g. you set a certain number to be mined per 2 weeks or so and adjust difficulty, just like Bitcoin and then instead of using PoW to verify all transactions you just attach PoW to individual "coinbase" transactions). Why not modify the existing Ripple implementation to have XSP as additional second native asset next to XRP? BTC also are a good (by far not the best, but at least an okay one) candidate for additional native assets on Ripple.

Anyways, again, please share code as early as possible and good luck with your endeavours! Smiley
jr. member
Activity: 33
Merit: 7
December 16, 2013, 12:38:07 AM
#8
Suggestion: since you're incorporating mining but not using it to confirm transactions, why not just use BOINC?  (http://boinc.berkeley.edu/ -- grid computing for scientific problems, cancer, AIDS, protein folding, etc.) Benefits:

1. Ripple's already doing this, with their World Community Grid "giveaway", and it seems like as good a proof of work scheme as anything else.

2. It's doing something that is obviously good and useful with your computing power.  Might help you raise interest in Splash -- BOINC is useful in a much more concrete way than, say, finding long prime number chains.

3. It's easy for people to set up BOINC.  It has a user-friendly interface.  It runs on everything -- heck, I have it cranking away on my phone, because why not?  Contrast this with, say, cgminer or cudaminer, which are a nightmare to set up the first time you do it.

That's an interesting thing to think about. I've been wrestling with the proof of work choice for a while now. (I didn't think specifically of BOINC or similar grid projects, but I thought of things like memory-hard functions over the whole ledger history - things that would be helpful if ever proof of work did move to ledger [validation] level after all.)

In the end, I'm planning at the moment to just stick with one of the two best-known "intrinsically pointless" hash functions, namely SHA256 or Scrypt. I know this will disappoint you, and I'd better say at least a few words to justify my choice. The main criterion is that verification must be utterly simple and unambiguous. Everyone who's in any doubt that a ledger history might be suspect in some way, must be able to establish beyond doubt that the hashes are valid solutions to a problem of the required difficulty.

As I understand things, the various scientific/medical grid@home projects - BOINC, SETI, folding... - all publish problems, ask people to work on them, and then say "scientists will get back to you (and at least congratulate you, put you on the fast track to fame, maybe offer a money reward in some of the projects... whatever) when they're happy you've found a worthy solution to a worthy problem". And there's the rub. How can a validating node, listening in on someone else's reported proof-of-work triumph, know the triumph really means anything? What if it's not a BOINC-approved protein that was being folded, but a similar-looking one that a protein expert could have told you was much easier to fold? The software would need web-interrogating interfaces to "BOINC HQ" or whatever, to check that BOINC at some earlier time "blessed" the problem just solved as a hard one. You see why I'm worried that this is all just too much for a software system to cope with.

For now, then, I'm planning to go down the well-worn "pointless work" route. - Probably Scrypt in preference to SHA256, since many people will only aspire to mine a one-shot, small, "bootstrapping" amount of XSP - just enough to set up a few orders and trust lines and the like, with a view to then acquiring and holding and spending other [IOU-type] assets. Such people will have no intention of thinking of themselves as miners in any long-term sense; they certainly won't want to buy an ASIC. They'll just want to leave an "ordinary" CPU/GPU running overnight or over a weekend, and wake up to discover they've successfully created a few tens of cents' worth of XSP, which is enough to let them start interacting with gateways, etc etc. (If serious miners were meanwhile using ASICs, then they'd out-compete the casual folk, who'd wake up to discover they'd mined nothing, rather than a reserve-and-a-few-account-lines quantity of XSP.)

I'd be delighted to be proved wrong on this choice. If there's a decentralized way of knowing a just-solved scientific problem was hard for the solver - i.e. a way not involving "chatting to BOINC HQ" or the like - then by all means let's go for it, in Splash or elsewhere! But for now, Scrypt is my likely choice. (I'll naturally try to write modular code, isolating the choice of proof-of-work task from the rest of the code, so that any breakthroughs in "decentralizing meaningful science" can be seamlessly switched to as and when they happen.)

Oh, and one final thing which might cheer you up: in your last paragraph you mentioned mining software being a difficult beast to master. Well, the good news is that moving proof-of-work from ledger (block) level to transaction level makes mining code vastly simpler. The reason is, rather pleasingly, it doesn't need to keep up with the ledger chain, or even be online! In the casual scenario above, where someone's trying to open a brand new Splash account (address) with a modest XSP balance, they just need to pass their currently-unfunded Splash address to their mining software, along with their rough target XSP amount to try and mine, and two public facts they can collect from any reputable "ledger explorer" site: the current (or reasonably recent) network difficulty figure, and the current (or, again, reasonably recent) ledger hash. The mining software can then chug away without even needing a net connection; and a day or two later, when it strikes lucky with its proof of work, it can proudly output its transaction for broadcasting on to the network. (Perhaps as a QR code - the transaction will be small.)

(The quid pro quo for this implausible-sounding miracle, of the mining software being able to be offline, is that when the transaction is broadcast and absorbed into a ledger it may not create precisely the stated target quantity of XSP. In practice the variation is unlikely to be more than a few percent. So if it's absolutely vital to you that you start your Splash adventures with 70XSP, it would in practice be enough to say to your mining software "I want to aim for 80". And then you might end up with 70 or 75... or 85 or 90.)

In the corresponding "professional" scenario, where a serious miner wants to keep topping up the same Splash address with ever more freshly-mined XSP, the software would need to be told a third and final public fact: how many times that address has had successful mining done on it already. (This is to avoid a certain kind of network spam, known as work re-use.) Even that small additional fact doesn't really need to be "told" in so many words, so long as you're only running one instance of your mining software, and it has read/write access to persistent memory of some sort (disk space, a browser cookie,...). (Because then it can jolly well count the number of mining events itself! That is, add 1 to its persistent-memory counter on each finding of a work solution, ready for its future self to be solving the right future work problem.)

Sorry if this all seems a bit cryptic - eventually I'll be describing, in full technical detail, my transaction-level mining protocol, but I'm not ready for that just yet - but I hope I've whetted your appetite for now, and teased you with the possibility of Splash mining software being simple enough that it can be installed with the same ease and panache as BOINC! I hope that's at least some consolation!
Pages:
Jump to: