Skip to content

Overview

George Agapov edited this page Sep 30, 2016 · 3 revisions

Overview

RSCoin is a modern cryptocurrency, implementing the idea idea of building cryptocurrency as a centralized network.

This document describes our implementation of RSCoin, based on [original work] (https://eprint.iacr.org/2015/502.pdf) by George Danezis and Sarah Meiklejohn, with adding two more features:

Actors

From a technical point of view, RSCoin system involves following actors:

  • Bank or Central Bank
  • Mintettes
  • Notary
  • User (s)

Bank

Central Bank or CB is an entity, mainly responsible for publishing transactions (cause RSCoin is a cryptocurrency, our main deal is to send transactions). It does that in so called HBlocks, which are being delivered to all actors in system. HBlock is simply a block in RSCoin blockchain.

HBlock is emerged repeatedly with some timeout, time space between two sequential HBlocks is called a Period.

Along with publishing transactions Bank has following responsibilities:

  • Maintain and publishes a list of active (authorized) mintettes for current period
  • Publish registered MS addresses (see Addresses)

It's crucial to say, that Bank serves only read-only entry points, meaning you can't just contact to Bank and propose some change to system. Instead, it's the Bank who contacts other actors of system and all write-only operations occur only during this communication.

Mintettes

Mintettes are the key actors of system. They're the middle layer between User and CB. If user wants to perform a transaction, he sends it to a set of mintettes, associated with transaction's inputs.

Mintettes should agree on that User is eligible to spend money from transaction's inputs, and if they agree, they save this transaction in so-called LBlocks. These LBlocks are not published to system, instead they're preserved on Mintettes.

On the end of period, Bank queries Mintettes for these LBlocks and forms a new HBlock. Then this HBlock is being published.

Notary

Notary is a special entity, introduced as part of multisig address concept. Notary is responsible for:

  • gathering signatures for incoming transactions
  • gathering signatures for MS address allocations

More detailed info about how MS addresses are implemented is described in Addresses.

User (s)

User is basically a user of system. It may have control over an arbitrary amount of addresses (address is actually a wallet), i.e. using these addresses to send transactions within the system.

Clone this wiki locally