Skip to content
Brendan Wenzel edited this page Aug 12, 2017 · 15 revisions

Calibrae Hummingbird Logo

Calibrae

The Decentralised, Monetised, Distributed Social Network

Contents

What is Calibrae

Calibrae is a social network system built on a variant of Byzantine Fault Tolerance which uses peer review via election of Witness operators to implement defences against byzantine behaviour of actors within the system.

It implements a system of reputation modulation derived from Steem's system but altered to enable policing of byzantine social behaviour and by extension, the regulation of the Witness election.

The initial release is of a fork of Steem, but will be upgraded to run on a fork of SporeDB, modified to enable leadership in the network based on user votes.

  • Currency symbol JUICE
  • Vote power deposit instrument called Stake with 1% per day drawdown of remaining balance
  • Incentivised voting for network operator leaders
  • 5% flat issuance rate of JUICE token starting with an initial preload of the rewards pool of 1024 Juice

See the the calibr.ae blog for ongoing updates on progress

Public Announcement & Discussion

Calibrae was announced and the first fork was made on the 4th of August, 2017

https://steemit.com/steem/@elfspice/the-steem-fork-begins-meet-steemit-reloaded

Changes compared to the original Steem architecture and ruleset

Changes in Ledger

Removal of Pegged Secondary Token

Calibrae removes the pegged instrument called Steem Back Dollars completely. The underlying currency of Steem is called VESTS, and Vests has configurations for conversion rates that are based on the price feed set by Witnesses, and VESTS become known as JUICE in Calibrae.

The reason for this is that the benefit of Steem Backed Dollars is dubious, and without having a contrary IOU instrument to negate the credit token, it is very prone to logarithmic curve changes in price, distorting market effects on price.

Change in deposit instrument drawdown parameters

The denomination of the deposit/vote power instrument known as Steem Power, is also in JUICE, which will be called, simply STAKE. Stake has a different power down system, instead of prescribing an amount that divides over 13 weeks, it will instead draw down 1% of the remaining Stake every day.

This does mean that it is not possible to empty the account completely, at 365 days, there will still be ~2.5%. It will also stop at the point the account is at the initial stake size of a new account. The drawdown will proceed like this, assuming no new stake is added in rewards:

1 - 0.99 ^ days = draw down amount

  • 7 days: 6.79% drawn down
  • 30 days: 26% drawn down
  • 90 days: (3 months): 58.52% drawn down
  • 182 days (6 months): 83.95% drawn down
  • 365 days: 97.44% drawn down
  • 497 days (18 months): 99.32% drawn down
  • 730 days (2 years): 99.93% drawn down

This scheme increases liquidity of supply while constraining the rate of increase in liquidity possible in the whole network. This should smooth spikes in price from speculation through the actions of those who are invested in the platform not just for stake but its social utility as a forum.

Changes in Consensus Rules

Rewards only in Stake

Instead of paying rewards out optionally in liquid form, causing a drain on the pool of funds invested in the platform, they can only be paid out in Stake, which can be drawn down at 1% per day, as described above.

Curation/Author rewards split 50/50, posts are self-votes, direct self votes are banned

A very serious problem with Steem is that self-voting, because it allows users to boost their own reputation scores. The rewards were the visible issue, but many people had early on figured out they could artificially boost their reputation, which is quite absurd, because reputation is defined as what other people think of you.

New token distribution

Rather than scratch around for ways to fund development, the method used by Dash will be used - 10% of new Juice will be allocated to the developers, via the @calibrae user account.

10% will thus go to the developer team, 20% will go to Witness operators, and 70% will be allocated to the rewards pool.

New accounts

There will be two types of new accounts that can be created in Calibrae. The free account will be exactly the same as the free account in Steem. This account will have a limit of 24 transactions per day, which marks the central axis of the bandwidth limitation system.

The other type of account can be bought, and loaded with an arbitrary amount of stake at the discretion of the account creator. This type of account, nevertheless, starts with the same reputation as a free account. Thus the effect of a large stake in such an account is limited by the reputation coefficient

