Network Layer October 2, 2019 guha.jayachandran@sjsu.edu Layer 2: - - PowerPoint PPT Presentation

network layer
SMART_READER_LITE
LIVE PREVIEW

Network Layer October 2, 2019 guha.jayachandran@sjsu.edu Layer 2: - - PowerPoint PPT Presentation

Network Layer October 2, 2019 guha.jayachandran@sjsu.edu Layer 2: Protocol atop Layer 1 (Lightning, Plasma, etc.) Layer 1: Coin protocol (Bitcoin, Ethereum, etc.) Layer 2: Protocol atop Layer 1 (Lightning, Plasma, etc.) Layer 1: Consensus


slide-1
SLIDE 1

Network Layer

October 2, 2019

guha.jayachandran@sjsu.edu

slide-2
SLIDE 2
slide-3
SLIDE 3

Layer 1: Coin protocol (Bitcoin, Ethereum, etc.) Layer 2: Protocol atop Layer 1 (Lightning, Plasma, etc.)

slide-4
SLIDE 4

Layer 1: Consensus (Bitcoin, Ethereum, etc.) Layer 2: Protocol atop Layer 1 (Lightning, Plasma, etc.) Layer 0: Networking

slide-5
SLIDE 5

Gossip Network

  • Neighbors forward messages to other neighbors
  • Used by almost all public blockchain protocols
  • Security?
slide-6
SLIDE 6

P2P File Sharing (~2000)

Generation 1: Central server (Napster) Generation 2: Flooding (Gnutella) Then DHTs…

slide-7
SLIDE 7

Distributed Hashtables

  • DHTs are hashtables, but the data is distributed. Any participating node should be

able to efficiently retrieve the value for any key (even if it doesn’t have it locally already)

  • Purpose is to handle addressing over a large number of frequently changing nodes
  • Useful for file addressing (in distributed file storage) or routing
slide-8
SLIDE 8

DHT Attributes to Consider

  • Autonomy and decentralization
  • Fault tolerance
  • Scalability
slide-9
SLIDE 9

Kademlia

  • Most widely used DHT
  • Designed by Petar Maymounkov and David Mazières in 2002
  • Each node has an ID and the distance between them is the

xor of the IDs

  • Each search brings you one bit closer
  • Contact O(log n) nodes (common for DHTs)
  • Used by BitTorrent, Gnutella (which adopted it after earlier

using flooding), Ethereum, IFPS, and much more

slide-10
SLIDE 10

Network Attacks

  • How can you tell if a protocol is susceptible to a denial of

service attack?

  • What about network partitions?
  • What would happen if an undersea cable was cut?
  • What can you do to mitigate?
slide-11
SLIDE 11
slide-12
SLIDE 12

Final Projects

  • Poster session and brief report
  • Work alone or group of up to 3
  • All members of a group get the same grade
  • More expected from groups
  • Choose something you find interesting
  • But ask for help if you struggle getting an idea
  • You have many options
  • Implement a system, for example an interesting smart contract, a protocol, a game, a key

management system, etc.

  • Conduct research, for example design an algorithm, design a protocol, benchmark

existing systems, perform cryptographic analysis, write a specification, formally verify some open source code, etc.

  • Survey some area of technology
  • Check your project ahead of time in office hours to verify appropriateness of scope