Overview.tex 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. \documentclass{beamer}
  2. \usepackage{xcolor}
  3. \definecolor{primary}{rgb}{0.125, 0.424, 0.243}
  4. \usepackage[default]{opensans}
  5. \usepackage{graphicx}
  6. \usepackage{textcomp}
  7. \title{Blocktree}
  8. \subtitle{A platform for distributed computing.}
  9. \author{Matt Carr \\ matt@carrfound.org}
  10. \begin{document}
  11. \frame{\titlepage}
  12. \begin{frame}
  13. \frametitle{Problem}
  14. Distributed systems are hard.
  15. \begin{itemize}
  16. \item<2-> High performance messaging is often outsourced (RabbitMQ, Amazon SQS).
  17. \item<3-> Scaling stateful systems continues to be a challenge.
  18. \item<4-> The speed of light is a fundamental limit on latency which forces us to move data closer
  19. to the user.
  20. \end{itemize}
  21. \end{frame}
  22. \begin{frame}{}
  23. \frametitle{Proposed Solution}
  24. Reduce latency and the scope of the problem by moving data onto a user's own devices.
  25. \begin{itemize}
  26. \item<2-> Create a high performance message passing API. Zero copy locally, with transparent
  27. forwarding over the network.
  28. \item<3-> Create an end-to-end encrypted distributed file system which is served by a user's
  29. devices.
  30. \item<4-> Allow user's to securely share files using cryptographic mechanisms.
  31. \item<5-> Allow a WebAssembly runtime and native containers to access this API.
  32. \end{itemize}
  33. \end{frame}
  34. \begin{frame}
  35. \frametitle{User Value Proposition}
  36. There are many reasons why user's might prefer this to the status quo.
  37. \begin{itemize}
  38. \item<2-> Control over personal data.
  39. \item<3-> Privacy provided by cryptography, not legislation.
  40. \item<4-> Freedom from manipulative advertising.
  41. \end{itemize}
  42. \end{frame}
  43. \begin{frame}
  44. \frametitle{The Core Idea}
  45. \begin{itemize}
  46. \item<2-> All data and running programs are identified by paths in a single global namespace.
  47. \begin{center}
  48. \scriptsize{/0!dSip4J0kurN5VhVo\_aTipM-ywOOWrqJuRRVQ7aa-bew/docs/otf\_app.ods}
  49. \end{center}
  50. \item<3-> The first component of the path specifies a signing key which is the root of trust for
  51. for all paths under it.
  52. \item<4-> Messages are only trusted if they're signed by a key which is
  53. transitively trusted by the root.
  54. \item<5-> Anyone can verify a file by checking the digital signature it bears is transitively
  55. trusted.
  56. \end{itemize}
  57. \end{frame}
  58. \begin{frame}
  59. \frametitle{OSS Alternatives}
  60. There are many other decentralized systems out there. Blocktree is different in several ways.
  61. \begin{itemize}
  62. \item<2-> It avoids the scaling issues of blockchains by limiting the scope of consensus (Etherium).
  63. \item<3-> It offers mutable storage, which is what real-world applications need. This is difficult
  64. with content addressing systems (IPFS, WNFS).
  65. \item<4-> Approaches which standardize the format of user data (Solid Pods) fail to address the
  66. question of who will store it.
  67. \end{itemize}
  68. \end{frame}
  69. \begin{frame}
  70. \frametitle{Current Status and Use of Funds}
  71. \begin{itemize}
  72. \item<3-> The metadata handling, encryption, and integrity protection mechanisms have been
  73. implemented.
  74. \item<4-> Support for securely using keys in a TPM is supported.
  75. \item<5-> A FUSE daemon which allows the file system to be mounted under Linux has been written.
  76. \item<6-> Funds from the OTF would allow me to continue working on the project full-time and allow
  77. me to hire additional developers.
  78. \end{itemize}
  79. \end{frame}
  80. \end{document}