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:

  • 2019-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
Sabra
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

Bitcoin Wallets

12:50
(15 min )
BIP32 / HD Keys etc
Bryan Bishop
13:05
(45 min )
Wallet Architecture
John Newberry

Bitcoin Tools & Frameworks - I

13:50
(30 min )
Debugging tools for Bitcoin Core
Fabian Jahr
14:20
(15 min )
Break

Privacy

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

Networking

15:05
(20 min )
Rebroadcast logic in Core
Amiti Uttarwar
15:25
(15 min )
Break

Bitcoin Data Structures & Algorithms - II

15:40
(30 min )
ANYPREVOUT
Bryan Bishop
16:10
(30 min )
Accumulator based cryptography
Tadge Dryja
16:40
(30 min )
Utreexo
Tadge Dryja
17:10
(10 min )
Break
17:20
(60 min )
Build a Taproot - (practice)
Elichai Turkel / James Chiang
18:20
(30 min )
How the Mempool actually works
Amiti Uttarwar
18:50
(5 min )
Closing

September 10th

Bitcoin Tools & Frameworks - I

09:00
(30 min )
Signet and its uses for development
Karl-Johan Alm

Practical Applications, Hardware, Cryptography, Lessons Learned - I

09:30
(30 min )
Hardware Wallet Design - Issues and best practices
Stepan Snigirev and Jimmy Song
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
Fabian Jahr
12:15
(30 min )
Schedule Drift / Padding
12:45
(60 min )
Lunch

Blockchains and Layers

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

Lightning

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

Practical Applications, Hardware, Cryptography, Lessons Learned - II

18:15
(30 min )
Mining/Firmware - secure embedded systems design
James Hilliard
18: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
local_hotel
Hotels
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.
  • Exact address of Gate 14 is George Weiss Street
  • The University can be reached on the following buses:
    • Egged Buses: 271, 572, 274
    • Dan Buses: 7, 13, 25, 54, 127, 24, 289, 6
  • The Train Station is Tel Aviv University station
  • Please note that there is paid parking available on-site near Gate 17
  • If you are traveling by Taxi, the best way is to use Gett application. Use code GTWKHBB to get 20 NIS discount for the first 5 rides. Uber also works, although it orders a Taxi.

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