I (maybe) have a big idea and I really need help

I (maybe) have a big idea and I really need help

For some time I am thinking about an idea for a distributed ledger working in peer-to-peer network that would provide solutions in fields such as scalability, privacy, functionality etc. This idea is only a thought-experiment and I need answers for a few questions to know if it might have any sense to pursue this idea or not. Also, I don't speak/write in English well, so please excuse me if I'll make some mistakes. I) Peer-to-peer network with private messages Let's presume that in a peer-to-peer network we want to send private message. So, a sending node: 1) signs his message (to authenticate source) 2) then encrypts it using symmetric cryptography 3) then encrypts the symmetric key (which will be used to decrypt the message) using public key of the recipient 4) and then on top of that he signs using his key both the message encrypted and symmetric key So, finally, we have 2 things: 1) Message -> Signed by his private key -> Encrypted using symmetric cryptography -> Finally signed again (so the nodes on the network will know from which node it is coming from) 2) Symmetric key that will be used to decrypt message -> encrypted using asymmetric cryptography by intended recipient's public key -> and finally signed by sender's key, so the nodes will know the source of message. The benefits of this is that we can send information over the network, no node relaying this info will know the content of it, and still every node will be able to confirm the identity of the sender and intended recipient will be able to finally decrypt message and also confirm the source of this message (as it is signed) even in decrypted form.  There is no blockchain in this system, only messages sent/received/relayed. QUESTION 1: Are there any technical reasons why something like this wouldn't work? Could such a way of privately send messages be used on a big network, where every node "pools" messages received and sends to his peers? How theoretically could it scale, putting aside message spamming (I have solution for that)? QUESTION 2: Suppose that in this imaginary network every node relays every message it received to it's peers. If node A received message X and relayed it to his peers, and those peers relayed it to theirs, can we take for granted that finally this message X will return to node A like a boomerang? Because if every node relays every message, it should finally. QUESTION 3: If node A would like to know if message X was ever relayed on the network, could it ask it's peers if they had ever received X and if enough number of peers answered that they do indeed relayed such X, would it imply that all connected (at the time when X was relayed on network) nodes received X? Because if some originator node originates X, than one of his peers relays this X, and their peers also relay X (or at least most of them, which acts honestly), then eventually X should reach all connected nodes, right? Or, if not all, statistically like almost all? And reversing this, if node A would ask enough number of his peers if they received/relayed X and enough number of them answered that no, they haven't, could node A deduct that X was never relayed on the network, for the same reason as stated above? QUESTION 4: If at a given time all nodes participating in the network were connected to network, then in my imaginary system a message X send at that time should reach (after some time) all nodes, right? II) Timestamps (as used in bitcoin for example) Miners in bitcoin put a timestamp on mined block as they broadcast it to the network. QUESTION: As I understand it, the incentive for miner to put the correct timestamp is the punitive fact that if he fails to do so, his block will not be broadcasted by his peers, which will check the timestamp independently and so will not reach the network. This incentive is the main factor securing the correctness of block's timestamp, right? IV) Digital signatures It might seem a strange and unrelated question, but it isn't. As I am completely, utterly green in this, maybe somebody will help. So, basically, there are digital signature which makes https possible. If I would like to prove to somebody that a given server, which utilizes secure signature, signed a given data (which means a website that was sent by the server to me), could I just: a) take data I received in https session (like data from my bank) b) somehow (I really don't know if it works like that) extract from https session signature of server (my bank), which signs the data sent to me (e.g. my money transfer history I downloaded) c) present the data signed (website) and signature of that data (signature of bank) to third party and does it prove in this way that this particular website (data basically) was signed by this particular server (bank), provided that third party trusts the digital signature that signed data was originated by this and this institution (bank)? When https session is being done, does the server signs every website separately, so that the data signed by server is the actual website sent by server, which means, if the website changes than the signature changes? You can extract such signatures from https session?

It might seem as a senseless heap of questions, but it isn't, there is an idea behind it but I just need clarification on those points, which I am not sure about. Many thanks to all who contribute to clarifying.

https://ift.tt/2luAPab

Comments

Popular posts from this blog

sendrawtransaction and txn-mempool-conflict

couldn't connect to server: EOF reached (code 1)