Node Registration Opens as ARPA Mainnet Set to Launch on January 6th
Dear ARPA community members, supporters,
On February 28, 2019, we released the ARPA testnet, ASTREA. After 10 months of operation and testing, the testnet has been performing stably. Today, we are pleased to announce that we are launching ARPA Pre-alpha mainnet v0.1 at 00:00 Hong Kong time on January 6, 2020 (16:00 on January 5, 2020 UTC), and that the ARPA mainnet will open for computation node application from 00:00 December 23, 2019–00:00 December 30, 2019, Hong Kong time(16:00 December 22, 2019–16:00 December 29, 2019 UTC).
In the Pre-alpha mainnet phase, participants will be able to join the world’s first multiparty computation (MPC) network and become computing nodes. By completing computation tasks, participants will be able to earn corresponding rewards, with annual return up to 95%. ARPA is a layer 2 network for multiparty computation, enabling verifiable, privacy-privacy off-chain computation feature to Ethereum. Therefore, ARPA mainnet token will still be ERC-20 and there is no swap needed for mainnet.
To join as computation nodes during ARPA Pre-alpha mainnet, please sign up at http://mainnet.arpachain.io and fill out the application form.
Multiparty Computation (MPC) Protocol
The protocol implemented in ARPA’s computation network is organized as the chart below. The procedure can be viewed as a two-phase protocol: Preprocessing phase and Computation phase. The computation phase is the main procedure that involves secret sharing, function evaluation, and revealing outcomes. On the other hand, the preprocessing phase is the foundation which provides necessary raw materials (MPC triples) for computation. We separate these two phases apart because preprocessing is independent of both the function and the data.
During the computation phase, the main task is to securely evaluate an arbitrary circuit on private inputs which is kept secret throughout and reveal the result only when the parties follow the prescribed protocol. This phase can be concluded as a 3-stage protocol: input, evaluation, output. After private inputs are provided and secretly shared, all parties perform addition and multiplication on shared values, collaboratively, according to the arithmetic circuit. Eventually, results are opened after computing verification.
The preprocessing model began with Beaver’s circuit randomization technique, which allows any arithmetic circuit to be securely computed by randomizing the inputs to each multiplication gate. Using a multiplication triple, which is a triple of secret shared values <a>, <b>, <c> where a and b are uniformly random and c = a×b. Given this, two secret shared values can be multiplied.
MPC Virtual Machine
The core component of ARPA multi-party computation node on mainnet is MPC virtual machine. ARPA network consists of MPC VMs run by different users. This machine runs in the modern computer way. As we know, a typical computer can be separated into two parts: hardware and software. The hardware is responsible for receiving machine language and executing them by electronic circuits. On the other side, software is mainly written in high-level programming language and translated by compiler into assembly code or binary code.
In a similar way, APRA MPC virtual machine is driven by byte-codes, which are produced by the high-level MPC language compiler. One can write an MPC program following our development direction to define a function. Then the compiler will translate this program into byte-codes which later will be handled by VMs.
In detail, the core of the virtual machine is a set of threads, which execute sequences of instructions encoded in a byte-code format. Files of byte-code instructions are referred to as tapes, and each thread processes a single tape at a time. Each of these execution threads has a pairwise point-to-point communication channels with the associated threads in all other players’ runtime environments. In addition to byte-code files, each program to be run must have a schedule. This is a file detailing the execution order of the tapes, and which tapes are to be run in parallel.
Bootstrapping Reward Mechanism
To incentivize early adopters for ARPA computation network, 30% of all 2 billion ARPA tokens (600 million ARPA) will be distributed through bootstrapping reward over 5-year period. We will start bootstrapping reward upon Pre-alpha mainnet launch in January.
During this period, ARPA network will automatically post a MPC task timely and randomly select nodes to complete such task. Upon successful completion of each task, the reward related to the computation complexity will be given to nodes who jointly perform the computation. Several factors are taken into consideration in this mechanism, including random selection algorithm and reward setting.
The random selection algorithm takes both the staking amount of each node and randomness into account. Given that multi-party computations cost great power and resource, it is better for one entity to hold less virtual machines and maximize their utilization rate.
ARPA MPC mainnet uses a voting system to build this selection algorithm. Nodes with more staking will be more possibly selected. On the other hand, randomness should be induced to the selection process to designate the lucky nodes. First, a specific number of tickets will be granted to each node according to its staking amount. Then, an evenly distributed random number will be generated to select several tickets from the ticket pool. In the end, those nodes who possess these tickets will jointly compute a multi-party function.
Mathematically, the number of tickets allocated to one node can be represented as xi^α. Then for each time, the possibility that one node be selected is
where represents the acceleration ratio. The bigger α is, the more likely nodes with greater staking will be chosen. From the following figure, we can find out that with bigger α comes more rapidly ascending probability. It means that for nodes with a certain staking amount, it is rational to add on more staking rather than set up a fresh node.
List of MPC Tasks for Bootstrapping
- All inputs are encrypted during whole computation process
- MPC Analytics: evaluating average and standard deviation of a list of statistical variables
- MPC Advanced Arithmetic: calculating exponentiation and logarithm of integers
- MPC Linear Regression: finding out the linear relation between a set of variables.
- MPC Matrix Multiplication: computing vector and matrix multiplications, including dot product and cross product
- MPC Trigonometry: calculating the sine, cosine and tangent of angles in radians
- MPC Value at Risk: based on real stocks price, statistically calculating the “value at risk” or VaR risk parameter for the investment portfolio.
- MPC Bit Operation: operating array storing binary number, including different type of bit operations
- MPC Sorting: sorting a list of floating point numbers using bubble-sort algorithm
Bootstrapping Reward Details for Pre-alpha Mainnet
Number of computation nodes: 30
Each MPC task reward: 45 arpa, shared among computation parties
Number of parties in one task: 3
Time interval between each MPC task: 5 minutes
Min ARPA staked: 500,000
Max ARPA staked: 5,000,000
Computation cost per month: 0.33 USD per day during pre-alpha period, will be deducted from ARPA interest at market price
Reward withdrawal: instant
Staking withdrawal: 30 days after withdrawal request
Please note that reward might change as Pre-alpha mainnet is open to a very limited amount of people interested in ARPA. Our team will gather feedback and improve the incentive mechanism. The amount of computation node will increase upon Alpha mainnet.
MPC Core Upgrade
The ARPA mainnet pre-alpha release concentrates on a different aspect of the future MPC computation network compared to the testnet release. The testnet was mainly testing the theory which integrates MPC into the blockchain as a layer-2 secure and privacy-preserving computation network. The test was a success, via the Proxy Smart Contract, the users can send an MPC request and keep track of the entire life cycle of an MPC request. The Proxy Smart Contract is also the place where potential nodes in ARPA MPC Network make a deposit so that they can be listed and seen by users.
Although we were able to prove and demonstrate that ARPA MPC network can be integrated with any blockchain that can run smart contract. Testnet still runs smoothly till this date. Many new technical challenges arose during the development process. And conquering these challenges becomes the primary objective of the mainnet development.
One of the challenges we had was that the MPC core was only tested within a strictly constrained network. In the testnet, the MPC instances were deployed within the same region of our chosen cloud service provider, and all the instances were within the same MPC network. Network condition was close to ideal compared to connections between one party’s WiFi connection at home and other parties via 4G/5G signal across continents.
The version of MPC core we adopted in the testnet, though the algorithm was state-of-art, the implementation details were not ready for the complex network conditions in the real world. During the development of mainnet, with the help of our researchers at KU Leuven, we were able to greatly improve the viability of the network connections in a more complex network environment. However, this upgrade of the MPC core led to a compatibility issue that forced us to reconsider our strategy to interface with MPC core, later we decided that we should develop an MPC Network Infrastructure which allows us to plug in different MPC Core implementations with different algorithms easily, this will greatly improve the flexibility of the system and help us tailor specific MPC application with more suitable algorithm and/or implementation within the same infrastructure.
So in pre-alpha mainnet, we assembled our development resources to design and develop a generic, cloud-native, serverless, scalable, and easy-to-deploy MPC infrastructure, which enables plug-in and play of any MPC Core. This new MPC network will later be bridged via the proxy smart contract to different blockchains in the future, our vision is to have a large-scale distributed MPC network infrastructure that can be reached with the proxy smart contracts from many different blockchains.
post completion of the security audit and bug bounty program just prior to the final mainnet launch
Future Works for 2020
In the near future, computation nodes will be able to program and publish customized functions themselves and pay tokens to other nodes to provide data and participate in the computation. Furthermore, Developers can leverage ARPA MPC network to protect dApp data privacy and build privacy-preserving dApps, free of cryptography knowledge.
ARPA’s secure computation allows data to be shared without disclosing the raw data to anyone during data-at-use. ARPA can potentially disrupt the whole data industry by eliminating trust issues and data intermediaries within: finance, healthcare, IoT, retail, energy sectors, and other sectors where data is a valuable and sensitive asset to enterprises and individuals. Data providers are able to rent out without disclosing the raw data, and a data consumer can discover and use the data without signing an NDA contract with the data provider. We made significant progress on enterprise adoption of privacy-preserving computation since 2018 and are actively involved in standardization of MPC in China and internationally. We are proud to be part of the standard-setting committee under CAICT of China for the very first industry standard in this technology, along with Alibaba, Ant Financial, Baidu, and UCloud.
Finally, we would like to thank you, our supporters, privacy-preserving computation believers and visionaries, for your continuous support, attention and dedication. There is still a long long way to go. Together we bring the dawn of privacy to the data world.
ARPA is committed to providing secure data transfer solutions based on cryptographic operations for businesses and individuals.
The ARPA secure multi-party computing network can be used as a protocol layer to implement privacy computing capabilities for public chains, and it enables developers to build efficient, secure, and data-protected business applications on private smart contracts. Enterprise and personal data can, therefore, be analyzed securely on the ARPA computing network without fear of exposing the data to any third party.
ARPA’s multi-party computing technology supports secure data markets, precision marketing, credit score calculations, and even the safe realization of personal data.
ARPA’s core team is international, with PhDs in cryptography from Tsinghua University, experienced systems engineers from Google, Uber, Amazon, Huawei and Mitsubishi, blockchain experts from the University of Tokyo, AIG, and the World Bank. We also have hired data scientists from CircleUp, as well as financial and data professionals from Fosun and Fidelity Investments.
For more information about ARPA, or to join our team, please contact us at firstname.lastname@example.org.
Learn about ARPA’s recent official news：
Telegram (English): https://t.me/arpa_community
Telegram (Việt Nam): https://t.me/ARPAVietnam
Telegram (Russian): https://t.me/arpa_community_ru
Telegram (Indonesian): https://t.me/Arpa_Indonesia
Telegram (Thai): https://t.me/Arpa_Thai
Telegram (Turkish): https://t.me/Arpa_Turkey