[llvm-dev] LLVM Compiler Help Wanted: Polychain Capital Blockchain Infrastructure Project

Robert Bent via llvm-dev llvm-dev at lists.llvm.org
Mon Jul 24 18:05:32 PDT 2017


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>


More information about the llvm-dev mailing list