%% Last Updated: - [[2021-02-16]] - [[2021-02-01]] tags: [''] %% Author: [[Vincent Gramoli]], [[University of Sydney]] ## Week 1 - [[Blockchain|Blockchains]] are based on the theory of distributed computing, and so it shares both the advantages and disadvantages of distributed systems. - Each blockchain node is like a server. - One main issue in blockchains: how to deal with forks? (an effect of asynchronous data processing is that servers won't have the same data. So how do we get them synchronized?) - double spending problem in currency - [[Directed acyclic graph (DAG)]] show types of attacks that exploit forking to introduce two conflicting instructions at the same index of a blockchain from two different nodes. (Alice attempting to double spend) - DAG is a diagram that shows forking - [[Consensus]] problem - preventing DAG requires consensus (agreement) among all nodes on the structure of the chain.