- Smart Contract
- dApp(Decentralized Application)
- the DAO
- Bootstrap Node
- Merkle Patricia Trie
- Bloom Filter
- Uncle Block
- GHOST Protocol
- Zero Knoweldge Proof
- Raiden Network
- Mnemonic code
This concept, also known as the zero-knowledge proof, is an interactive procedure in cryptography when someone tries to prove true to the other, it does not disclose any information except the truth of the sentence. It is a way to prove that I know information without disclosing to the other party any information I know. This is a way of Interactive Proof because the prover and the verifier must interact with each other and send and receive messages.
This is a representative example that best explains the concept of zero-knowledge proof.
She knows the cryptograph to open the door that blocks the middle of the cave. The woman must prove that she knows the cryptograph without notifying the man of any information about it. First, the woman enters the A or B passage and waits in front of the door, and the man instructs the woman to come out as a passage between A and B. When he repeat this process several times, if the woman knows the cryptograph, she can get out as many passageways as the man requires. But if she does not know it, it will be difficult for her to always get out of the way that men ask. Of course, even if she does not know the cryptograph, she may be able to come up with the man's requirement luckily. However, even if this process is repeated 20 times, the probability becomes 1 / 10,000, so if you repeat this process repeatedly, you will have a high probability that the verifier can trust the proof.
In the above-mentioned zero-knowledge proof, since it is a probabilistic-based verification method, it is necessary to send a large amount of mutual messages in order to assure that the proof is close to 100%. For minimize this waste of traffic, Non-interactive ZKP is made. Ehe most representative non-interactive ZKP zk-SNARKs(Zero Knowledge Succinct Non-interactive Argument of Knowledges) is used in Zcash for anonymous remittance. The Ethereum are studying to enhance the scalability by verifying transactions at once by introducing such SNARKs zero knowledge proof to the technology of processing transactions outside the blockchain like plasma.
For a detailed understanding of zk-SNARKs, see the https://medium.com/returnvalues/zk-snarks-%EA%B8%B0%EC%B4%88-1-homomorphic-hiding-e8fd1de40bbd series.