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.
State of Blockchain
The industry has spoken, the blockchain platforms of today, and as they are currently built, are not fit for scale or speed, they continue to lack security and they are not designed for the masses in the developer community.
We have all heard of the problems within the ever expanding blockchain space. The fact that scalability isn’t just the giant elephant in the room, it’s that elephant that hastaken over the room. They are slow. Security – one needs to look no further than the recent events of not just (Initial Coin Offerings) ICO’s being hacked but exchanges, wallets and entire systems as well. The blockchain space is not for everyone - there a limited few developers in the world today that can build upon any of the existing blockchains.
- Overview - Table of Contents
- What Is RChain?
- Getting Started With RChain
- How To Get A RChain Wallet?
- RChain Resources
- Latest RChain News
Imagine if there were a solution that provided the scalability that we all know this sector needs, we’re not talking about 10, 100, or even a thousand transactions being processed per second. What if there was a blockchain that could run a minimum of 40,000 transactions per second with future enhancements that are even higher?
What if there were a secure and fundamentally sound platform, built upon the lessons learned from initial efforts of Bitcoin and Ethereum that would allow developers of all mediums and categories to build on that platform? What if that platform were built not on proof of work but proof of stake? Yes – we’ve heard the rumors about groups coming out with bits and pieces of those solutions but there simply isn’t one that can promise all that and be less than a year to market.
Until now.
Solution
The RChain platform, is being developed by the Seattle based RChain Cooperative. Working as a co-op, to enable its members equally, it has deep industry roots and arguably more collective years of experience than other blockchain entrants.
Founded by Lucius (Greg) Meredith, RChain is the culmination of a number of innovations he’s developed over time. The core of RChain is based on mobile process calculi, a branch of mathematics with approximately 30 years of history. Greg started at Microsoft and was the Principal Architect of BizTalk Process Orchestration.
The first Internet Scale Smart Contract system, giving rise to the Internet Standards BPML, BEPL, and WS-Choreography as well as influencing the widely used WSDL, of which Greg was a co-author. Greg’s vision and creation were years ahead of its time. So Greg went on his own to work on solving the problem he set out to at Microsoft. Fast forward ten years and we find Greg now designing and building what he has always envisioned – the industry’s first scalable and trustworthy, blockchain technology that will be open and available to all.
The RChain platform is a transformation in blockchain technology as it empowers its users. On the RChain platform smart contracts are concurrent and formally verified by the compiler, so they’re fast, versatile, and secure. Those contracts are written in RhoLang, which is a strongly-typed, concurrent, and correct-by-construction language.
RhoLang contracts run on the Rho Virtual Machine - a concurrent execution engine. RhoVM allows your applications to achieve unprecedented speed and scalability.
RChain’s platform provides a unique differentiator for the development community. RChain platform supports multiple blockchains, both public and private on the same node. These blockchains can interact securely, predictably and at scale. This is a vision that developers have been hoping to see realized for years. These blockchains are secured by the type of consensus protocol the whole industry has been waiting for proof-of-stake. This is consensus by validators that are more scalable and fault tolerant.
One other, and very valuable, aspect of our platform is our use of LADL = Logic as a Distributive Law. It is a form of compression (more throughput) and can generate type systems for un-typed languages. This is a huge differentiator and is described in greater detail under the “technology” section.
So what’s the big deal? Because the RChain platform enables more trust on the Internet, it’s evolutionary. It enables innovators worldwide to create fast, scalable and decentralized solutions that are far less resource intensive, a key improvement from existing blockchain solutions.
Think new, tamper-proof, financial platforms; social networks and endless other possibilities. Solutions that enable every individual to finally control their own identity, reputation and data.
Also, and not just a side note, is the fact that we are developing a protocol that will allow developers, across multiple languages, can literally press a button and transform their current application/program code over to, and enable the operation on the RChain blockchain. The developer community has been looking for this solution and it is nearly here. A simple “translator” of code that will literally allow just about anyone developing to add their product/service/app onto the RChain blockchain.
Vision
The vision of the company and its founders is to help change the world as we live in it today. This is not a small statement by any means, but one that we all believe can be enabled by the proper evolution of blockchain technology. If RChain can participate in just a small portion of that change it could have a profound impact.
There is tremendous waste happening in our world today. Waste of energy, waste of government control, waste of mindshare and most importantly a waste of hope in our future. Our outlook is to help ease and eliminate as much of that waste as possible. We believe we can accomplish this by building a blockchain technology that has broader applicability, less resource intensive and is more evenly available to people in every country in the world.
From the small African countries where its citizens will be able to purchase electricity by the kilowatt hour from their mobile device, to the market owner who is selling a handful of eggs in China or to the home purchaser in rural Iowa.
It takes a community to grow and build something with a level of trust and usefulness that everyone, everywhere can utilize.
The Cooperative
To turn our vision into reality we needed to set up a mechanism for the RChain platform to live. The RChain Cooperative. Is an entity that is owned and controlled by its members.
The RChain Co-op has a board of directors, with Greg Meredith being the President. Each Co-op member receives one vote – regardless of how many tokens are owned.
The membership fee to belong to the Co-op is purposefully affordable ($20) to allow people from all over the world, regardless of financial situation, drive the vision of the Co-op.
The Co-op entity owns and is responsible for the development and maintenance of the RChain platform. This Private Token Sale is going to fund the development and upkeep of the RChain platform (see use of proceeds).
The Co-op will thrive from the fractions of a cent that it will “cost” to interact within the RChain blockchain. As those transactions increase we’ll collectively decide (via voting) by the Co-op members to lower those fees. With the ultimate goal to make transactions so inexpensive that there isn’t even a thought in the minds of those using the blockchain about cost.
Another smaller portion of revenue will come from the Co-op memberships. During this Private Sale we are requiring purchasers of RHOC to join the Co-op. This enables even greater distribution of the decisions and power of the Co-op.
Should excess income accrue within the Co-op we will have mechanisms in place and voted upon by the Co-op members on how best to distribute that income. It may be in the form of patronage dividends or more likely it will go towards the building and operating of other applications (on the RChain platform) that are meant to progress the word and actions of our ultimate cause – waste and specifically climate change.
During the next 12 months we’ll be engaging the community to start to evangelize and introduce the platform in anticipation of the product launch. Full product launch, named Mercury, is projected by the end of Q3 2018.
Team
Greg Meredith Slack Profile: @leithaus
Greg is the founder and visionary behind RChain, with a tremendous passion for mathematics and over 30 years of high level experience driving innovative technology projects. Greg is the Co-founder, President and Member of the Board of Directors of The RChain Cooperative. Previously he was the Principal Architect of Microsoft's BizTalk Process Orchestration, Principal Architect of Microsoft's Highwire offering as well as Principal Architect of ATM Network management solution for ATT/NCR and Co- designer and developer of MCC's Rosette/ESS technology. No discussion about Greg would be complete without mentioning his unwavering passion/devotion (understatement) to the environment.
Ed Eykholt Slack Profile: @ed.eykholt
Ed is a Co-founder, Board Member of RChain Cooperative and the CEO of RChain Holdings Company rchain.io. Ed has worked has led multiple large-scale projects including work with Microsoft and Alstom Grid (acquired by GE), before founding Lively- Gig. Ed is now dedicated to developing the complete RChain ecosystem. Ed has over 30 years’ experience in the technology industry, leading teams in a variety of companies. Ed holds a BS in Electrical Engineering and MS in Management from Purdue University.
Kenny Rowe Slack Profile: @kennyrowe
Kenny, is a Board Member and the Chief Operating Officer. An entrepreneur who brings a focus on governance, community building and collaboration to projects across the blockchain industry. Kenny currently serves as head of operations at MakerDAO as well as a senior consultant at CoinFund. Kenny founded the Seattle Ethereum Meetup group and previously spent eight years working in ecommerce for Newell Brands in various management roles.
Evan Jensen Slack Profile: @ejensen
Evan is the Secretary of The RChain Cooperative and acts as General Counsel. Evan is an attorney with special interest in progressing crypto-related law. Evan earned a Bachelor’s Degree in Philosophy from University of Washington, and Juris Doctor (J.D.) form Seattle University, Cum Laude and an LLM (Master of Law) in Innovation and Technology, Fintech from Seattle University.
Aleksandr Bulkin Slack Profile: @alex
Alex is a Co-Founder and Managing Partner at CoinFund LLC. He is a multidisciplinary thinker with a special interest in social and technological innovation. He holds a dual degree in Mathematics and Computer Science from New York University and a Masters Degree in Organizational Psychology from Process Work Institute in Portland, Oregon. Alex bridges technological insight with social science and psychology.
Ian Bloom Slack Profile: @ian
Ian is a Linux, Open Source, and Crypto currency enthusiast with a finance degree from the University of Baltimore. He has been actively supporting the development of RChain since April 2015 and was a member of Synereo's core team, helping with systems admin, marketing, website development, and hosting. He worked as a Microsoft Systems Engineer (MCSE) for AEGON, Computer Security Specialist for Fortress Technologies (now General Dynamics), & Kroll. He currently lives in Bethesda, MD.
Member Community
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. The Co-op is dependent on participation from its members. This will be crucial for governance, innovation and adoption. We want our members to be active evangelists for the community. We strive to create an environment where developers will be excited and committed to the project and will only want to develop their dApps on the RChain platform. This way of thinking affords us the opportunity to make a positive change in the world.
The RChain Difference and Why We’ll Win
RChain has a tremendous advantage over other current and up and coming blockchain technologies, below are four areas that we are different, better, and will win versus any competitors.
One) The team. Experience and knowledge like the founders and the staff are attracting are second to none. As we all know the blockchain community is small. By simply asking around in the space who the greatest influencers are you’d be hard pressed to find anyone that doesn’t have knowledge about the team of advisors and and contributors that RChain has been able to bring to the table. For this team it isn’t about building a technology and company for the first or second time – our developers have done it multiple times and have been in and around the blockchain space longer than just about anyone in the spectrum.
- Overview - Table of Contents
- What Is RChain?
- Getting Started With RChain
- How To Get A RChain Wallet?
- RChain Resources
- Latest RChain News
Two) Speed and Scale. This is a technology (blockchain) that can not only scale but can accommodate tens of thousands of transactions per second. The goal is to launch with the capacity to handle 40,000+ transaction per second and it won’t be long until the platform can withstand, with ease, 100,000+ transactions per second. This of course is what is holding up and hindering the existing platforms (Bitcoin and Ethereum). For RChain to “win” and make a significant mark in this space scalability and speed are crucial.
Three) Tools. The developer tools that will come along with the RChain platform have not yet been achieved in the market place. We are building a blockchain that developers of various skill-sets within multiple code languages can easily and functionally connect their app’s/product to the RChain blockchain. Yes, this has been tried and others say they are working on this – we’ve already mastered this issue and are proud to offer it within the RChain platform. The current software tool industry is quite large with Mathematica alone claiming over $1B in revenue. When we add in Matlab, the CRAN, and other financial and biological modeling platforms we are looking at 10's of B's of $. These should all be blockchain enabled and RhoLang and RChain is poised to provide those capabilities and interfaces.
Four) The Co-op. The way in which we have set up this membership and allowed accessibility to the code/blockchain is unique, transparent and open to the community. All of the blockchain code is open-source. The membership fee to join the Co-Op and to have a deciding vote is set at a low enough price that practically anyone from anywhere in the world will have a say in the future of the RChain blockchain technology.
Go to Market Strategy
How are we going to pull this off? With the help of the community. It does sound cliché, overdone and everyone seems to be saying it.
We’ll be different in that we’ll have a product that when looked at will be an obvious game changer. Upon further review developers will see that we have made it easier than any other platform in existence to transfer your app/product/code over to the RChain platform via our “push a button” translator.
We plan to follow that initial thrust of attention by partnering with other entities on- boarding at a minimum ten key enterprise accounts that will push applications out on the RChain platform as it launches in 2018. This will insure we have a solid footing of developers from the enterprise level using the platform.
Where the bulk of our support will come from is the thousands of other developers that are seeking the next iteration of the blockchain, one that scales, is secure, fast and that they can easily build upon. With a portion of the funds raised from this Private Sale an outreach of domestic and international meet-up’s, hack-a-thons and RChain promotions will ensure that the developer community knows about RChain and its capabilities. As we’ve seen from the many ICO’s and blockchain products that have come before us – publicity can only go so far. The key is to have a strong message but more importantly is to have a strong platform that is being used and has been proven to be the obvious choice out there for the developer world. A set of milestones and goals has been set (see them here) so it will be easy for the community to follow the progress and the adoption that the RChain blockchain is gaining.
Technology
A Turing-complete and Byzantine fault-tolerant, replicated virtual machine:
The heart of an RChain is the Rho Virtual Machine (RhoVM) Execution Environment, which runs multiple RhoVM’s which are each executing a smart contract. These execute concurrently and are multi-threaded. This concurrency, which is designed around on the formal models of mobile process calculi, along with an application of compositional namespaces, allows for what are in effect multiple blockchains per node. This multi- chain, independently executing virtual machine instances is in sharp contrast to a “global compute” design which constrains transactions to be executed sequentially, on a single virtual machine. In addition, each node can be configured to subscribe to and process the namespaces (blockchains) in which it is interested. “ The RChain decentralized applications platform is powered by the Rho Virtual Machine.
Independence. Each instance of RhoVM executes an independent set of smart contracts on an independent blockchain and networks only when necessary. This means that RChain is partitioned (sharded) by default, resulting in a network of coordinated and parallel blockchains. This well sought-after "multi-chain" design is built with self-sufficiency in mind, and it represents a victory unique to RChain.
Scalability. As the platform grows, nodes simply initialize new instances of RhoVM to manage the load. This allows the platform to scale linearly while keeping performance, consistency, and code complexity constant.
Performance. Each instance of RhoVM is lightweight and multi-threaded, so multiple high-performance instances can exist on a single node. Thus, applications on RChain achieve unprecedented throughput, availability, and response time, opening a new landscape of decentralized applications suitable for the modern market.
Private Token Sale
The Co-op board has authorized a private token sale to fund the continued development of the RChain Platform. These tokens will be ERC20 tokens; called RHOC. Upon the launch of the RChain blockchain they will be converted to another token called REV. These tokens convert on a 1:1 basis, and used to operate on the RChain platform as a native staking token.
Why a private token sale? It’s an effort by the Co-op Board to attract early adopters, developers, industry leaders and evangelists to the project. The private token sale proceeds will be used for the operation of the co-op and development of the platform. In the current ICO market companies are raising millions of dollars on very thin plans thus attracting a lot of crypto currency speculators and manipulators. Holding a private token sale to a small group of active supporters/developers that have been prequalified is best for the long term health of the RChain community.
Getting Started With RChain
Bitcoin proved the viability of a decentralized, peer-to-peer digital currency. Ethereum demonstrated the demand for a world computer that can support decentralized applications, that is, applications that don’t rely on a central authority. However, widespread adoption of these platforms isn’t currently possible because they don’t yet scale.
RChain’s blockchain is designed to be scalable from the outset. RChain is the brainchild of Greg Meredith, the mathematician and developer who created Rho Calculus, architected Microsoft’s BizTalk Process Orchestration, served as CTO of Synereo Ltd. through December 2016, and now is President of RChain Cooperative. Greg also advised the Ethereum Foundation and is collaborating on aspects of the Casper proof-of-stake protocol with Vitalik Buterin and Vlad Zamfir.
Meredith designed the decentralized, general computation platform for building secure applications that will aim to address a variety of social, political, and economic problems. He is especially motivated by those issues that are global in scope and that will be made more tractable by a platform capable of coordinating human activity at a larger scale than a nation. Problems that he hopes to address include climate change, environmental sustainability, poverty, and disruptive monetary/trade policies, among others.
The open source RChain Platform is being developed by the RChain Cooperative. Many dApp projects built on the platform will be developed by RChain Holdings, the for-profit entity of the project. Both are based in Washington State and have team members around the world.
Thanks to the pioneering efforts of Bitcoin and Ethereum, blockchain architects have eight years worth of cryptoeconomic history to study when designing new systems. They represent brilliant innovations, demonstrating how consensus can be achieved among thousands of nodes running independently across the planet, forming a network resilient to attackers trying to disrupt its functioning.
However, modern commerce demands networks capable of handling billions of transactions per day. Broad adoption by consumers running everyday applications requires networks that can handle tens of thousands of transactions per second. The two most well-known blockchains can handle less than 10 transactions per second.
Early developer tests indicate RChain will be capable of providing 40,000 transactions per second, putting the platform on par with major credit card companies like Visa. Unlike credit card companies, there would be no centralized database that is vulnerable to hacks. User data will reside on RChain’s decentralized storage infrastructure, encrypted by a user’s private keys that are off-chain.
Existing blockchain developers are struggling to address several additional issues, including: efficiency of the consensus protocol, burdensome node requirements, and provable correctness of smart contracts.
- Overview - Table of Contents
- What Is RChain?
- Getting Started With RChain
- How To Get A RChain Wallet?
- RChain Resources
- Latest RChain News
RChain takes a novel approach to solving these problems. It leverages several branches of mathematics, most notably, Mobile Process Calculi and game theory. By combining insights from this foundational work with computer science discipline and experience building decentralized content-delivery applications, Greg and the team developed a formal model for decentralized computation. This model is the basis for a truly scalable blockchain.
Key design features include:
- Calculus, a mathematical model of computation with formal models and formal verification.
- Rholang, a strongly typed smart contract programming language.
- RhoVM, a concurrent virtual machine.
- Correct-by-construction software engineering.
- Formally verified smart contracts (because of above reasons).
- Proof-of-stake consensus protocol.
- Multiple blockchains on a single node. (Compositional blockchains, which in effect allow a small node to support multiple blockchains.)
- Nodes configurable as public, private, or consortium blockchains.
These features can enable delivery of trustworthy decentralized solutions. If individuals aren’t required to trust sensitive personal and financial information to retailers storing data on non-secure private servers, then the Internet will become more trustworthy. Small businesses could gain access to new capital markets.
While there are several competing blockchains with strong support and equally ambitious visions, the completeness and consistency of RChain’s technical architecture gives it a competitive edge.
Architecture
An RChain node has several components including the P2P network, the Java Virtual Machine and the Rho Virtual Machine. Much of the core functionality is programmed in Rholang itself.
A single node will support:
- Multiple blockchains.
- Public and/or private blockchains.
- Multiple application tokens.
- Proof-of-Stake consensus.
- Leased storage.
Native Economic Tokens for Staking, and Application Tokens
RChain will include at least one native economic token (similar to bitcoin or ether), the first of which will be called the REV.
The inherent value of the REV comes from a few of its qualities. Users will need REVs to interact with a node’s system contracts. REVs are used to compensate node operators in exchange for compute, storage, and bandwidth resources. REVs are also a staking currency in the consensus protocol, required for validator bonding.
“Application tokens” will be supported through a system contract similar to Ethereum’s ERC-20 standard. App tokens can be used to raise funds through token sales, or to gamify usage of applications. RChain’s speed and scalability makes micropayments practical, enabling new business models across a variety of domains: Internet of Things, content monetization (creation, promotion, and consumption), disruptive advertising models, and many others.
The Co-op has created an interim promotional credit token called “RHOC” on Ethereum. RHOCs will be redeemable for REVs before RChain’s release.
Challenges
The path towards the type of mainstream adoption that Bitcoin and Ethereum are starting to enjoy may not be easy for RChain. Existing platforms have a first mover advantage, and competition between new blockchains with similar goals will be fierce. As with every startup in this space, navigating the regulatory landscape will not be a simple feat for the Rchain Co-op and Holdings companies.
RChain is designed to be a solution for both enterprise clients and decentralization enthusiasts, so balancing the needs and desires of these separate audiences may prove challenging.
Rholang will be difficult for even experienced developers to learn. It is based on the concurrent computing programming paradigm which differs significantly from more commonly used languages based on object-oriented and functional paradigms.
Building a healthy, cohesive community could be the biggest challenge of all. We’ve seen how differing opinions on how these protocols should evolve have caused deep divisions within the Bitcoin and Ethereum communities to form. As a result, these projects have occasionally suffered from the sort of messy politics from which many enthusiasts sought to escape by participating in new blockchain-based systems.
How To Get A RChain Wallet?
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.
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.
RChain Resources
How To Buy RChain?
RChain is a novel system of blockchains that heavily emphasizes the use of smart contracts. RChain hopes to provide advanced security and a programming interface that makes user-defined applications unambiguous. It is programmed in the Rholang computing language, which helps its ability to be “censorship resistant.” RChain aims to achieve robust scaling, security, and fast transaction times using parallel blockchains created for specific tasks by the Rho Virtual Machine (RhoVM).
Some of the potential applications of the RChain platform and RhoVM include financial services, monetized content delivery networks, marketplaces, governance solutions, DAOs, and RChain’s own flagship decentralized social platform.
RChain arose as an idea in mid 2016 out of the desire to make improvements on traditional blockchain architectures. Founded by former Microsoft developer Greg Meredeth, president of the Seattle-based RChain Cooperative, RChain is a for-profit operation which raised funds through an ICO process in September 2017. The rest of the cooperative, which is responsible for making changes and improvements upon the platform, is a diverse team of computer science and industry professionals. The team started out with a mission to provide blockchain-based solutions “at the scale of Facebook and support transactions at the speed of Visa,” concluding that current platforms of the time, like bitcoin and Ethereum, were not suitable for accomplishing such tasks.
With much of the system still under development, ICO participants were rewarded with ERC20-compliant tokens under the symbol RHOC, which are to be later reimbursed at a 1 to 1 ratio for RChain platform-native REV tokens upon initial launch of the project.
The RChain platform is constructed using the programming language Rholang. The RhoVM software is Turing-complete, byzantine fault-tolerant, and “easily replicated.” It makes skillful use of smart contract features, having the ability to execute them in a series of parallel networks known as a multi-chain. This allows for specific sets of information to be transmitted more quickly than that of traditional blockchain architectures, where all data is channeled through a single chain.
RChain is developer friendly, with built-in features to help to ensure the creation of safe, stabile decentralized applications (dApps). It adds a layer of security by employing the use of namespaces, an advanced filing and classification system that defines parameters such as visibility, access, composition, and contract features. Namespaces are used to designate properties to smart contracts, including the terms under which they are executed, and which parts of the network they are to effect. In this way, RChain is not a rival of bitcoin or Ethereum because its potential applications are extremely broad and undefined.
Why RChain?
- Extremely fast transaction settlements, low fees, highly scalable
- Open-source API allows for a wide array of user-made dApps
- Namespaces help define “type-safe environmental policies” including type of encryption, supported interfaces, economic protocols, and identity
- Sophisticated smart contracts enable meta-programming, reactive data streams and pattern matching
Latest RChain News
RChain series: Introduction
This is the first of several articles about the RChain project, an innovative blockchain platform currently being developed in Seattle by a team led by Lucius Gregory (“Greg”) Meredith, a mathematician and computer scientist whose work over the years centered around mobile process calculi and their applications to a broad scope of practical problems — from consensus algorithms to modeling biochemical processes in the human body.
RChain is a blockchain platform, which means that it is a distributed system used to record and relay transactions under network consensus. Existing blockchain platforms, such as Ethereum, are commonly used to create decentralized applications with an economic component. Ethereum introduced and developed a framework for automated economic interactions between multiple parties usually termed smart contracts. RChain aims to achieve a similar goal: to create a global platform for decentralized economic applications using its own smart contract language, Rholang.
RChain is based on a formal mathematical framework called ρ-calculus. This blog post will explain what this framework is, where it fits with blockchain technology, and briefly outline other innovations behind RChain. The primary audience for this post is technical. In order to understand some concepts presented here you are expected to be familiar with such terms as consensus protocol, smart contract language, concurrency, process, and others, which I will use without providing detailed explanations. This series is being written as an early introduction to RChain for developers and will dive deeply into specialized topics that may be too in-depth for general audiences.
A mobile process calculus is a formal way to model an environment that consists of a number of concurrent processes that engage in communication with each other. Examples of such environments can be found everywhere, both in nature and in computer science. For example, we can look at every car and driver on the road as an independent process, with communication established through speed, turn-signals, and horns. Reducing the scale, we notice that every part of the car is also a concurrent process, where each mechanical part communicates with certain others by applying pressure and each electrical part communicates by producing electrical signal and current. The human body is also made up of a vast number of concurrent processes, cells, which communicate through a complex medley of chemical, electrical and mechanical signals. We can continue these illustrations, but the picture is clear: once you look at the world as a combination of concurrently proceeding processes, you see them everywhere.
But the model presented by the mobile process calculus doesn’t stop there. It is further augmented by the fact that configuration of the network and coordination between processes may itself be seen as a process, which is changing over time. In mobile process calculus therefore, we see a mechanism that describes and accounts for such fluidity.
The applicability of mobile process models to blockchain is easy to see. A blockchain platform, such as Ethereum, operates by running a vast number of concurrent processes in several different contexts. On one hand, each of the nodes on the network is a process. Every such node has threads that receive, resend and analyze transactions as they happen.
More importantly, however, is the fact that a smart-contract environment is inherently a mobile process environment, where each party to the interaction encoded in the smart contract is itself a process. These processes are of a special kind, because they do not operate continuously, but rather interact with the network as-needed. So for example, a multi-signature cryptocurrency wallet is a process which receives signed messages and occasionally performs a funds transfer to the destination address. Each of the parties to such contract sends signed messages to the wallet. From the perspective of the wallet, people that interact with it look like other processes.
- Overview - Table of Contents
- What Is RChain?
- Getting Started With RChain
- How To Get A RChain Wallet?
- RChain Resources
- Latest RChain News
A creation or a dissolution of a smart contract is an act of reconfiguration of a part of the mobile process network. It is governed by its own rules that are carried out by yet another set of processes that act to create or dissolve a contract under these rules.
I hope that what I have shown so far illustrates the power and versatility of this approach. Mobile processes calculi (of which there are several variations) are elegant models for programming both real-world systems and digital environments such as blockchain networks and smart contracts.
This is the primary insight behind the RChain project. Greg has spent many years developing a particularly powerful variation of a mobile process calculus called ρ-calculus (pronounced Rho-calculus), which closes the loop on several issues that are outstanding in a more traditional framework, π-calculus.
One of the features that ρ-calculus adds to π-calculus is reflexivity. In fact, Rho stands for reflexive higher order, which is to say that ρ-calculus supports processes referring to themselves and the code that comprises them. As we will see in subsequent chapters of this series, this feature proves to be particularly important for blockchain programming. It allows for an unprecedented level of automated analysis of smart contract code to definitively confirm that it adheres to specification and respects constraints set upon it by its creators. It also makes available the concept of namespaces, which are collections of communication channels with associated rules. Namespaces, in conjunction with automated analysis, allow a developer to verify that access to certain features of a smart contract is appropriately restricted, preventing such egregious security holes as the one recently discovered in the Parity multi-signature wallet. These are just some advances made possible by ρ-calculus, but there are also others that we will illustrate in subsequent chapters.
RChain is a blockchain framework fundamentally predicated on these ideas. Its core feature is its programming language, Rholang, which makes ρ-calculus concepts available to programmers as language constructs. Rholang is being developed both as a smart contract language and as a high-performance programming language that will eventually be used to implement the low-level functionality of the blockchain nodes themselves.
Rholang’s performance expectation comes from several sources. First, it is a highly concurrent programming language (obviously, since concurrency is its primary feature). As such it allows one to develop highly parallelizable software, whose speed of execution can be increased significantly by adding computing resources to the network. Secondly, it can be efficiently analyzed by automated tools that will eventually become an integral part of its compiler framework. As part of such analysis the compiler may automatically identify bottlenecks, perform optimizations, and even execute certain parts of your code in a vectorized fashion on your GPU(s).
In addition to performance Rholang offers significant guarantees of safety and determinism when it comes to such aspects of concurrent programming as deadlocks and race conditions. For example, it can find race conditions in your smart contract code (at compile time!) and ensure that all nodes on the network achieve consensus at the race-point only, which is expected to significantly reduce the amount of information that is required to flow through the blockchain network.
RChain’s innovative vision, however, doesn’t stop with Rholang. Another area of improvement as compared to existing blockchain networks is its resource-economics model (which I call a meta-resource model in one of my earlier posts). This model defines the way RChain accounts for the economics of carrying out blockchain transactions. A resource-economics model currently known to many is Ethereum’s gas, which is used to pay for smart contract computations performed under consensus. Ethereum’s gas, however, only accounts for the computing power required to run a smart contract, but leaves other node-related expenses uncompensated. Those are: disk storage, memory, and network utilization. A truly scalable blockchain requires that these expenses be properly accounted for, because if they aren’t, an incentive misalignment will prevent the network from growing. Imagine, for example, what happens when a blockchain grows to multiple petabytes of data (which is a conservative estimate for something truly global). A node desiring to become a validator needs to be able to pay for storage of such significant size. If they don’t get compensated by the network for doing so, they will simply not want to provide this important service and the network will be left without validators.
Another feature that contributes to the vision of scalability in RChain is the way it uses namespaces to limit the scope of transaction validation. Because data and code are unambiguously referred to by names within a rich namespace framework, validators are only required to achieve consensus related to a particular transaction within its specific namespace. This means network communication only needs to happen between a limited set of validators (those that record transaction in the same namespace), and only for relevant transactions, rather than every transaction in the global network. Essentially, one can think of namespaces as shards in more traditional parlance.
Similarly, an RChain node doesn’t need to download the entire blockchain as is the case today with Bitcoin and Ethereum. Nor do all transactions in the world need to be placed in sequential order, but just the ones whose order matters to resolving conflicts, such as a double-spend.
The ability to narrow the scope of consensus around a specific transaction allows RChain to do as little work as possible in validating specific transactions. At an extreme low end of the spectrum, this translates to being able to create an equivalent of state channels, which can be seen as transactions between a small number of counterparts, carried out cheaply and efficiently without engaging the consensus protocol of the larger network. Essentially, with RChain you can think of state channels as a feature you get for free, without the need to create additional software layers to support them.
RChain strives to cover many of the features that are either apparently missing from the current frameworks, or will soon become major bottlenecks preventing adoption and scaling. It is being developed as a platform for the future, one that plans to survive and be used for decades, rather than becoming obsolete at the next turn. In the subsequent chapters of this series I will dive more into specific features of Rholang and RChain, demonstrate a simple smart contract written in Rholang, further discuss its security model and economics, talk about the basis for automated compile-time analysis, as well as address many other aspects of this truly innovative framework.
- Overview - Table of Contents
- What Is RChain?
- Getting Started With RChain
- How To Get A RChain Wallet?
- RChain Resources
- Latest RChain News
Disclosure: The author of this article received compensation from RChain for time spent researching the different aspects of the framework, spending time with creators and developers to learn about their approach and roadmap, and for other related activity. CoinFund remains an independent researcher in the blockchain space and strives to provide factual views and educated opinions. This post is for informational purposes only, and is not investment advice.
CoinFund is a blockchain technology research company, advisory team, and private cryptoasset-focused investment vehicle. We work with companies in the blockchain space and beyond to understand how blockchain-based economics can be used for financial applications such as crowdfunding, and more. If you’re a blockchain project or are interested in exploring blockchain technologies for your product, please get in touch with us or join us in the CoinFund Slack.