msin
Legendary
Offline
Activity: 1470
Merit: 1004
|
|
October 17, 2014, 05:56:22 PM |
|
I had a sort of zen minimalist moment yesterday. We have a new specification for Sia, and it's really really simple. Even simpler than Bitcoin, because we simplified the way the scripting system works.
It's pretty much the most minimal possible protocol that allows decentralized storage to happen. There are hosts that announce they have storage, and there are files that hosts agree to store, and the hosts submit proof-of-storage on the files to get paid. If they don't submit proof-of-storage, then the uploader gets refunded automatically.
And that's pretty much it, happening on a blockchain. It's so simple that we should have an alpha ready to go within a few weeks, maybe 4 to 6. I'm actually really excited about this new protocol, because it's simple enough to implement quickly and powerful enough to allow a full structure of decentralized storage.
We do sacrifice a few things: 1. There is no global network price. Hosts set their own price. 2. There is no automatic file repair. Clients will need to manage file repairs themselves. This means they need to be online to make the repairs, but that means running 'repair' every few months instead of needing to be online all the time. 3. There is no 'sublinear consensus'. Sia is a single blockchain and will need to deal with blockchain bloat in all of the same ways that apply to other altcoins. This shouldn't be a problem until we have multiple millions of users.
That's basically it. We slimmed things down to the very core requirements: decentralized storage that doesn't require you to be online all the time. Turns out you can do this with only a few simple changes to the Bitcoin protocol. We should still be completely compatible with enterprise customers, which I think is where the majority of our users will eventually come from. Without sublinear consensus, I'm having troubles imagining that we'll be useful for files below 10GB in size, but that's a problem for the future. Enterprise customers are unlikely to need files less than 1TB in size (replace file with 'cloud disk' --> 'file' is a misleading term). A 2.0 down the line will probably address this (requiring either a hardfork or a different cryptocurrency). We want to delay sublinear consensus because right now there are no good solutions to decentralized storage. We can change this without decentralized storage and we think it's more valuable to release something simple now than something complex and potentially insecure after we spend 3-6 more months planning it out.
We're planning on releasing a whitepaper alongside a beta implementation. The beta implementation will be fully usable, but we're going to premine 99% of the coins on the beta, as sort of a "NOT FINISHED YET" red flag. After a few months of beta, we'll decide how much needs to change for a 1.0, and we'll release a 1.0 that has sianotes and no premining.
Luke and I are ecstatic. Wanted to share my enthusiasm. I know it's been a roller coaster, but that seems to be the expectation for startups and early stage investing.
Good to hear, looking forward to updated whitepaper.
|
|
|
|
peggy2jj
|
|
October 17, 2014, 10:30:32 PM |
|
Thanks for the hard work
|
|
|
|
|
Taek (OP)
|
|
October 19, 2014, 05:18:34 AM |
|
On the distribution of Sianotes into the new protocol:
What I'm leaning towards right now is releasing Sia with sianotes built in, and then manually moving everyone's sianotes to the new protocol. To have them moved over, you'll send the sianotes to an Nxt address that I provide (if it seems reasonable, it'll be an unusable address). You'll send them with some message indicating what Sia address you want your sianotes sent to.
Once all the sianotes have been moved over, the Nxt sianotes will become completely worthless, as they've migrated. We'll probably have a deadline for moving Sianotes over, but it'll probably be 6 months to 1 year after we start moving them over. We'll be reasonable with regards to that.
At that point sianotes will be generating siacoins for everyone. They'll be transferable assets, meaning you can sell them on exchanges and stuff.
At that point we'll switch gears from being a small, moderately stealth cryptocurrency to being as public as possible. We'll probably fund one of those silly videos that startups and altcoins like releasing, because they seem to grab a lot of attention. And then we'll be a full startup. Follow our growth and whatnot.
Still no eta on the whitepaper, but it's looking a lot cleaner than the previous one. I'm liking it.
|
|
|
|
Taek (OP)
|
|
October 19, 2014, 05:52:38 PM |
|
At that point sianotes will be generating siacoins for everyone
|
|
|
|
Taek (OP)
|
|
October 19, 2014, 06:05:51 PM |
|
Sianotes enforce a tax on the network. For every coin that is spent on renting storage, a percent will be taken and distributed among sianotes holders.
This is not a transaction fee, it's not a bandwidth fee, it's purely a storage fee. We use this fee instead of premining to fund our business and give value to the people who backed Sia. This money will go directly to funding developers, which means more than just me and Luke. We're planning on building something like Mozilla that's focused around cryptocurrency. Sia is our first major source of income.
The current model for cryptocurrency startups is premining, which I think is dirty and awful. Premined currencies means that someone (IE Satoshi, Ripple, etc) owns an extraordinary amount of coins, and this gives them a lot of power to crash the network, and creates a point of trust. In Bitcoin, we're basically all trusting that Satoshi doesn't do something retarded with his stash, because he could really wreck the ecosystem.
But it's also awful for the people who own the premined currency. As a business, how am I supposed to pay my employee? Cryptocurrencies are notoriously unstable. If I premine 1 million coins, and initially they are worth 10 cents each, how many do I sell vs. how many do I keep? As I continue to sell more coins, my company benefits less and less from the value we add to the network. And (as happened in Bitcoin recently), what if we add a ton of value to the network, and the price just falls? In the time that Bitcoin went from $800 to $300, Bitcoin as a currency was made a lot more useful to society. The price was pretty much unrelated b/c people don't need to hodl Bitcoins to get the value out.
So we're isolating ourselves from that problem, and we're isolating our currency holders from that problem. Storage is a real world asset with a stable value. If the price of the siacoin falls, the price of storage in siacoins will rise. By taking a fee on storage, we get our income directly from the value we add to the ecosystem, and we get that income regardless of what the price is. If we add value by adding both suppliers and consumers, our income will go up. Price shenanigans won't affect us.
And by us choosing not to own large volumes of the currency (and by keeping it permanently inflationary), we isolate you guys from whales. We want Siacoins to be a modest-at-best long term investment, because that will keep the whales from being interested. (The Sianote is a different story - very good long term investment, very subject to price instability, manipulation, whales, etc., but you don't pay for storage with the sianote so that's okay. People who want stability and predictability can use the siacoin at the cost of it not being a lucrative investment.)
|
|
|
|
Taek (OP)
|
|
October 19, 2014, 06:25:22 PM |
|
Yes, pretty sure we are legally bound to that number.
|
|
|
|
Taek (OP)
|
|
October 22, 2014, 08:47:44 PM |
|
I feel like some sort of response to the sidechains thing is necessary. Sidechains aren't nearly far enough along for us to rationally consider using them. Being an altcoin still feels like the most sensible thing for us. The particular advantage that sidechains would offer to us (if the technology were ready, which I do not feel that it is) is that we could do proof of storage on Bitcoins directly. (we could still keep Sianotes). But there's a lot of complexity involved in doing that, and I don't trust myself to do it correctly at this point, especially since there's no existing reference sidechain. Even further, I'm not sure that I want to use bitcoins directly, I think I'd rather have the siacoin be a separate asset, because there a different rules governing the siacoin economy (namely there's a sink for coins - when you create a contract, those coins are locked down for the duration of the contract, and can't be spent until either the host earns them or the host screws up and disappears). The siacoin really should have a greater stability than exists in Bitcoin once it's past the initial period of high growth. The situation where Bitcoin is improving dramatically but the price is falling for 6 months shouldn't be as possible in Sia. If the protocol usage is going up, the scarcity of the coin is also going up because people need to lock down the currency in order to make use of the storage contracts. We wouldn't want to dilute our stability by using bitcoins, as the price of bitcoin depends on a much greater number of factors (it's used in more places), and a fallout in one of those places would hurt Sia as well. I see economic isolation as a good thing in Sia's case. For those wondering: www.blockstream.com
|
|
|
|
Tobo
|
|
October 23, 2014, 01:09:48 PM Last edit: October 23, 2014, 02:11:56 PM by Tobo |
|
Does this mean that with the side-chains BTC will solve the scalability issue but make 51% attack issue worse?
|
|
|
|
Taek (OP)
|
|
October 26, 2014, 08:12:23 AM |
|
Not necessarily. I think they have more clever ways of doing things so that you get scalability without much added risk.
One of their ideas was to use a sidechain for less valuable transactions. So you'd have merge mining which mostly protects the smaller transactions, but since the total amount of money being thrown behind maintaining consensus on the sidechain is smaller, it's potentially vulnerable to Bitcoin miners being bribed to attack the smaller chain. But since it's only used for smaller transactions, there's not much benefit to attacking the smaller chain.
|
|
|
|
Breasal
|
|
November 03, 2014, 02:32:03 PM |
|
3. There is no 'sublinear consensus'. Sia is a single blockchain and will need to deal with blockchain bloat in all of the same ways that apply to other altcoins. This shouldn't be a problem until we have multiple millions of users.
Have you considered cryptonite's (XCN) mini blockchain protocol as a possible solution?
|
|
|
|
Taek (OP)
|
|
November 03, 2014, 04:20:35 PM |
|
We've considered something like it. This post is more helpful: https://bitcointalk.org/index.php?topic=88208.0We've got something good coming soon. I think two weeks is the most we need for our next release, which will contain a whitepaper and perhaps a bonus announcement.
|
|
|
|
Tobo
|
|
November 04, 2014, 12:57:53 AM |
|
Nice to hear that!
|
|
|
|
Breasal
|
|
November 04, 2014, 02:38:17 PM |
|
Good to see that Sianote has rebounded a bit on the NXT AE. Looking forward to seeing what you devs can do with Sia after all. Good luck.
|
|
|
|
Taek (OP)
|
|
November 09, 2014, 06:16:30 PM |
|
Making an update since things are taking longer than I would have liked.
We're putting the finishing touches on the whitepaper and releasing it as a draft. It's going to be labelled 'draft' because I want there to be time for one more round of criticism and adjustment before releasing the final version of the whitepaper. I think that the final whitepaper will be released near the end of November.
While we've been working on the whitepaper, we've also been working on a beta, which will be available for all platforms. It's still just a command line tool, but you should be able to provide storage in return for beta-coins, and you should be able to rent storage using beta-coins. The code is currently in a private repo, which is why our commit activity appears to have fallen off entirely. We'll be making the repo public as soon as the beta is finished.
While the beta will be sufficient for doing things, we caution that it IS beta software, and that it hasn't been hardened as much as something like the Nxt code. You will be able to store backups and whatnot over Sia using the beta but we strongly recommend against it. We also strongly recommend against giving the beta-coins any sort of value, because the currency will be in a very vulnerable state. The early beta will not have sianotes. Sianotes will of course be in the 1.0.
I'm hoping to have the beta out before November ends.
|
|
|
|
msin
Legendary
Offline
Activity: 1470
Merit: 1004
|
|
November 10, 2014, 04:34:08 PM |
|
Making an update since things are taking longer than I would have liked.
We're putting the finishing touches on the whitepaper and releasing it as a draft. It's going to be labelled 'draft' because I want there to be time for one more round of criticism and adjustment before releasing the final version of the whitepaper. I think that the final whitepaper will be released near the end of November.
While we've been working on the whitepaper, we've also been working on a beta, which will be available for all platforms. It's still just a command line tool, but you should be able to provide storage in return for beta-coins, and you should be able to rent storage using beta-coins. The code is currently in a private repo, which is why our commit activity appears to have fallen off entirely. We'll be making the repo public as soon as the beta is finished.
While the beta will be sufficient for doing things, we caution that it IS beta software, and that it hasn't been hardened as much as something like the Nxt code. You will be able to store backups and whatnot over Sia using the beta but we strongly recommend against it. We also strongly recommend against giving the beta-coins any sort of value, because the currency will be in a very vulnerable state. The early beta will not have sianotes. Sianotes will of course be in the 1.0.
I'm hoping to have the beta out before November ends.
Thanks for the update, looking forward to beta.
|
|
|
|
Taek (OP)
|
|
November 18, 2014, 08:26:01 AM |
|
Putting the finishing touches on the whitepaper. It will be out by Friday, and we will be updating our website and github page to reflect that.
We've also been working on a beta, which is nearly complete. We're looking for people to help us test the early beta, make sure there are no major hiccups before we open the beta to the public. You can be a beta tester on Windows, Linux, and Mac. We strongly prefer that if you join the testing, you have a machine that's online all the time. Closed-beta participants can expect to run into all sorts of juicy and frustrating bugs. Actually, the codebase is very nice and we have a minimally comprehensive test suite. Though you should be prepared for major bugs, I don't think it will be a terrible experience.
If we can get 10-20 machines in the closed test all providing and renting storage, and the closed-beta testers all agree that it's mostly ready for open-beta, we'll open the beta to the general public.
If you are interested in being involved in the closed beta, please message me. There is no financial reward for participating. We expect to be ready for closed beta by the end of November. Open beta will take as long as it takes, but hopefully by the end of the year.
Everything is a command line tool right now. We are in the process of hiring someone to write a front-end (a web client), but I have no idea when it will be ready. Something dirt-simple might be ready by the end of the year, but it might take longer depending on a number of factors.
|
|
|
|
Tobo
|
|
November 18, 2014, 04:01:35 PM |
|
Nice update!
|
|
|
|
msin
Legendary
Offline
Activity: 1470
Merit: 1004
|
|
November 18, 2014, 04:03:50 PM |
|
Putting the finishing touches on the whitepaper. It will be out by Friday, and we will be updating our website and github page to reflect that.
We've also been working on a beta, which is nearly complete. We're looking for people to help us test the early beta, make sure there are no major hiccups before we open the beta to the public. You can be a beta tester on Windows, Linux, and Mac. We strongly prefer that if you join the testing, you have a machine that's online all the time. Closed-beta participants can expect to run into all sorts of juicy and frustrating bugs. Actually, the codebase is very nice and we have a minimally comprehensive test suite. Though you should be prepared for major bugs, I don't think it will be a terrible experience.
If we can get 10-20 machines in the closed test all providing and renting storage, and the closed-beta testers all agree that it's mostly ready for open-beta, we'll open the beta to the general public.
If you are interested in being involved in the closed beta, please message me. There is no financial reward for participating. We expect to be ready for closed beta by the end of November. Open beta will take as long as it takes, but hopefully by the end of the year.
Everything is a command line tool right now. We are in the process of hiring someone to write a front-end (a web client), but I have no idea when it will be ready. Something dirt-simple might be ready by the end of the year, but it might take longer depending on a number of factors.
I'll run beta on Win machine. If you can give me instructions.
|
|
|
|
|
|