RChain Cooperative FAQ
What is RChain?
RChain is a fundamentally new blockchain platform rooted in a formal model of concurrent and decentralized computation. The RChain Cooperative is leveraging that model through correct-by-construction software development to produce a concurrent, compositional, and massively scalable blockchain.
Where is the roadmap?
A new roadmap is being worked on, resulting from the Developer Retreat in November. The road map is published on the developer wiki. RChain Roadmap: The Flight to Mercury.
How did RChain come to be? \
RChain was the culmination of a number of innovations by founder Greg Meredith. The core of RChain is based on mobile process calculi, a branch of mathematics with approximately 30 years of history. Together with the experience of other blockchains and other technology, the RChain architecture was documented in July of 2016 and at that time, the goal was to create a blockchain-based social network with inbuilt micropayments functionality i.e. attention economy. Due to the complexity of the project and disagreement between the team members, it was decided that Greg would focus on realizing the vision of RChain. The RChain organizations (the Co-op and RChain Holdings company, which is now named Pithiaformed in December 2016 - January 2017. Reflective Ventures formed shortly after.
What is the difference between the Cooperative, Reflective Ventures, and Pitha
The Co-op is the organization that develops the open-source RChain platform software. It’s an open and community-driven initiative with multiple communication channels through which all are welcome to participate. Reflective Ventures Pitha is a for-profit entity whose mission is to grow the ecosystem around the RChain platform, through incubating startups, forming joint ventures, developing products, and delivering professional services.
Where is RChain based?
The RChain Cooperative, Relfective Ventures, and Pithia are both Internet companies and have participants around the world. They are Washington State USA companies and the founders live in Seattle.
What is the governance model?
The Co-op is a member-driven organization with an elected nine-person Board of Directors. Board seats have 3, 2, or 1 year terms. The board is composed of:
- 3 years: Greg Meredith, Vlad Zamfir, Ian Bloom
- 2 years: Kenny Rowe, Evan Jensen, Alexandr Bulkin
- 1 year: Navneet Suman, Hendrik Jan Hilbolling, David Currin
The Co-op officers are: Greg Meredith, President; Evan Jensen, Secretary; Lisa Rice, Treasurer.
There are three steering committees where Members collaborate to shape and organize the Cooperative: the Executive Committee, the Governance Committee, and the Compensation Committee. All committees have open participation but some are limited to 11 working members plus a chair.
What comm channels does the Co-op use?
- Co-op members, leadership, and developers share a public Discord server. To have full access to all of the Discord channels please become a Member at https://member.rchain.coop. The #slack channel is bridged with the old Slack which is being phased out.
- Github is used for code and project coordination.
- The RChain Twitter account provides news and announcements.
- On Telegram there is a RChain chat group and official Announcements channel.
- Chinese users can join the QQ RChain group: 中国朋友欢迎加入RChain粉丝群，QQ群号: 530718666.
- RChain on Medium carries longer blog posts.
- An RChain YouTube channel contains updates, live webcasting, and recordings of meetings.
- On Reddit there is an official subreddit at /r/rchain.
- Bitcointalk has an [ANN] Official RChain Cooperative thread.
- The Cooperative has a Facebook and LinkedIn account with an RChain Group. Please join!
- RChain sends out a bi-weekly newsletter. Subscribe on the website at the base of the main page.
- The zoom.us app is used for teleconferencing such as the wednesday Weekly Debrief.
- To review past Debrief Summaries and Newsletter archives use the Summary Index.
- The RChain Developer Forum is the place to ask questions and get answers to questions related to RChain software and Rholang.
What are RHOCs?
RHOCs are an Ethereum ERC20 token issued by the Co-op in early 2017 intended as a vehicle for people to get access to the technology. There are 861,185,194 RHOCs in existence. No more will be minted. RHOCs will be 1:1 redeemable for REVs, a future RChain platform native staking token.
Is there an airdrop?
No. Contrary to fraudulent reports circulating on Twitter, no airdrop is in the works or planned.
What is the plan for supply of RHOCs, REVs, and potential other staking tokens?
This is a somewhat outdated financial summary, distribution, and other information. This is the current distribution.
At the first Member Meeting in October 2017 the Members voted that "The Cooperative should sell from its treasury to put no more than 200 million RHOC tokens in circulation (tokens held by anyone, other than; 1) held by the Cooperative, or 2) burned) during the next calendar year." The full voting results are reported on Medium.
How do I see my RHOCs in myetherwallet.com and Metamask?
Click “Add Custom Token”, then fill in:
Contract Address: 0x168296bb09e24a88805cb9c33356536b980d3fc5
Token Symbol: RHOC
Where can I trade RHOCs?
RChain has not endorsed RHOC trading because of the structure of our private sale and may endorse in coming days.
Is it possible to redeem AMPs for RHOCs?
Not directly; the redemption period ended in April 2017. AMPs and RHOCs are tradable on exchanges.
How can I get involved with RChain?
Join one of the public discussion forums (see the comm channels above). People who want to play a more active role can collaborate on code and community development projects, create Co-op infrastructure, and work out its governance. See CONTRIBUTING.md for full information.
What is the Membership Program?
Interested individuals can become a Member of the Co-op. Benefits include: access to all channels of the Discord server where the RChain developers and community collaborate, electing the board members, participating in governance committees, being eligible to propose and collaborate on projects, and deciding about project approval and budget allocation. Additional benefits will be defined over time such as patronage dividends. Membership requires KYC and a one-time $20 membership fee. If you'd like to join please register at: https://member.rchain.coop.
I live outside of the United States. Can I join as a Member?
Yes, unless you reside in a region sanctioned by the US. The registration process will check that.
I can't upload files into the member.rchain.coop site. What's wrong?
The file names of your identity documents cannot have spaces or special characters. Please use legacy file names such as 'passport.jpg' and try uploading again.
Is there a bounty program?
Yes. Bounties are task based with peer review. Tasks vary, but typically bounties are available for core development, community formation, marketing, business development, and channel operation. Github is used for issue tracking and project management. JIRA is used for [issues for development work] (https://rchain.atlassian.net/wiki/spaces/CORE/pages/105938971/Bounties+for+Development+work).
Can I earn RHOCs by participating in projects?
Yes. Read CONTRIBUTING.md, then look for projects you’d like to participate in.
What is Pi Calculus?
“In theoretical computer science, the π-calculus is a process calculus. The π-calculus allows channel names to be communicated along the channels themselves, and in this way it is able to describe concurrent computations whose network configuration may change during the computation.” (Ref.: https://en.wikipedia.org/wiki/Pi-calculus). To better understand how it is being applied in the RChain development, check out the paper Mobile process calculi for programming the blockchain.
What skills do I need to participate?
What was the reason to go with Scala for this project? Why not Erlang or even Golang?
Scala is a type-safe, mostly-functional language whose semantics are relatively well understood. That means that when we write software in Scala, we have some kind of prayer that we can prove it works the way we intended. We could have chosen another functional language, like Haskell, but we liked Scala because it runs on the JVM. That means that production integration is an easier sell to IT managers and business-people. They almost certainly have the JVM running in their stack, somewhere, and so we're not asking to place something esoteric in their data centers. The early core development team--Greg Meredith, Mike Stay, and others--had a lot of experience with Scala and were happy with it. As a result, we all agreed that Scala would be an excellent tool for realizing the RChain technology vision.
As far as "why didn't you choose X," the answer is that we chose Scala. We didn't "not choose" whatever other language. Erlang, Golang, Rust, and Haskell are all fine languages, but they're not the language RChain will be written in. Projects do not succeed because of the programming language they're written in. Projects succeed or fail because of the people and because of the ideas. We have found that the Scala community contains many very talented people and that hiring Scala developers has allowed us to be more successful in the hiring process than one would statistically expect. Scala also allows us to express our ideas with clarity in a functional setting, while leveraging a variety of existing toolsets to great effect. This is a very powerful combination.
How can I learn Rholang?
Rholang is a new functional programming language. It is a friendlier version of a smaller language, the rho calculus. An understanding of Pi Calculus and functional programming will help.
Read the Rholang documentation and find instructional videos on the documentation section RChain developer site. Get started with Rholang by building from source or running the RChain node. Use this tutorial for guidance.
What will the license be for RChain's components?
RChain's components are all under open source and free software licenses. Our license of choice is Apache v2. Rholang is the only component currently licensed under the MIT license.
Tell me more about the storage layer.
The RChain storage layer, RSpace, is a fundamental part of the VM; it just happens to be something that's modular enough to break out into its own library. The storage layer is how message delivery between processes is implemented; it uses rholang patterns as keys. Sending on a pattern is putting data in the database; receiving on a pattern is querying the database. If there's no data to consume, a continuation is stored at the key instead. If there's already a continuation, and you're trying to store data, the continuation gets applied to the incoming data.
Where is the data stored
We're building an API backed by Lightning Memory-Mapped Database (LMDB).
Is all data replicated across all nodes in a namespace?
What is the process for transaction commitment?
Rholang doesn't use a notion of transaction in the same way that ethereum does. Ethereum uses event-loop concurrency, and either the entire turn kicked off by a message succeeds or it doesn't (maybe you ran out of gas, maybe there was some other error). Rholang blocks, on the other hand, contain three kinds of data: individual synchronizations of names, new sends, and new contract deployments. If you want transactions, you have to write code that implements them.
What's the key difference between ETH Casper and RChain Casper? And why bother doing RChain and not just build on top of Ethereum and Casper?
In short, the main reason not to build on top of Ethereum is in order to have formal verification at all levels. i.e. There will always be some math which can prove to us that any given part of the system is bug-free. The foundation of RChain is Reflective Higher Order Calculus, which enables the creation of ‘correct-by-construction’ contracts. From system contracts to Casper Consensus, RChain contracts will be backed by formal verification- giving users some guarantees on what these contracts do.
What is a safety oracle?
A safety oracle looks at all the messages a node has received and says "at this point, no one can convince me that this subset of information is wrong". If the network converges on the value of that information, it must converge on what that node believes.
Have a question that hasn't been answered? You can suggest additional FAQ entries by including the hashtag #faq in any of the comm channels.