quartz/content/notes/412-lectures.md
2022-11-14 10:33:32 +13:00

72 lines
2.4 KiB
Markdown

---
title: "412-lectures"
aliases:
tags:
---
# Lecture 7
copmuter security
- physical
- software (authenticity correctness)
- information (CIA/ IAS octave)
- network
cryptography can be bad because
- you are still giving access to data in some form
- how long will the cipher remain secure
- managing keys can be challenging
crypto in CIA
- c - hide information
- i - check for changes, checksums, MACs, Digital signatures
- a - not directly, but indirectly, validate authentity of network link usage
fallible machines
- ram corruption, fade or malfunction of storage media, software issues (fs bugs, compression bugs, etc)
- solution
- estimate probability of failures, determine how many trials to achieve a certain level of confidence
- aside: mahcines are designed to fail frequently
- reliability tradeoff with increases in speed/power consuption (e.g., overclocking)
distributed consensus
- e.g., Master/master relational database
- NoSQL gossip protocols, and eventual consistency
- network instrastructure e.g., routers as hot spares
- consensus gathering systems
- apache zookeeper distributed synchronisation
- etcd (used in kubernetes)
dist cons algorithms
- fischer lynch paterson impossibility result
- paxos - fault tolerant consensus over distributed nodes (use din apache zoo)
- raft - alternative to paxos used in etcd
- easier than paxos to understand and implement
- sub problems: leader election, log (data) replication by leader to followers
- EPaxos - more compex and efficient that paxos
all used when all servers are trusted. when there are malicious parties the consensus set size must grow. you need a majority of votes from the asumed-benign server set.
permissionless blockchain - do not control the server set, safety presumed if 50% of nodes are benign
fault tolerance
- CFT - when a node dissapears
- BFT - nodes acting maliciously
- raft and paxos only CFT, variants of Paxos are BFT
building a cryptocurrency
- how to make a 'coin'
- how to id coin owners
- how to protect from forgery
- how to record ownership and transfer of ownership
- how are coins single-use
distributed consensus in bitcoin
- track who has what (in normal currency done by banks)
- bitcion has all validating nodes store the whole ledger - indicates order of transactions
- collectively agreeing its content avoid double spending
- a wallet is a hash of a public key a client generates
proof of work
-