Formal Verification and Performance Simulation in Real-World Applications - A Case Study with the Stellar Blockchain
Offered By: Linux Foundation via YouTube
Course Description
Overview
Syllabus
Intro
Intro: What is Stellar?
Maintains a local copy of a cryptographic ledger Processes transactions against it, in consensus with a set of peers. Implements the Stellar Consensus Protocol, a federated consensus protocol. Written in C++14
Practical approach: Network Simulation
We split the problem into two main parts: 1. Transaction subsystem • Requires a complicated database setup • Improved with standard performance & stress testing 2. Simulation that focuses on the distributed
Create a network based on the public network topology Have them talk to each other Monitor metrics of each node (e.g., CPU/memory usage, consensus latency)
Node count, transaction volume, etc Analysis on the degree distribution, diameter,... Network behavior in different situations - Anomalies at the node level - Traffic pattern changes, etc
Theoretical approach: Formal Verification
Verify a new change to the protocol - Security: Does the network function as a proper
Step 1: Create a model - Implement the protocol in Ivy Step 2: List properties to prove - Examples
Test the actual C++ implementation • Alternative ballot-protocol model • More work on liveness properties
Ask What's the simplest solution that represents a significant step towards the full solution? • Learn from each iteration, and apply it to the next iteration
Questions?
Taught by
Linux Foundation
Tags
Related Courses
Applied CryptographyUniversity of Virginia via Udacity Cryptography II
Stanford University via Coursera Coding the Matrix: Linear Algebra through Computer Science Applications
Brown University via Coursera Cryptography I
Stanford University via Coursera Unpredictable? Randomness, Chance and Free Will
National University of Singapore via Coursera