Block Producer Requirements
This post is designed to discuss the responsibilities of block producers, the software required and who's responsibility it is to write that software. This is expected to be a work in progress so if there are things I have missed, please reply
Producing blocks
All of this should be covered by eosd running with the producer plugin. This software is the responsibility of block.one
Storage
Based on reading the storage white paper, these are the requirements for storage
Synchronisation
All block producers will have a full copy of all of the files in storage, when a file is uploaded to a block producer all must synchronise the file within a reasonable time.
Files are synchronised over IPFS
Synchronisation is a one time event, as soon as a transaction is detected then all block producers should start download, if they later decide to delete it then and will refuse to serve this file, even if it is still available via IPFS.
HTTPS Proxy
Files in storage can optionally be served from a https server listening on a common domain, or the domain name of the customer.
How would this work? We could either have 1 machine operating as a proxy for ipfs or each block producer can serve https directly. If each block producer hosts their own https server then files that they have removed will be unavailable.
Each custom domain name should have a SSL certificate automatically generated from letsencrypt.
Accounting for bandwidth should also be done, bandwidth costs could be receiver pays or uploader pays.
The https proxy will need to be connected to the blockchain to verify permissions and accounting.
Governance
Voting on issues such as freezing accounts, replacing contract code, deciding on new storage limits etc. I guess most of this would happen via a contract on the blockchain, who would be responsible for maintaining this contract?
We should not underestimate the administrative and psychological demands of policing uploads. Maybe some of this could be outsourced?
Congratulations @m-i-k-e! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP
This may be somewhat unconventional, but in my experience you aren't going to beat the big dogs when it comes to storage, in terms of cost. Managing RAID arrays is something that in my experience should be avoided if possible. Everything is moving towards the cloud, I think it would make sense that this does as well.
What about having each storage server have an aws or google apps account, pulling in data as needed from a secure location we do not have to manage, that costs around $5/mo per seat for unlimited storage?
Upon further review, it would appear that google or aws storage are not a valid options as they do not follow the IPFS convention and therefore should not be used.
Originally posted in the /f/undefined forum on chainBB.com (learn more).