-
Notifications
You must be signed in to change notification settings - Fork 442
Whitepaper Things #3
Comments
I realized we may want to make the transaction fee an explicit output for the miner. Imagine that you're doing the Timmy thing, where we're raising $100. So I have 30 people put in $10 each, who each sign that only Timmy can get the $100 out. I then mine the block, and take a $200 transaction fee. That's bad. |
We might want to add some level of type safety, for example the inputs must match the outputs, and we have an explicit field for miner fee, and a different explicit field for funding a contract. |
We should add a naive/example algorithm to the whitepaper that lets clients pick which hosts they upload to. |
We should distinguish between files and data sectors - clients aren't really uploading files, they are uploading data sectors. Perhaps though that's unncessary. For some reason I also eliminated the word 'host', instead calling them 'storage providers' and 'providers', which makes me feel better. I really don't like the word host as a noun for some reason. |
maybe because of its association with viruses? :P I've started using "peer" in the network code for maximum genericness. I think it's fairly implicit that when we say "file," we mean arbitrary data. |
I'm pretty firmly settled on updating the difficulty every block. There seems to be a handful of upsides and no downsides. These should all be discussed in the whitepaper:
Unrelated: need to discuss DoS attacks on providers |
Could also talk about soft forking plans. |
I'm basically using this as a place for notes.
We should mention in the whitepaper that using the blockchain to find hosts is completely optional. A centralized service (like a coin exchange, a forum, a private tracker) is a perfectly acceptible way to find hosts that you are interested in.
Generally though we like having all of the hosts listed in one place because then the random file placement works better.
I am worried about a few things. Simplicity is nice but also scary. With the new system, there's nothing forcing hosts to be available to everyone. It felt more rigorously powerful to force hosts to accept random files, and it felt more rigorously powerful to force files upon random hosts.
It's more powerful because the big players can't leave the system. Super reliable hosts couldn't go off to the side and collect more expensive fees, scaring less reliable hosts away. Also, hosts had no incentive to be "super reliable" if it was significantly more expensive than being "mostly reliable". I'm afraid that people are going to be suboptimally trusting more expensive "super reliable" nodes when in fact the safest behavior is to buy 2 or 3 slots on less reliable nodes than a single larger slot on a super reliable node.
The old Sia didn't have any room for people changing that.
Basically we're trusting that our control of the client will be sufficient to prevent people from doing largely suboptimal things.
I guess that's also an advantage to us though. If our client can produce statistics that's substantially more reliable, cheaper, and faster than other clients, nobody is going to use a competing service. We have a way to stand out without losing customer share to other coins, because our super awesome client won't store on other coins.
Or something. Maybe it will, but only after we take a fee for ourselves again. lol.
It's just nerves though. I think that by being really good we'll be able to stay well ahead of the competition. But that requires actually being really good.
The text was updated successfully, but these errors were encountered: