~/talk

Authoring and Formal Verification of Smart Contracts in Pact

Talkat LambdaConf 2018 · 2018-06-03..06-05· [security]
slides:none on file

A property checker for Pact translates Pact programs and properties to SMT constraints and hands them to Z3 SMT solver, implemented via SBV/Haskell. It proves schema invariants and function properties like purity and absence of aborts, finds concrete counterexamples, and catches real bugs such as negative balances or violated mass conservation. It returns results quickly on real contracts but limits include partial language coverage, no verified checker, and potential scalability risks as properties become more expressive.

AI-written summary · about

  1. 0:00Start
  2. 0:28Pact: introduction
  3. 1:55Pact: tables
  4. 2:23Pact: a function
  5. 3:20Pact: optional types
  6. 4:01Pact: enforcing an invariant
  7. 4:12Property checker motivation
  8. 5:41Liquid Haskell?
  9. 5:59Ada / SPARK
  10. 6:47Manticore
  11. 7:23The Pact property checker
  12. 8:55Schema invariants
  13. 9:17Function properties
  14. 9:56The mass conservation property
  15. 24:28How does it work?
  16. 26:20Limitations
  17. 28:24Roadmap
  18. 30:25Joel Burget - joel@monic.co
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.