m = number of traitors n = number of nodes
n > 3m
encode(privatekey, message) -> ciphertext decode(publickey, cipherkey) -> v
send original message + signature(encrypted hash of message)
RSA Algorithm
- No one point of failure
- A block is a set of transactions that happended during a window of time
- Every node has the history of every transaction that has ever happened in the blockchain
- Since this is a decentralized network, a malicious node can create malicious transactions — ex: transferring money that you don’t have haved
- If a traitorous transcaction is sent out, honest nodes will ignore it
- Honest nodes only accept valid transactions
 
- We want to artificially slow down the addition of blocks to the chain
- Adding a block to the chain requires solving a mathematical problem that requires some computational power
- This slows down the addition of blocks
- At any time there are multiple nodes trying to solve the same problem to add a node
 
uninversible hash function hash(block + nonce) = 00000…..
- If you own more than 50% of the computing power in the blockchain network, then you can start inputting malicious blocks into the chain
#dist-sys-f18