Pages:
Author

Topic: Making BitMessage into a BitPostage alt-coin + Distributed Longterm Storage (Read 4354 times)

hero member
Activity: 770
Merit: 566
fractally
This system is not scalable because all nodes require all information in order to validate the chain.  After running the numbers it became clear that the maximum user-base-per-chain would be too small to support a currency.

legendary
Activity: 1232
Merit: 1094
Calculate the hash of the previous block concat with the full message

The whole point of POW is that it is easier to check than to create.

How would simple verification nodes check the chain?
hero member
Activity: 714
Merit: 500
Could nodes just decide to store loads of data, profit from mining / dividends but then decide to not bother responding to requests for that data?

Since bandwidth can be quite costly, this would be quite a rational thing to do.

How to have economic incentives to prevent this behaviour?
hero member
Activity: 770
Merit: 566
fractally
Any ideas about how a node can prove to the network that he still stores a particular message?

Calculate the hash of the previous block concat with the full message
hero member
Activity: 714
Merit: 500
Any ideas about how a node can prove to the network that he still stores a particular message?
sr. member
Activity: 420
Merit: 250
I could implement something like this into Frog. When you send a message normally, your browser does the proof-of-work. However, the user could pay, like, 0.0001 BTC for the work to be done by a Frog server.
Just an idea.
sr. member
Activity: 448
Merit: 250
This smells of P2P encrypted cloud storage  Grin

"Giant paid-for torrent of everything"

Bytemaster is indeed master of the byte.

I'm all for not fixing any prices whatsoever. It is indeed a limitation of Namecoin that the prices are fixed in such a way. You just need to intelligently design the system so that incentivary mechanisms work properly.

Sounds like mining nodes will need a lot of SSDs. Any way to support partial nodes or lite nodes, in the way that trust-free lite node is being designed for Bitcoin? I don't think it's a serious limitation but it might cause growing pains if a lot of people start using it and the mining community can't scale fast enough.
hero member
Activity: 770
Merit: 566
fractally
The merged-mining strategy and cross-chain trading would be useful for this and I do need a secure message system for BitShares escrow disputes.
hero member
Activity: 714
Merit: 500
Martijn Meijering
Would there be a useful way to combine the two?
hero member
Activity: 770
Merit: 566
fractally
True, assuming the demand for such a service was steady and didn't fluctuate too much.

But BitShares solves this particular problem in a better / more useful manner.
hero member
Activity: 714
Merit: 500
Martijn Meijering
Exactly, and I suspect the price of a one month lease wouldn't fluctuate as wildly as BTC. A basket of digital goods could probably do even better. It wouldn't track any particular currency, but it should be relatively stable in the short term in terms of purchasing power. Essentially, it would be like a digital services commodity.
hero member
Activity: 770
Merit: 566
fractally
Well, the value of 1 NMC would change over time and thus that wouldn't be price fixing.  Price fixing is attempting to force a particular relative valuation between two 'floating' goods.  If the network defines 1 NMC to be the price of a 1 month lease and there is NO OTHER way to purchase a 1 month lease then the unit of value that would fluctuate would be a 1 month lease and thus not price fixing.
hero member
Activity: 714
Merit: 500
Martijn Meijering
you cannot 'price fix' things and this system would not track the price of dollars or any fiat.

Why not? Why couldn't you fix the fee at 1 NMC for a lease of a month, with all fees being destroyed?
hero member
Activity: 770
Merit: 566
fractally
you cannot 'price fix' things and this system would not track the price of dollars or any fiat.

Here is what this system would do, it would eliminate the need to 'price-fix' domain name storage and lookup like namecoin currently does.   Instead, the 'fees' demanded by the miners who have to store your domain records would go up.  You would know it was time to 'renew' when 50% of new blocks generated failed to contain proof they have stored your domain record.   You would then have to 'rebroadcast' a transaction with more fees to make sure people kept and distributed your domain record.    The end result is that the price of 'owning and maintaining' a domain name will approach the distributed cost of storage and be very 'cheap'.  

Now the domain names would have to keep up with demands for other kinds of storage.  For example, you could store these forums and your posts to them.     Now this is where it gets interesting.   *other people* could pay to 'top up' your storage and as a result you could receive a commission.  If you divided all data chunks into 1MB chunks then what you would end up with is a GIANT paid-for torent-of-everything.    Every chunk would be 'encrypted' and thus the information about what data was in any chunk would have to be exchanged 'off-chain'.  

The network could check ever 1MB chunk for 'randomness' and not allow any 'non-random' data to be stored.  

This new chain would probably become known as 'PirateCoin'  due to these features... but it could be marketed as a legitimate P2P web-hosting service.

Note:  All mining nodes would have to store all data in order to validate new blocks.  Users of the system wouldn't have to store anything other than the data they want to keep published and the transaction history of the coins.

Now there is one bit of scalability to be concerned about:  to 'prove you hold all of the data' and thus collect the fees would require you to HASH your entire database just to mine a block.  This hashing process ALONE would become the entire proof of work because hashing 1 TB of data with sha256 would take over 3 hours.     You could scale it up a bit by allowing the fee to be collected only once per day, week, or month instead of every block.    This would cause all nodes to focus on the 'oldest profitable' unproven data instead all data.    With this approach I think the network could scale to store 1024 TB of data proved on average about once per month.    If the fees went up then I suppose it could scale to any amount of data by increasing the interval of proof.

You could then organize the nodes in a KAD hash-table to facilitate rapid and efficient lookup of data without actually requiring all nodes to store all data except for the 'window' when they are competing to win the mining award / transaction fees.
hero member
Activity: 714
Merit: 500
Martijn Meijering
I think some of bytemaster's BitShare ideas could work with this. Let's take NameCoin as a starting point and see what needs to change. I think the block reward would have to become variable so the prices in NameCoin can remain fixed, with the exchange rate adjusting to arrive at the market price for domain name services. This may need a minting rule coupled to a blockchain-based distributed exchange, where new coins are minted in response to bids that cannot be filled.
hero member
Activity: 714
Merit: 500
Martijn Meijering
Just another thought ... would this go some way to achieving a stableish alt-coin/USD exchange rate?

That's a very interesting idea! The same might be true of other real-world blockchain-based services like domain name registration (like NameCoin if it ever gains wide adoption), timestamping, and - ironically - bytemaster's idea for a payment system for P2P communication services. A basket of a number of such alt-coins (or coloured coins?) could track fiat currencies, but would compensate for inflation.
hero member
Activity: 714
Merit: 500
Just another thought ... would this go some way to achieving a stableish alt-coin/USD exchange rate?

Since the value of the alt-coin would be directly related to the cost of storing X bytes for a period of time, T.

Would the USD price of the alt-coin track the USD-cost-of-data-storage curve?

hero member
Activity: 714
Merit: 500
Awesome. I see this having a wealth of possible applications, going far beyond simple messaging.
hero member
Activity: 770
Merit: 566
fractally
hero member
Activity: 714
Merit: 500
Would this end up being something more general i.e. a distributed data store? where you pay for the amount of data being stored and for its desired lifetime on the network
Pages:
Jump to: