RChain

RChain (RhoC) масштабована платформа смарт-контрактів

RChain - платформа децентралізованих додатків (масштабований блокчейн), що обіцяє стати сервісом промислового значення з обробки та передачі даних, подібних за масштабом до обсягів Фейсбуку та підтримувати транзакції зі швидкістю Visa. Ресурси для платформи надають самі користувачі, як це реалізовано Ethereum і Maidsafe.

Rchain

Мотивацію творці RChain бачать у можливості використовувати найкращі інженерні та математичні моделі для масштабування та точності з метою підтримки критично важливих рішень. Користувачам, які використовують повсякденні програми, потрібні мережі, здатні обробляти десятки тисяч транзакцій на секунду. Два найбільш відомі блокчейни можуть обробляти менше 10 транзакцій на секунду.

“З належною старанністю вивчивши поточне становище багатьох блокчейн-проектів, після тісної співпраці з розробниками Ethereum та аналізу їх roadmaps, ми дійшли висновку, що існуючі та архітектури, що розробляються, Blockchain не можуть задовольнити потреби в доставці контенту і швидкості транзакцій. В середині 2016 року ми вирішили створити кращу архітектуру блокчейн.” Грег Мередіт

Блокчейн RChain - задум математика та програміста Грега Мередіта, який написав A Reflective Higher-order Calculus (Rho Calculus), на якому побудовано Microsoft BizTalk Process Orchestration. Колишній топ-менеджер Майкрософт Грег Мередіт розробив “Блокчейн 2.0” з відкритим вихідним кодом - обчислювальну платформу для створення безпечних програм, яка буде спрямована на вирішення низки соціальних, політичних та економічних проблем. Робота над децентралізованою платформою ведеться RChain Cooperative та RChain Holdings, некомерційною організацією проекту. Обидва відділи розташовані у штаті Вашингтон, зібрався колектив з усього світу.

Особливості та рішення RChain #

У Рчейні дані користувача будуть зберігатися в децентралізованій базі даних, зашифрованій секретними ключами, які знаходяться поза мережею.

Структурна семантика блокчейна RChain
Структурна семантика блокчейна RChain

У створенні архітектури платформи використовуються математичні теорії, такі як Теорія ігор та Mobile Process Calculi. Шляхом об’єднання фундаментальних математичних досліджень, computer science і практикою в розробці додатків для доставки вмісту, Мередіт та колеги спроектували формальну модель розподілених розрахунків, що стала основою масштабованого blockchain.

Ключові елементи дизайну RChain:

  • Формальна математична модель алгоритмів Rho Calculus із формальною верифікацією.
  • Мова програмування смарт-контрактів Rholang із строгою типізацією. Він заснований на парадигмі паралельних обчислень та значно відрізняється від популярних мов на основі об’єктно-орієнтованих та функціональних парадигмах. Мова орієнтована на паралелізм, з акцентом на передачу повідомлень через вхідні канали. Канали статично типізовані та можуть використовуватись як окремі канали повідомлень, потоки або сховища даних. Подібно до типізованих функціональних мов, Rholang буде підтримувати незмінні структури даних.
  • RhoVM (Rho Virtual Machine) - тьюринг-повна віртуальна машина, що реплікується, застосовує алгоритм консенсусу Byzantine fault tolerance. Кожна VM виконує незалежний набір смарт-контрактів, об’єднуючись у мережу скоординованих паралельних кіл.
  • Масштабованість реалізується за рахунок ініціалізації нових RhoVM у міру зростання платформи. Це дозволяє платформі масштабуватися лінійно, зберігаючи стабільну продуктивність, узгодженість та складність коду.
  • Розробка програмного забезпечення шляхом послідовного покращення конструкції.
  • “Namespaces” - напівавтоматична структура для розміщення та виконання контрактів на основі їх моделей та завдань. Властивості контрактів можуть перевірятись статично, щоб допомагати розробникам конструювати безпечний код, який підтримується у багатьох сферах.
  • Смарт-контракти, що перевіряються на основі алгоритмів формальної математичної моделі, що проходять формальну верифікацію. Контракти RChain є внутрішньо паралельними, використовуючи парадигму передачі повідомлень для оптимізації реагування, пропонуючи динамічнішу та складнішу екосистему смарт-контрактів. Провідними функціями смарт-контрактів RChain є метапрограмування, відповідність шаблону, реактивна передача даних.
  • Мульти-блокчейни на одній ноді.
  • Ноди, що настроюються - приватні, публічні, групові (консорціумні).
  • Паралельність. В даному випадку на увазі не синхронізація процесів. Це особливість структури, що дозволяє незалежним процесам об’єднуватись у складові. Вони вважаються незалежними, якщо не конкурують за ресурси. Незалежно від того, працює платформа на одному процесорі або 1 000 000 процесорів, дизайн RChain масштабується. Докладніше в White Paper

Порівняльна таблиця блокчейнів Bitcoin, Ethereum і RChain #

BitcoinEthereumRChain
Структура данихБлокчейн, ланцюжок блоків. Кожен блок посилається на попередній блок, містить список транзакцій та інші дані.Блокчейн, ланцюжок блоків. Кожен блок посилається на попередній блок, містить список транзакцій і список ommers.Блокчейн, граф блоків. Кожен блок посилається на один або більше попередніх блоків, список транзакцій та інші метадані.
КонсенсусАлгоритмProof-of- workЗараз: Proof-of-work, у планах: Proof-of-stake на підставі частки творця нового блоку.Proof-of-stake на базі пропозиційної логіки.
FinalityВірогідність зміни транзакції зменшується пропорційно формуванню нових блоків.Як у БіткоїнЯк у Біткоїн
ВидимістьГлобальнийЗалежно від призначення вузлів (приватний, громадський, корпоративний).Залежно від призначення вузлів та "namespaces".
Механізм поліпшеньСофт та хард-форкиЗараз: форки , у планах: ревізії блоків у разі тимчасової ізоляції мережі.Ревізії блоків у разі тимчасової ізоляції мережі.
АдресаІдентифікатор, який надає місце призначення для транзакції. Виготовляється з випадкового приватного ключа або з хешу скрипта (P2SH).Ідентифікатор, який надає призначення для транзакції. Виробляється з випадкового приватного ключа, що представляє обліковий запис.Зашифрований унікальний канал для комунікації з процесом (включаючи смарт-контракт), аналогічно URL.
Шардинг Однорідний, без шардингу.Зараз: однорідний (без шардингу), у планах: дворівневий.Ізольовані адреси "namespaces" дозволяють користувачам підписуватися на обрану адресу без необхідності завантажувати весь блокчейн.
КонтрактиОбчислювальна потужністьСтекова мова програмування з декількома інструкціями.Т'юринг-повнийТ'юрінг-повний
Рантайм-архітектураСкрипт працює на Bitcoin Core, Libbitcoin та інші нативні імплементації.Віртуальна машина Ethereum, реалізована на декількох платформах. RhoVM на декількох платформах.
Мова програмуванняСкриптSolidity, Serpent, LLL та інші, реалізовані на ВМ.Rholang та інші, реалізовані на ВМ.
Час підтвердження блоку10 хвилин для 1 блоку, 30 хвилин для завершення підтвердження.Зараз: 14 секунд для 1 блоку, 3 хвилини для фінального підтвердження.Мета: менше секунди на 1 блок.
Розмір блоку1МБДинамічнийДинамічний
Максимальна вага транзакції/контракту100КБДинамічна, на ліміті газу.Залежить від типу токена та політики "namespaces".
Масштабованість/пропускна здатність7 транзакцій за секунду15 транзакцій за секундуМета: 40000- 100000 транзакцій за секунду
Протокол токенівBitcoin, плюс токени, що надаються Omni Layer.ETH, плюс токени, що випускаються смарт-контрактами. td>Мульти-токени, що випускаються системними контрактами або контрактами додатків.
Віртуальна Машина -Однопоточна EVMМультипотокова RhoVM
АнонімністьПсевдоанонімнийПсевдоанонімнийNamespaces довільно анонімні. Канали обслуговування користувача можуть бути зашифровані.

Архітектура RChain #

Вузли платформи складаються з кількох компонентів, що включають P2P network, віртуальні машини Java та Rho. Виконавча архітектура спирається на деякі зовнішні компоненти, залежні від конкретної операційної системи, вони зберігаються у стислому вигляді на віртуальній машині Java. Основна функціональна частина написана на Rholang.

rchain node architecture
Схематичне зображення шарів архітектури RChain

Опис рівнів архітектури платформи (знизу догори):

  1. Середовище ВМ (The RhoVM Execution Environment) надає контекст для виконання смарт-контракту.
  2. P2P Communication підтримує зв’язок між вузлами. Це P2P комерційного класу TBD з відкритим кодом, такий як ZeroMQ або RabbitMQ.
  3. Storage - сховище даних MongoDB, первинна структура даних у пам’яті radix tree (trie).
  4. Data Abastraction Layer забезпечує постійний монадичний доступ до даних та інших вузлів, як до локальних. Цей шар є еволюцією технології SpecialK, що виконується в Rholang.
  5. Casper PoS забезпечує консенсус вузлів щодо стану кожного блокчейну. Всі вузли Рчейн включають основні смарт-контракти, написані на Rholang. Системні процеси включають функції для запуску екземплярів RhoVM, балансування навантаження, управління контрактами dApp, токенами, довірою вузлів та іншими.
  6. API-інтерфейс Rho надає доступ до середовища виконання та вузла. Мовні прив’язки будуть доступні для мов програмування, написаних для JVM та інших. Буде наданий інструмент розробки REPL (Read, Execute, Print та Loop). Кожен вузол матиме CLI інтерфейс командного рядка. API-інтерфейс вузлів розкриватиме функції через http і json RPC.

Один вузол зможе підтримувати мульти-блокчейни, у тому числі різних типів (громадські або приватні), кілька різних токенів додатків, PoS-консенсус, лізинг.

Токени RChain RhoC та REV #

RChain буде включати мінімум один нативний економічний токен, аналогічний ефіру або біткоїну, перший з яких отримав назву REV.

Початкову цінність REV формує потребу користувачів у токенах для взаємодії із системними контрактами вузла. Токени REV будуть використовуватись для винагороди операторів нод за надання сховища, обчислювальні та пропускні ресурси. REV також є валютою протоколу консенсусу.

транзакції в рчейн
Транзакції в РЧейн

Токени додатків підтримуватимуться через системний смарт-контракт за стандартом ERC-20 від Ethereum. Токени можна продавати з метою збору коштів або для використання у додатках. Швидкість транзакцій і масштабованість RChain дають можливість використовувати мікроплатежі, тим самим будуть створюватися нові бізнес-моделі в різних сферах: інтернет речей, монетизації контенту, ефективному маркетингу та багатьох інших.

Кооператив створив тимчасовий кредитний токен RHOC на Ethereum, який погашатиметься на користь REV перед релізом платформи. Усього випущено 861,185,194 RHOCs, які підлягають обміну друг на друга на REV.

Складнощі впровадження RChain #

  1. Непростим завданням може стати пошук балансу між рішеннями для корпоративних клієнтів та ентузіастів децентралізації.
  2. Мова програмування Rholang досить складна навіть для досвідчених розробників.
  3. Збереження згуртованої спільноти може стати найскладнішою проблемою. Розробники можуть мати різну думку про те, як повинна розвиватися платформа, в результаті розбіжностей страждає проект.
  4. Слід зазначити, що проект не має чіткого Road Map, з виконаною роботою можна ознайомитися на RCHAIN ​​WIKI .

Запуск RChain #

У четвертому кварталі 2018 року буде запущено перший проект на платформі Рчейн під назвою Mercury, для якого будуть потрібні токени REV.