1 / 27

ALITHEIA: Towards Practical Verifiable Graph Processing

ALITHEIA: Towards Practical Verifiable Graph Processing. Yupeng Zhang, Charalampos Papamanthou and Jonathan Katz University of Maryland. Agenda. Background of verifiable computation and motivation Our contributions Alitheia : A system for Verifiable C omputation on graphs

sreginald
Download Presentation

ALITHEIA: Towards Practical Verifiable Graph Processing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ALITHEIA: Towards Practical Verifiable Graph Processing Yupeng Zhang, CharalamposPapamanthou and Jonathan Katz University of Maryland

  2. Agenda • Background of verifiable computation and motivation • Our contributions • Alitheia: A system for Verifiable Computation on graphs • Shortest paths, longest paths and maximum flow • Different kinds of graphs: general/planar • Use of non-generic approaches to achieve practicality/scalability • Experimental results • Conclusions

  3. What is verifiable computation? data & function [1] R. Tamassia. Authenticated Data Structures. In ESA, 2003. • Correctness • Soundness provertime server storage preprocessing time query digest answer & proof verification time proof size verify(answer, proof, query)

  4. Generic VC systems: circuit-based query [2] R. Gennaro, C. Gentry, B. Parno, and M. Raykova. Quadratic span programs and succinct NIZKs without PCPs.in EUROCRYPT, 2013. [3] B. Parno, J. Howell, C. Gentry, and M. Raykova. Pinocchio: Nearly Practical Verifiable Computation. In SSP, 2013. data & function VC answer Limitation: inefficient dynamic memory accesses Overhead is linear in the size of the memory

  5. Generic VC systems: RAM-based [4] B. Braun, A. J. Feldman, Z. Ren, S. T. V. Setty, A. J. Blumberg, and M. Walfish. Verifying Computations with State. In SOSP, 2013. [5] E. Ben-Sasson, A. Chiesa, D. Genkin, E. Tromer, and M. Virza. SNARKs for C: Verifying Program ExecutionsSuccinctlyand in Zero Knowledge. In CRYPTO, 2013. Use witness to access dynamic memory based on Merkletree. Logarithmic overhead in the size of the memory, with large constants

  6. Why graph algorithms? Numerous applications in practice Longest Path Shortest Path Maximal Flow

  7. Verifiable shortest path Many dynamic memory accesses operations • n vertices and m edges, breadth first search on a unit weight graph • Provertime • Circuit-based naïve implementation: O(nm log2 m) • RAM-based naïve implementation: O(m log3m) with large constants

  8. Agenda • Background of verifiable computation and motivation • Our contributions • Alitheia: A system for Verifiable Computation on graphs • Shortest paths, longest paths and maximum flow • Different kinds of graphs: general/planar • Use of non-generic approaches to achieve practicality/scalability • Experimental results • Conclusions

  9. What is a certifying algorithm? • Verifying correctness of a computation (possibly given some auxiliary input) faster than performing the computation. • E.g., sorting takes O(n log n) time, but a correct sorted sequence can be verified in O(n) time [6] R. M. McConnell, K. Mehlhorn, S. Näher, and P. Schweitzer. Certifying Algorithms. Computer Science Review, 2011.

  10. More efficient VC using certifying algorithms Evaluate F(G,x) graph G, function F certifying algorithm CF auxiliary input for CF x F(G,x) query x Generic VC for CF digest answer & proof F(G,x) or reject proof verify(answer, proof, query) [7] R. Tamassia and N. Triandopoulos. Certification and Authentication of Data Structures. In AMW, 2010.

  11. Certifying algorithm: shortest path s,t s,t proof proof For unit weight undirected graph Linear algorithm with NO dynamic memory accesses! O(n) speed up compared to circuit-based generic VC O(log m) speed up compared to RAM-based generic VC

  12. Agenda • Background of verifiable computation and motivation • Our contributions • Alitheia: A system for Verifiable Computation on graphs • Shortest paths, longest paths and maximum flow • Different kinds of graphs: general/planar • Use of non-generic approaches to achieve practicality/scalability • Experimental results • Conclusions

  13. From general to planar graphs Planar Separator Theorem: 6 a 3 2 1 7 d b 1 2 c 6 7 5 4 3 e f 4 a g f d e c 5 g b

  14. Planar separator tree a Query: d 1 3 2 d min1 + 6 a 7 d min2 + a d a min b c ……

  15. Shortest path in planar graphs • Precomputation & Storage : O( ) • Query: O( ) What does the server need to prove now? Verifiable selection of the minimum element from the sum of two vectors

  16. Additively-homomorphic digest + + General Hash is slow in Generic VC! [8] C. Papamanthou, E. Shi, R. Tamassia, and K. Yi. Streaming Authenticated Data Structures. In EUROCRYPT, 2013

  17. VC for vector addition and minimum d A • Digest(A)=d • Output min(A) proof min(A)

  18. Complexity comparison n: number of vertices, m: number of edges, |p|: length of the shortest path

  19. Implementation • Implementation details: • Built on top of Pinocchio [2] • Planar separator by E.Fox-Epstein et al. [7] • Graph processing by LEDA library [8] • Amazon EC2 Linux machine with 15GB RAM • Experiment details: • A random planar graph is generated • 10 runs of experiments [2] B. Parno, J. Howell, C. Gentry, and M. Raykova. Pinocchio: Nearly Practical Verifiable Computation. In SSP, 2013. [9] E. Fox-Epstein, S. Mozes, P. M. Phothilimthana, and C. Sommer. Short and Simple Cycle Separators in Planar Graphs. In ALENEX, 2013. [10] http://www.algorithmic-solutions.com/leda/index.htm.

  20. Example: road network of Rome n = 3353 nodes, m = 8870 edges, |p| = 13 [6] 9th DIMACS implementation challenge for shortest paths. http://www.dis.uniroma1.it/challenge9/. * estimated.

  21. Experimental results 106 x 107 x 12 x • On a graph with 105 nodes: • Certifying algorithm: 106xfaster than Pinocchio BFS, 2x faster than Strawman • Planar Graph: 107x faster than Pinocchio BFS, 12x faster than Strawman

  22. Experimental results 106 x 107 x 100 x 1000 x • On a graph with 105 nodes: • Certifying algorithm: 106xsmaller than Pinocchio BFS, 100x smaller than Strawman • Planar Graph: 107x smaller than Pinocchio BFS, 1000x smaller than Strawman

  23. Experimental results 107 x 108 x • On a graph with 105 nodes: • Certifying algorithm: 107x faster than Pinocchio BFS • Planar Graph: 108x faster than Pinocchio BFS, only tens of seconds

  24. Experimental results • On a graph with 105 nodes: • Certifying algorithm: slower by a constant factor • Planar Graph: grows logarithmically with n but still only around 1s

  25. Conclusions • Alitheia is the first system to scale verifiable graph computation to large graphs (up to 200,000 nodes) • We show that by combining non-generic approaches with generic VC systems can lead to better efficiency • For graph algorithms, we show speedups by using certifying algorithms and noncryptographic data structures

  26. Thank you! zhangyp@umd.edu

  27. Certifying algorithm: maximal flow Maximum Flow Flow Assignment Cut s,t Complexity: Ω(nm) Maximum-flow-min-cut theorem proof Maximum Flow Linear !!

More Related