Bitcoin Edge Dev++

TECHNICAL BOOTCAMP • September 9th-10th 2019 • Tel Aviv University, Israel
SCALING THE DEVELOPMENT CAPACITY OF THE INDUSTRY

Sponsors

ACADEMIC SUPPORTING ORGANIZATIONS

SUPPORTING ORGANIZATIONS

LOCAL SUPPORTING ORGANIZATIONS

Sponsorship

If you are interested in sponsoring the Bitcoin Edge Events, please contact: [email protected]
 
Sponsorship is currently available via the sponsorship of the Scaling Bitcoin - Yesod event.

Important Dates:

  • 2018-08-10 23:59 UTC - Last day for sponsorship application
  • 2019-08-24 23:59 UTC - Submission of logos for print (must be submitted in AI or SVG vector file formats)

Trainers

Amiti Uttarwar
Coinbase
Andrew Poelstra
Blockstream
Bryan Bishop
Bitcoin Core Contributor
Carla Kirk-Cohen
Luno
Lightning Contributor
David Vorick
Sia
Elichai Turkel
Rust-Bitcoin Contributor
Fabian Jahr
Freelance Developer
James Chiang
Libbitcoin Contributor
James Hilliard
MyRig
Jan Čapek
Braiins / Slush Pool
Jimmy Song
Programming Blockchain / Paxos
John Newbery
Chaincode Labs
Karl-Johan Alm
Bitcoin Core Contributor
DG Lab
Ruben Somsen
Statechains Author
Seoul Bitcoin Meetup
Stepan Snigirev
CryptoAdvance
Thaddeus Dryja
MIT DCI Research Scientist
Lightning Network
Udi Wertheimer
Bitcoin emBassy Tel Aviv

Schedule

Notes:
Print

September 9th
08:30
(30 min )
Registration
09:00
(5 min )
Introduction
Anton Yemelyanov

Cryptography

09:05
(60 min )
Finite fields/Elliptic Curves/ECDSA/Schnorr
Jimmy Song
10:05
(15 min )
Break

Bitcoin Data Structures & Algorithms - I

10:20
(90 min )
Block structure & headers, UTXO, Merkle Trees, Addresses, Proof-of-Work & Difficulty, SegWit (BIP141), Scripts
Jimmy Song
11:50
(60 min )
Lunch
12:50
(30 min )
How the Mempool actually works
Amiti Uttarwar

Networking

13:20
(20 min )
Rebroadcast logic in Core
Amiti Uttarwar

Bitcoin Wallets

13:40
(15 min )
BIP32 / HD Keys etc
Bryan Bishop
13:55
(30 min )
Wallet Architecture
John Newberry
14:25
(15 min )
Break

Privacy

14:40
(30 min )
Privacy concerns and mitigations
Udi Wertheimer

Bitcoin Tools & Frameworks - I

15:10
(30 min )
Signet and its uses for development
Karl-Johan Alm
15:40
(30 min )
Debugging tools for Bitcoin Core
Fabian Jahr
16:10
(15 min )
Break

Bitcoin Data Structures & Algorithms - II

16:25
(30 min )
Accumulator based cryptography
Tadge Dryja
16:55
(30 min )
Utreexo
Tadge Dryja
17:25
(10 min )
Break
17:35
(45 min )
Build a Taproot - (practice)
Elichai Turkel / James Chiang
18:20
(30 min )
ANYPREVOUT
Bryan Bishop
18:50
(5 min )
Closing

September 10th

Practical Applications, Hardware and Cryptography

09:00
(30 min )
Hardware Wallet Design - Issues and best practices
Stepan Snigirev and Jimmy Song
09:30
(30 min )
Mining/Firmware - secure embedded systems design
James Hilliard
10:00
(30 min )
Challenges of developing bOSminer from scratch in Rust language
Jan Čapek
10:30
(15 min )
Break
10:45
(30 min )
Practical Application of Cryptography / Statechains
Ruben Somsen

Bitcoin Tools & Frameworks - II

