Robert Bent via llvm-dev
2017-Jul-25 01:05 UTC
[llvm-dev] LLVM Compiler Help Wanted: Polychain Capital Blockchain Infrastructure Project
We are looking for full-time developers to transform TrueBit’s whitepaper into a living, breathing system. Experience with either blockchains or compilers is essential, and previous work with WASM, Solidity, or LLVM is highly desirable. We specifically need help with the LLVM toolchain from C++ / Rust to WASM and with an off-chain LLVM Interpreter. Go to https://truebit.io/devlead.html and click "apply for this job." TrueBit is a Polychain Capital portfolio company. The team is led by Jason Teutsch who co-discovered the Verifier's Dilemma. Christian Reitwiessner, the lead developer of Ethereum's smart contract language, coauthored TrueBit's whitepaper. Trent McConaghy, founder of BigChain DB, and Fred Ehrsam, founder of Coinbase, back the project. TrueBit has received citations in the Golem, Livepeer, and 1Protocol whitepapers. http://truebit.io/ Please see the full Job Description below. JOB DESCRIPTION: Ethereum smart contracts have limited computation power. Is it possible to overcome this constraint? Enter, the open source TrueBit project. At TrueBit, our mission is to bring off-chain execution power to the blockchain, with a verified result you can trust every time. Through a novel incentive structure and architecture, the TrueBit protocol allows trustless, secure, scalable consensus on large computations orders of magnitude beyond what’s possible in Ethereum today. TrueBit is more than a “scalability” solution for Ethereum. It’s a unanimous form of consensus that can trustlessly grab data across external sources, including other blockchains. Imagine sitting around in the 1990’s working on HTTP / SMTP protocols – technology that is used by billions… daily. This is your chance to relive that conversation, to help design one of the critical building blocks enabling decentralized computing, and to see your creative output utilized by a massive open-source community. THE TRUEBIT PROTOCOL: TrueBit’s core consists of a contract interface where a user can request a solution to a computational task, and any participant can solve it in exchange for a reward. The system functions correctly with minimal resources as only one honest challenger must verify each solution. For the first time, innovative and cost efficient verification will offer access to a blockchain where individual transactions have non-trivial computational resources. Please see the link below for protocol details: https://people.cs.uchicago.edu/~teutsch/papers/truebit.pdf WHO WE ARE LOOKING FOR: A lead engineer who will implement the protocol design and architecture underlying TrueBit, the first ever, trustless, scalable, general purpose computer. You’ll also have the opportunity to engage with leading blockchain projects that will soon interface with TrueBit and join the team at key industry events. Initially you can work remotely while we explore the prospect of a future co-location space. Note that this is a full-time, salaried role. WHAT YOU WILL HELP BUILD: - The TrueBit protocol as described in the project whitepaper, including architecture and incentive structures - Smart contract components to implement TrueBit’s dispute resolution and incentive layers - LLVM Compiler toolchain to pipe from C/C++/Rust to WASM - Python off-chain interpreter emulating WebAssembly for use in verification games - On-chain Solidity virtual machine in Solidity capable of stepping through indivudal steps in the off-chain interpreter - Secondary systems and processes to get TrueBit software / components released into the hands of users YOU WILL BE RESPONSIBLE FOR: - Building and managing a distributed development team - Implementing best practices for open source development, project management, documentation, bug tracking, quality and maintenance - Mentoring developers in ways that encourage a productive, healthy and happy team - Helping to grow and cultivate a developer culture that is transparent, supportive, and focused on delivery - Giving constructive feedback to team members via code reviews and architectural reviews - Leading and/or participating in (distributed) team coordination efforts and agile practices such as: video team meetings, daily scrums / standups, sprint planning, and estimation sessions - Raising technical risks to project stakeholders that could impact performance, security, or scalability in the future - Engaging in technical discussions with leading blockchain projects, including Livepeer and 1Protocol, that will soon interface with TrueBit. - Acting as an evangelist for our technology strategy by giving occasional talks and writing articles to attract wider community interest in our work - Representing TrueBit at industry events SKILLS YOU NEED: *Required* - Computer science / mathematics background or equivalent experience - Experience in building scalable and robust distributed systems that have been successfully delivered to customers. - Strong conceptual knowledge of and experience in building decentralized systems - Strong systems-level knowledge preferred (full-stack familiarity including machine architectures, operating systems, virtual machines, and compilers) - Familiarity with compiled systems languages like C/C++/Rust and assembly language - Strong communication skills and ability to articulate complex ideas and concepts - Demonstrated ability to adapt and learn in a fast paced environment - Demonstrated ability to initiate, coordinate and drive efforts through to completion - Contribution to open source projects. Even better if you took a leadership role in such efforts and are comfortable managing such development efforts. - Ability to effectively manage a development team located at remote sites. *Good To Have* - Experience with VM based language like Java, Scala, etc and their runtime environment - Experience with interpreted languages like Python - Experience architecting / implementing process-virtual-machines and/or interpreters - Experience architecting / implementing compilers, compiler tool-chains - Strong knowledge of how virtual machines / operating systems load, manage and execute code / processes - Familiarity with the new WebAssembly standard and technical specifications. (Plus any related experience with JS, Javascript engines like V8 / SpiderMonkey, NodeJS, etc.) - Experience working in a distributed, remote team with additional, open source contributors - Should be comfortable with technologies related to Ethereum and the Solidity language *For Bonus Points* - Game theory / theoretical computer science / security background - Development or research experience - Quantitative research publications viewed favorably HOW TO APPLY: Go to https://truebit.io/devlead.html and click "apply for this job." -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170724/998c8e71/attachment.html>