Hi guys,
last weeks I was pretty excited about the things we can do with crypto currencies. I heard of decentralized search engine, messaging, twitter, etc.
My brain did start to work (it is usually in stand-by
), I could think of nothing else but this opportunities we get with cryptos!
I thought about how to include a data transfer, or messaging service completely independend on any centralized server.
I do not like the Whatsapp approach - Facebook/Whatsapp takes all my info including copyright of photos etc. that I send with Whatsapp!!!
plus, they take all the profits etc.
Why not having full privacy (encryption end2end) and give the rewards back to the people using/hosting those services?
You might think: This feature is already build into NXT (and other cryptos), but also read the comments about the differences.
Also
NXTTY shall provide messaging services based on NXT, but they still use their own software even though it shall be open sourced one day, but this is also not a core feature build into nodes.
So here is a proposal for a crypto-feature which allows end2end data transfer which could be used for messaging.
I called the feature end2end small data transfer, it might be already available in another form in another crypto currency already, if so, please comment.
Please, also free to comment if you like/dislike and point to any things that are incorrect, possible to implement, I have overseen and so on.
This is just a rough brainstorming, I am not a dev, nor crypto specialist.
Thanks,
rock3t
end2end small data transferWhat shall this be?A node feature that provides encrypted end2end data transfer between clients, but the data (limited to a specified amount like 5mb or so) shall not be part of the main blockchain.
Data shall be transferred end2end securely, is being deleted after a specified timeframe (e.g. 48h or 1 week) and only exists on a few NEM nodes, not the whole NEM backbone.
Why would that be useful?To provide services like a secure, decentralized messaging service. To submit data securely, independent of any other decentralized services.
The build-in feature in e.g. NXT provide already messaging, the price is currently at 1 NXT. Way too high and to complicated for "normal" all day users.
There is no possibility to reach the masses (like with whatsapp).
Apply like Nxtty still need their own central server software, but how cool would it be to provide the network which is independent to the messaging clients (iPhone, Android, Linux, Win, ...)?
What would be different from current implementations (like NXT)?The current (and planned) implementations for e.g. NXT is too complicated for normal users. You definitively need a NXT client, NXT account, some NXT and a basic understanding of how NXT works. (I think this will be similar for NEM).
What users would need is an APP to download and start messaging. The client provides conversion to an ID, payment etc.
The blockchain would not allow for huge data stored in the main blockchain. Keep in mind that the blockchain goes out to every client.
How would that look in detail on the nodes?A technology is needed to provide data transfer end2end without(!) the main blockchain and this data shall not be present to all nodes, but only to a few which are needed to store and forward the data securely (encrypted with the public key, decrypted with the private key).
Therefore sender and receiver must be identified, one or more nodes close to the sender must accept the data from the client, and once the receiver is online, one or more redundant paths with reliable nodes must be calculated by the network nodes (kind of a routing algorithm), so that data can be stored and forwarded on this path and data transmission also works if one or more nodes fail.
After the data is transmitted to receiver, the receiver confirms and the nodes are informed so the data can be deleted from nodes to free up resources.
Maybe there is already some kind of P2P technology/algorithm which can also be used for this kind of transmission.
How would the payment look like for clients and rewards for the nodes?Whenever a message is delivered, a fee must be taken. Why? Because, if this end2end data service provides interfaces, those interfaces must be secured not to be flooded or DoS attacked. However, this fee must be so low that clients can start messaging without(!) buying any coins (too complicated).
I was not able to fully think about a payment/reward system, so this is tbd.
If all good/bad APP devs can use those data features, how to prevent from SCAM & hackers?A voting system is needed to upvote/downvote/ignore unwanted data/message transfer and accounts.
Also it must be ensured that not only clients are able to up/downvote for other clients (could also be manipulated as clients cannot be trusted), but also the nodes can identify a trust level of the different clients and/or accounts.