The anti abuse measures described below function to limit the utility of these accounts for spam, bots, and trolling, rather than using external verifications, which don't work, and as some users discovered, were easy to exploit.

Anti Abuse Measures

Elimination of Stake Delegation

The only possible uses of delegation are abusive, and delegation was added to Steem in order to mitigate problems caused by the severe limitations of free accounts. These limitations are reasonable, and stop signup spam, and its potential abuse by large stakeholders to attempt to exploit large numbers of bots to harass, or to attempt to game the reputation and rewards system, by delegating power to bots.

Bandwidth Limitation

Steem has a bandwidth regulation system, which is mostly invisible to users, and consequently people are not really aware of how it works, nor do they see it. The bandwidth limit is mostly worthless, however, because it is only regulated by stake. The theory is that more money invested should mean more ability to fill the chain with content.

There is obviously a serious problem with this, because it does not follow that putting lots of money in makes it socially acceptable to spam. Spamming should lead to a loss of reputation, and thereby, a loss of reputation should reduce bandwidth.

Thus, in Calibrae, in the alpha test, we will be examining bandwidth limitations very closely, discovering the range, median and mean levels of normal human bandwidth utilisation. There is no reason why there should be any ability to exceed this, on a social network. Steem's limitations are excessively generous, and this leads to exploitation for spamming the database, which increases the cost of the network, with activity which may be generally regarded by users as unacceptable, and so, in the following two sections we detail the mechanisms by which humans can function as turing testers, beyond establishing empirical parameters.

Steem Bandwidth Example

What possible way could a human being generate 32Mb of data to paste onto the blockchain? As an avid chatter (speaking as Loki), on IRC I used to put maybe 32kb of data a day out by typing. This was considered excessive by the other chatters. So the bandwidth allocation for a single user could not possibly be needing to be more than 256kb/day, based on the fact that this was consumed by 100 upvotes, which I also think is beyond

Reputation Coefficient

Reputation points are a score that measures the accumulation of actions from other accounts that indicate esteem from other users, which primarily consists of upvotes and downvotes. This reputation score, centered on the axis of the free account parameters, forms a maximum in the account that has accumulated the most upvotes or downvotes in the system. This top reputation score marks the ceiling that permits the maximum 48, the baseline is fixed at 12 transactions and down to zero, which marks 1 transaction per day.

The reputation coefficient is formed by dividing the reputation of an account, by the maximum reputation in the platform. This coefficient is multiplied by the stake in the account balance, to create the vote weight. The coefficient is based on the free account baseline, rather than zero reputation, and from the baseline to zero is linear and fixed.

Over time this patterning will slow down the rate at which accounts can grow from close peers, of course, and create a sharp distribution towards the top. This will be mitigated by the effect of follow and mute.

Mute and Follow Modulates Reputation

When a user mutes or follows another user, it creates a temporary boost or reduction in the reputation of the other account, by adding their reputation to the reputation of the other account, by a formula that increases the effect the more users do this, while not allowing this effect to unduly escalate.

This effect will work like this: 1/x^2*sum(r) where x is the number of muters/followers and sum(r) is the sum of all the reputations of the followers. This way after a fairly small number of followers or muters, the benefits drop rapidly to zero. This will stop users ganging up on each other, because this behaviour will have diminshing effect the larger it gets, and this would also stop the motivation to garner large numbers of followers for this specific benefit. This curve looks like this:

This sum(r) factor includes the sum of the target of the follow/mute acts with the follow/muters.

Note that reputation scores in Steem are renormalised to the simple values shown in the interface. I believe they are logarithmic, so 25 rep score is 1/10th of the rep value of a 26 rep. For this reason, the power in the formula may need to be expanded to 3, 4, 5, 6, or maybe more, to account for the actual values, to make sure that it takes more than 20 or more mutes to send a user into Calibrae Jail.

Calibrae Jail is an affectionate term for when a user's account drops their transaction number per day to 1. This socially driven ability to limit bandwidth is a powerful limiter of bad behaviour, and can make a bot or spammer account completely worthless to the abusive user.