11:15
(30 min )
Libbitcoin BX - Constructing a raw transaction - (practice)
James Chiang
11:45
(30 min )
Test framework in Bitcoin Core
James Chiang
12:15
(60 min )
Lunch

Blockchains and Layers

13:15
(90 min )
Blockchain design patterns, layers and scaling approaches
David Vorick and Andrew Poelstra
14:45
(15 min )
Break

Lightning

15:00
(30 min )
How pieces fit together - A walk through the layers of Lightning
Carla Kirk-Cohen
15:30
(30 min )
Sphinx and Onion Routing
Antoine Riard
16:00
(30 min )
Network topology creation & maintenance
Antoine Riard
16:30
(15 min )
Break
16:45
(30 min )
Liquidity Problems and Solutions (AMP, Splicing, Dual Funded Channels)
Carla Kirk-Cohen
17:15
(30 min )
Routing problems and solutions (rendezvous, trampoline)
Carla Kirk-Cohen
17:45
(5 min )
Closing

Requirements

The Dev++ course is meant to familiarize you with core Bitcoin algorithms, how by being combined together they form the Bitcoin peer to peer network, as well as to review and experiment with rapidly maturing layer-2 technologies.

Trainee Requirements:

  • Background in computer engineering
  • Knowledge of data structures and networking
  • Experience with a major software development language such as C++, Java, Python, Go, JavaScript (NodeJs), Scala etc.

Requirements to participate in the hands-on part of the course:

  • Familiarity with C++
  • Familiarity with Python
  • Familiarity with GCC toolchain
  • Basic knowledge of Git

You should have previous experience working with C++ projects and possess knowledge of data structures and networking. If you develop software using a different ecosystem such as Java, NodeJs, Python, Go etc., you can participate in the course but will have difficulty performing some of the tasks.

Beneficial knowledge:

  • Experience with Unix
  • Previous experience with cryptography

What you must bring

  • Participant must bring his own laptop (Windows, OSX, Linux)

Additional information will be published closer to the date of the event.

Material

Please note that all Dev++ sessions will be recorded and published on this site under CC-BY license.

Location

keyboard_arrow_left
keyboard_arrow_right

Rosenblatt Auditorium

Rosenblatt Auditorium

Rosenblatt Auditorium

Gate 14 Entrance

Rosenblatt Auditorium

Rosenblatt Auditorium

Engineering Complex Entrance

Tel Aviv University
Claire and Emanuel Rosenblatt Auditorium
(Engineering Building)
Tel Aviv, Israel
flight
Airports
directions
Directions
  • Rosenblatt Auditorium is located inside of the Engineering Complex reachable via Gate 14 (best, as it is accessible by transport) or Gate 17.
  • The following Google Maps link will guide you to the main entrance of the Engineering Complex.

Registration

- WHO SHOULD ATTEND -
  • Students preparing for internships or first year jobs
  • Developers starting with Bitcoin development
  • Developers looking to integrate with Bitcoin
Purchase tickets using Credit Card or PayPal via EventBrite
Purchase tickets using Bitcoin

About

Planning Committee

  • Anton Yemelyanov, Base58 Association NPO. (Planning Committee Chair)
  • Nelly Milanova, Base58 Association NPO.
  • Adam Jonas, Chaincode
  • Jeremy Rubin, Bitcoin Core Contributor
  • Neha Narula, MIT DCI
  • Byron Gibson, Program Manager at Stanford Center for Blockchain Research
  • Tal Benno Sklar, Andromeda
  • Hila Mark, DAGlabs
  • Meni Resenfield, Israeli Bitcoin Association
  • Noa Mashiah, Israeli Bitcoin Association
  • Sarah Wiesner, Bitcoin emBassy TLV

Tutorial Committee

  • Anton Yemelyanov, Base58 Association NPO.
  • Adam Jonas, Chaincode
  • Jimmy Song, Paxos
  • Shin'ichiro Matsuo, Georgetown University, BSafe.network
  • Pindar Wong, BSafe.network
  • Taro Watanabe, Digital Garage
  • Yonatan Sompolinsky, DAGlabs, The Hebrew University of Jerusalem
  • Aviv Zohar, The Hebrew University of Jerusalem