# `swarm up ./devcon/4/` Timetable and Agenda: | Time | Description | Notes | | -------- | -------- | -------- | | 09:00 | Coffee and swarming | Please arrive before 09:40 | |09:50| Welcome words from the Swarm team || |10:00| [Data Structures on Swarm](https://hackmd.io/s/HyFVEgxc7?#Data-Structures-over-Swarm-an-Infrastructure-for-Highly-Scalable-DApps) (Viktor Tron & Elad Verbin) || |10:25| [Deep SQL and NoSQL Blockchains for Provable Database Storage](https://hackmd.io/s/HyFVEgxc7#Deep-SQL-and-NoSQL-Blockchains-for-Provable-Database-Storage) (Rodney Witcher - Wolk) || |10:50| [Cooperative protocol evolution with virtualization layers](https://hackmd.io/s/HyFVEgxc7#Cooperative-protocol-evolution-with-virtualization-layers) (Felfoldi Zsolt - EF) | | |11:15| [Towards fair data society](https://hackmd.io/s/HyFVEgxc7#Towards-fair-data-society) (Gregor Žavcer, Tadej Fius, Daniel Nickless - Datafund) || |11:40| 10m Break || |11:50| [Privacy & Access Control](https://hackmd.io/s/HyFVEgxc7#Privacy-and-Access-Control-in-Swarm) (Daniel A. Nagy - EF) |12:15| [Observability in Swarm](https://hackmd.io/s/HyFVEgxc7#Observability-in-Swarm) (Anton Evangelatov - EF) || |12:40| [devp2p Development Update](https://hackmd.io/s/HyFVEgxc7#devp2p-Development-Update) (Felix Lange - EF) || |13:05| [#BUIDL on Mainframe](https://hackmd.io/s/HyFVEgxc7#BUIDL-on-Mainframe) (Shane Howley & Paul Le Cam - Mainframe) || |13:30| 1hr break || |14:30| [Swarm on mobile](https://hackmd.io/s/HyFVEgxc7#Swarm-on-mobile) (Attila Gazso & Mark Vujevits) || |14:45| [Breaking up the Brand: Correcting Social Media Incentives with Cryptonomics](https://hackmd.io/s/HyFVEgxc7#Breaking-up-the-Brand-Correcting-Social-Media-Incentives-with-Cryptonomics) (Taylor Gerring) || |15:05| [BeeFree - social network on swarm](https://hackmd.io/s/HyFVEgxc7#BeeFree---Social-network-on-swarm) (Dimitry Kholkov - EF) |15:25| [Building Unstoppable Chat](https://hackmd.io/s/HyFVEgxc7#Building-Unstoppable-Chat) (Doug Leonard - Mainframe) || |15:45| [Swarm feeds](https://hackmd.io/s/HyFVEgxc7#Swarm-Feeds-Introduction) (Javier Peletier - Epic Labs) || |16:05| 20m Break || |16:25| Lightning talks & discussion roundtable || ## Featured Talks ### Data Structures over Swarm: an Infrastructure for Highly-Scalable DApps #### Elad Verbin, Viktor Tron In this talk we show how to use Ethereum Swarm as an extremely-scalable layer-2 platform for building dapps providing: (i) database services; (ii) hosting and storage; and (iii) communication. Our main technical contribution is a general transformation, allowing us to formulate any purely functional data structure into a multi-agent protocol that communicates exclusively via the Swarm network. This transformation preserves the efficiency of the data-structure, and produces protocols that are verifiable, meaning that any cheating actor can be caught and punished. (In case of cheating, adjudication is performed over the main Ethereum chain.) Our results provide a link between Swarm and the literature on persistent data-structures. We believe our results may become a vital part of future implementations of trustless highly-scalable versions of many SaaS; for example of DApp versions of Facebook or Twitter (with full text search), of Search engines; and trustless versions of the Ethereum light client and Ethereum block explorer. Our solution addresses the needs of many dapps that currently struggle to scale due to the main chain’s limited throughput. Swarm scales well because it does not provide consensus. Our results show that, surprisingly, many dapps do not actually require consensus. #### Biography - Elad Verbin Elad Verbin is a Berlin-based Computer Scientist specializing in blockchain technologies, algorithm engineering and machine learning. In blockchain space, he works on blockchain filesystems, governance, and macro-cryptoeconomics. He cooperates with the Ethereum Swarm team on topics around coding theory and data structures. Elad He received his Ph.D. in Computer Science from Tel Aviv University. #### Biography - Viktor Tron Viktor Tron is team lead for the swarm project and has worked for the Ethereum Foundation since the start. Committed to the ideal of a free voluntary society, he has a keen interest in decentralisation, cryptography, networking, data structures and algorithms and believe in technology and innovation as the conduit for peaceful social change. A long-time contributor to the open source community he advocates open source, open data and open collaboration models, currently working on web3. ### Deep SQL and NoSQL Blockchains for Provable Database Storage #### Rodney Witcher, Mayumi Matsumoto, Alina Chu, Michael Chung, Bruce Han, Anandarup Ray, Yaron Asher, and Sourabh Niyogi (Wolk). Wolk has developed a set of code-complete deep blockchain services: Layer 3 SQL + NoSQL chains anchored in a Layer 2 Plasma Chain, itself anchored in a Layer 1 Ethereum stack. L2 Plasma Chain has evolving states of Plasma Tokens and its child chains’ latest roots stored in Sparse Merkle Trees (SMT). NoSQL Chains have evolving state roots of keys and values stored in a SMT, wherein values are chunk hashes kept in Cloudstore. SQL Chains have evolving state roots of table root hashes and owner root hashes, wherein root hashes model all key database structures (owner, database, table, index, record chunks); SQL transactions utilize a SQLite3 Virtual Machine to execute opcode instructions that interface with a Remote Cloudstore. The Remote Cloudstore receives both chunks and minted blocks from these L3 NoSQL/SQL chains via SWARM+PSS GetChunk/SetChunk and resource update interfaces, (that, in turn, interact with SWARM, a L2 Plasma Chain, or L1 Wolk Cloudstore, see below). All chains utilize abstracted consensus interfaces (RAFT, POA) to mint blocks. Upon minting each block, the “minter” sends Anchor Transactions to the L2 Plasma Chain, wherein the L2 Plasma Blocks record usage of storage and bandwidth along with Anchor Roots to L1. Critically, each SQL and NoSQL transaction submitted to a L3 results in a “Deep Merkle Proof” wherein provenance is derived from multiple SMT proofs: (1) a NoSQL key or SQL owner/table key stored in a L3 SMT (2) a L3 block hash stored in a L2 SMT (3) a L2 block hash stored in a L1 Smart Contract. Immutability is derived from L2 and L1 and censorship-resistance supervenes on the chosen remote cloudstore. Wolk shall present a working demonstration of our L3 and L2 deep blockchains starting with a Plasma deposit on Rinkeby and share current throughput/latency results. ### Cooperative protocol evolution with virtualization layers #### Felfoldi Zsolt The Ethereum ecosystem already has multiple specialized protocols designed to serve a tightly defined purpose. Multiple development teams bring new ideas to this scene every day which lead to diverging implementations and protocol specs. This competitive evolutionary process ensures long-term progress but it also makes cooperation more challenging. Ethereum and the EVM facilitate a cooperative evolutionary process in blockchain application development by providing a virtualization layer. Through the example of LES (the Geth light client protocol), this talk shows how this approach can take us even further at the p2p protocol level. The growing blockchain size and increased performace demands, the scalability efforts require more and more sophisticated protocols and network topologies. A well-chosen virtualization layer can provide compatibility between platforms, implementations and similarly purposed protocols while also making the development of new features easier. ### Towards fair data society #### Gregor Žavcer, Tadej Fius, Daniel Nickless We live in a world where individuals are exploited for their personal data and privacy as human right is ignored while handful of actors are unfairly amassing wealth generated by personal data. We are the product, lacking any rights. In short, we can argue that we live in times of increasing data slavery. Fair Data Society is a vision and initivate that seeks to provide an alternative. Initiated by Datafund project, it follows a vision where humans are at the center, have full control over their digital selves while the value of data is – contrary to popular centralised services – fairly distributed. Data exchange is on a need-to-know basis, according to user consents and conditions while human rights and privacy are respected. To achieve this, FDS is developing fair data protocol where personal data is semantically organised and stored on Swarm, and Fairdrop dapp for ethical data exchange. FDS components can be reused by any other project. Moreover, FDS is actively connecting various stakeholders such as developers, academia, regulators, NGOs and governments to drive social change and raise awareness towards mentioned goals. The talk will briefly present FDS initiative and give a demo of the Fairdrop dapp and PoC demo of our compute node, concluded with a call-to-action to build projects in an ethical way on fair data principles. Bio/company pitch: Datafund project guards personal data, provides safe storage and enables provable personal data exchange. Information is shared anonymized or on a need-to-know basis according to an agreement between exchanging parties. Datafund’s mission is to be an enabler of a fair data society. ### Privacy and Access Control in Swarm #### Daniel A. Nagy The recently implemented privacy and access control facilities of Swarm will be presented with both a high-level overview and in some technical detail. The presentation is primarily aimed at developers of decentralized applications wishing to use Swarm as their dapp's backend for storing potentially very large amounts of confidential data. In a decentralized information storage network, such as Swarm, there is very little control over who ends up having copies of any piece of data. Thus, traditional access control solutions where the provider of a centralized service checks user credentials against access control lists to decide whether or not that user can access the requested content do not work. Instead, confidential information needs to be encrypted in such a way that only authorized parties are able to decrypt it. We have designed and implemented a versatile system of selective access control that maps very well to a broad set of use cases. #### Bio - Daniel A. Nagy Daniel A. Nagy, Ethereum Swarm architect and developer. Has been active in financial cryptography since 2008 at ePoint Systems Ltd. of which he is one of the founders. PhD in applied mathematics from Queen's University of Kingston, Ontario, Canada. Teaching Advanced Cryptography at ELTE Budapest University of Science in Budapest, Hungary. ### Observability in Swarm #### Anton Evangelatov Observability means making a complex system as transparent as possible to those who operate it. In this talk we will explain how we approach observability and monitoring within Swarm, what systems and tools we use, and discuss how we utilise them to bring simplicity, transparency and visibility to our production and staging environments. #### Biography - Anton Evangelatov Anton Evangelatov is a software engineer at the Ethereum Foundation, specialising in distributed systems, currently working on the Swarm project and as Ethereum Foundation DevOps. Prior to joining the Ethereum Foundation, Anton worked at a number of startups across Switzerland and Austria. ### devp2p Development Update #### Felix Lange This talk presents 2018's developments in devp2p, the communication system underpinning the Ethereum main network. I will speak about the state of the network and implementation progress on the ideas presented in last year's devp2p talk. #### Biography - Felix Lange Felix has been developing go-ethereum since the project's beginning in 2015. His main focus is peer-to-peer networking. ### #BUIDL on Mainframe #### Shane Howley & Paul Le Cam We present the Mainframe Terminal, the portal to interacting with dapps on the Mainframe platform. Developers building dapps on the platform can expect convenient APIs for decentralised storage, identity, communications, etc. without needing to be concerned about getting their users to install additional software to access their dapp. The platform also provides cryptographic key management and contact management to make it easier to implement common p2p design patterns such as negotiating an encrypted communications channel. Users of the Mainframe Terminal will have full control over how dapps can access or interact with their data. All dapps run in a secure sandbox and may only access outside resources if the user explicitly grants permission. Interacting with secret data such as contacts or cryptographic keys is obfuscated from the dapp so that it is not possible for these to leak unintentionally into a dapp developer's control. #### Biography - Shane Howley Shane Howley is a conscientious software engineer with a passion for concurrent computing problems. Shane has put blood, sweat and tears into a few startups over the last 10 years and is currently leading platform development for Mainframe. He holds a Ph.D. in concurrent algorithms and an engineering bachelors degree, both from Trinity College Dublin. #### Biography - Paul Le Cam Paul is a software engineer focusing on building complex Web, mobile and desktop applications. He has been leading front-end development at Mainframe over the past two years and is now focusing on building the Mainframe platform ecosystem. Paul has built and contributed to various open-source projects and has a bachelors degree in CS from Staffordshire University. ### Swarm on mobile #### Attila Gazso, Mark Vujevits There are different ways how you can use Swarm from a mobile app. In this presentation will talk about the different options (Light Node, existing libraries, using gateways), including the trade-offs and the level of maturity of each of them. #### Biography - Attila Gazso Attila has a background working on fault-tolerant, distributed and decentralized systems for more than a decade., Recently his main interest is decentralized apps on mobile. He is a fan of open-source and functional programming. ### Breaking up the Brand: Correcting Social Media Incentives with Cryptonomics #### Taylor Gerring Social Media as we know it is facing a dead end. Mired by regulatory uncertainty around censorship, the consequence of selling user data is a responsibility for determining morality. By leveraging the “Jelly Bean Guessing Game”, it’s possible to expose subjectivity in an age of #FakeNews. Let’s regain ownership over our digital lives while preserving open access to free expression. #### Biography - Taylor Gerring Taylor Gerring is the Executive Director of Blockchain Institute, a nonprofit focused on the education and use of blockchain technology. After graduating with a BSBA in Management of Information Systems, Taylor ultimately joining the blockchain industry in 2012. After working on the Hive cryptocurrency wallet, Taylor previously served on the Board of Directors for Ethereum Foundation. ### BeeFree - Social network on swarm #### Dimitry Khokhlov A set of modules that provide interface for messaging/mailing/comments/ content upload/download on swarm. Such modules combined together construct gmail / twitter / youtube / facebook kind of services on top of the swarm in a truly decentralized fashion. #### Biography - Dimitry Khokhlov Dimitry Khokhlov is a software tester at the Ethereum Foundation, specialising EVM consensus tests. ### Building Unstoppable Chat #### Doug Leonard The Mainframe team has leveraged Swarm mutable resources to provide fully decentralized, unstoppable mailboxing functionality. This will be demonstrated in an example chat dApp. This talk will walk you through our experience going from conception to implementation, describing briefly how swarm feeds work and how we applied them to the needs of our messaging dApp. #### Biography - Doug Leonard Doug breeds cryptokitties, loves blockchain tech, entrepreneurship and software engineering. He has been working as a full-stack engineer for over five years, with experience in mobile development, distributed systems and information security. Doug runs a podcast with his wife that focuses on married entrepreneurs. He has a Masters in Information Systems from Brigham Young University. ### Swarm Feeds Introduction #### Javier Peletier Swarm is a content-addressed network, so when you upload something, that content can be retrieved back by providing its hash. Therefore, to host a changing website on Swarm, you need to store the website's hash in a ENS contract to have it resolve the name to that hash so users can find your content. Thus, every website update requires an ENS on-chain transaction. This may be fine for websites or Dapps that don't change often, but certainly not OK for most applications. What if we provided a way for cheaply and quickly update content and also allowed the users and Dapps themselves to create and update content dinamically? What sorts of applications would this enable? Enter Swarm feeds Swarm feeeds are a powerful but little-known feature that enables Dapp developers to write applications that allow users to find, update and retrieve content, proving ownership with a signature, but without having to resort to interacting with a smart contract. In this talk, we would like to introduce developers to this feature, how it works, strengths and weaknesses, its simple API and how to get started using feeds with the command line, via HTTP API and even directly in the browser! #### Biography - Javier Peletier Javier Peletier is the CTO and cofounder of Epic Labs, an innovation center in Spain specialized in the Media industry and Blockchain techologies. At Epic Labs, he is currently leading the Ethergit project, aimed at providing tools to decentralize open source once and for all, while contributing to making Ethereum/Swarm more powerful. On the latter, he worked during this year to help improve Swarm MRUs and make them more accesible to the web developer and easier to consume. Prior to Epic Labs, Javier worked at Akamai, the first Internet content-delivery network as Services Director and Engineering Director, learning how content moves over the Internet reliably and at scale, working with engineers all over the world and helping deliver global streaming events such as the World Cup. Javier is one of those passionate engineers who has been in the computing world since he was 5 and learned to code in his 48K, 8-bit ZX-Spectrum and hooked on the Internet since 1995. He enjoys designing and building scalable architectures and systems with the best team of engineers. Lots of war stories and anecdotes to share!