Decentralized State — Building a private system of justice

Quis custodiet ipsos custodes?

This is still an in-development concept. To contribute, criticize and collaborate:

If you have some sort of political beliefs and use social media to follow one of your favorite Youtuber / Blogger / Influencer / Streamer, you always step into the same complaints a lot of them use nowadays, that they were demonetized, blocked, banned, from the platforms that nowadays produce thousands of jobs directly and indirectly. Despite these social media “stars” complaints, most of the social media platforms produce a wide range of complaints about how their review system is broken or being exploited by third parties corporate, political groups, activists, etc.

There are some identifiable problems when we look at this situation. First, of them, it’s to know and trust if the users of the platform are telling the truth and respecting the policies of the company. The second it’s the third parties there can use the nuances of the platform’s terms to exploit and steal money or do harm to those users by getting their accounts blocked/banned. Third, it’s the content reviewer of the platform that can use a biased motivation to accept the complaint and move forward to harm those users.

When I stop to think about a solution for this particular issue I’ve seen that, even though companies like Facebook and Google hire more people to review their content, the scale of the data to be reviewed will grow exponentially that’s will be hard to achieve a good level of reviews without any problems regarding misleading on the result of the content being reviewed, the way the content review works it’s coming to a huge lack of solutions to improve it.

So how do we trust platforms that are failing to protect the users who have been using them fairly and punish those who are using their products in the wrong way?

Let’s look about it: a company like Google have their “term of usage” of YouTube, these terms enforce how the users can use the platform, who you get paid for creating content inside it, and your rights and duties were using it and, when you accept it, it becomes a contract between the platform and the user. So to comply with the content being reported or copyright clammed, the rules must be clear and applied fairly.

Looking at this issue, we can see that’s more than only Youtubers complaining they are being demonetized, or some streamer got banned from Twitch for the wrong reasons, we talk about how laws, in the digital world, are being enforced in a private environment using, basically, the same process behaviors of the real world.

Brehon Law

When I started to research and start to think of a broader approach that could have expected results on the matter, I decided to expand my questions to other industries … And I’ve figured out that what I was trying to achieve was creating a process that could use it as a place where judgments regarding not only content but even normal disputes, could be held and achieve a better result where all the parts agree.

So my first approach, as a stateless wannabe, was to look at the past, to history, to figure out some sort of process that the State as we know haven’t taken part in the law-making, judgment, or results of a dispute. The far I could find it was the Brehon Law.

Brehon Law was an ancient Irish legal system that survived until the early 17th. This native legal system was fully developed before and continued despite Christian, Danish, and Anglo-Norman invasions of Ireland; although it was, somewhat, disrupted by each event. Although the exact date of inception of the Law is unknown, the existing evidence would suggest that it was developed during the Bronze Age (2,300 to 900 BC). There is also evidence that would suggest that the major development of, at least, a rudimentary form of the Law took place between the 18th and 13th centuries BC.

But this rudimentary system could work in 2019, where we have more complex and different laws not only among companies but between countries? With the use of the internet, a broader judgment system can be made. So I’ve gathered the most interesting points on Brehon Law to start defining the kind of approach I want to achieve on the system I want to create.

  1. As laws of users, the law could not be changed without public approval
  2. Any modification of existing laws or enactment of new ones could only be achieved in an open forum of the assembled people
  3. Although certain individuals could campaign for a specific law, it took a majority vote of all free persons to effect enactment
  4. The Brehons, although often improperly described as Judges, were actually arbitrators and legal advisors to the ruler

Defining a law that can be used by companies, governments, and other entities is not that simple. If you see that with the EU lawmakers making wrong decisions and ruling against its people (Article 13), creating a law of users that’s acceptable among all users would be impossible. We’re talking about a system over the internet that could reach thousands of people, with different cultures and motives. So looking at point 1, I’ve decided that this system does not want to generate any new laws, but accepts the law that’s the dispute will take place. Unfortunately, I had to discard the possibility to implement points 2 and 3, but perhaps at the end of this paper, we still can have a happy ending for that.

Even though points 2 and 3 are, at this moment, unachievable, when I looked at point 4, I saw an opportunity that could bring people to the system.

To a dispute, ruled by a law made by a third party, to have a satisfactory result they must have not one, but several odd individuals working as arbitrators(Brehons) who don’t know each other, making on their own discrepancy analyzing the law and dispute the which the latter is claiming and giving their final opinion, made our last point possible to be achievable. So to test this idea, I’ve tried to apply it to know the problems of our society nowadays.

Fake news

The term that’s very notable today it’s now new to our eyes when we study how the information is spread. The human inability to pass the information with accuracy or our natural behavior to select the information we want helps to spread misinformation, and for those who understand it, using people to spread lies it’s the perfect weapon of the post-truth.

Post-truth and fake news are largely used to achieve political power, using to manipulate public opinion and the factual truth. Seeing that, some organizations are trying to tackle the problem by creating “fact-checks” to seek the truth.

But how do we ensure that ‘fact-checks’ organization doesn’t have a bias while the same organizations are newspapers with a notable bias towards a political spectrum?

Not knowing and being skeptical among a peer it’s the better way to policy yourself to do what is right among the rules that follow, to not be appointed as a fraud, and lose credibility, and this is the worst scenario a news outlet would face. And there are some solutions to that.

The first solution would incentivize numerous organizations to create their own ‘fact-check’, to dispute what is right or wrong among the information, but nowadays we already have this scenario, and still leads us to miss information. But, given a decentralized ‘fact-check’ using several odd individuals, which don’t know each other, to give an insight of the fact and gathering the feedback and taking the majority to give a result, how we can acquire a level of reputable result that can be trusted?

Only relying on the fear of the individual to avoid its bias and give feedback with the lack of it still not optimal solution, people still can give their biased result, because based on a majority vote system, you only ensuring the majority, and not unbiased. To avoid this to happen, a decentralized system needs to give the individual a rate, where this rate will define the power of the vote, seeking to punish those who act unfairly in this system.


Yes, you have read this correctly, the video assistant referee. A new introduction to the rules of this sports tradition is football. The var introduced new referee assistance that, in the event of a possible miss judgment of the rulers at the field, requires a new evaluation of the decision made during the match.

Professional football has been over decades trying to tackle problems of wrong referee decisions on the field, rather being because of interpretation of the rules, bias towards one team, and, also, corruption.

VAR is, nonetheless, the latest case where, to avoid the wrong decisions to be made which would change the course of a football match, trying to ensure a more fair and accurate final result of the game.

Looking at the VAR, can’t we relate to what we are achieving? VAR uses a 3rd referee which calls the 1st referee when a dodgy scenario on the game appears, the decision on the game is, in the end, ensured by not one, but 4 different individuals, looking at the rules which a game complies.

A the end, the goal of this rule is to use peers, with the knowledge of some rules, to argue and get to a conclusion of a possible dispute. This is a good example of good dispute management, but still, relies only on a feel peer (in that case it’s a good scenario to implement) and doesn’t have a model that could scale in other scenarios.

At the end of my brainstorming, I’ve seen a good opportunity and realized that what I was looking for to achieve it was to create a protocol that could be widely used over the internet and on various platforms, that could be a changing on the way we approach to solve problems on platforms or even though to speed up settlement disputes, I still having more questionings.

How a result of a dispute on this protocol would be enforced, and why those participating in the dispute analyses would give their time to review a third-party dispute?

To solve the problem regarding the result, I should have a place where the generated result should be immutable and retrievable, having that achieved, we could guarantee that the participants which help solve the dispute could be remunerated. The solution was decentralization through a blockchain.

Using blockchain we can generate Smart Contracts, that enforce the results of a dispute, and to record the Smart Contracts on the blockchain we need to issue a fee. As we have many SmartContrat-based blockchains/cryptocurrencies, I won’t need to create a new one, but yet create a protocol that runs on top of any of those platforms to generate the results and also remunerate the arbitrators.


The goal’s to create a DAO(Decentralized Autonomous Organization) using a Level 2 settlement algorithm described in this paper, being able to create a Concurrency based on smart contracts where the dispute will be issued, reviewed and the result recorded, using a digital signature, third party reviewers and law abide owners. To achieve this Goal, the Level 2 settlement algorithm that will be used it’s called Punitive Proof-of-Adequacy

1. Punitive Proof-of-Adequacy

The punitive Proof-of-Adequacy is a type of “Layer 2” settlement algorithm protocol that operates on top of a blockchain-based smart contract network that aims to use a distributed consensus to achieve a result in a settlement dispute. In PoA protocol there is an earlier level of consensus, where the peers who hold the PoA act creating a network channel ( a Pool ), assigning an odd n P2P curators(Reviewers) connected to the network, giving them access to a settlement dispute via various combinations of a random selection of Reputations, thus generating a smart contract of the result of the dispute, using the fees to be shared among peers curators and the creator, known as Witness, of the next block.

In able to record on a blockchain, PoA has little to no participation, and The Witness can be any Index smart contract-based network.

1.1 Process

When a Reporter file a settlement against the Appealer, the Issuer(I) receive the dispute, then sends to the network the settlement to be reviewed(r), at this moment a bounty can be issued. It’s from the discreet of the I to notify the Appealed of the settlement dispute in the course, if don’t, it must send the information. eg.:

settlementIssued = {
issuer: '688A044D54361D5762100BD1E6559AF4',
reporter: '4A12FE7C3773A2B801BFFEB341A77949',
appealer : '39AAF3FEF253178E15963B9CC27DA138'

The request it’s sent to Assignment Pool, where the Issuer will accept a number(n) of r, where this n it’s the odd quantity of a minimum of 7, to a maximum of 25 of r, who requested to be assigned to review the content issued. The r assigned to the content to be reviewed are designated based on the following :

  • Position on the assignment pool
  • Reputation
  • Waiting time

After the designation, the content receives feedback from the n assigned peer R, and the final result it’s settled. The Result then it’s sent back to the PoA algorithm to record it on a blockchain.

The PoA sends data to a pool of results, to be recorded on a blockchain. The data must contain:

  • The Review reference/data Result of the settlement
  • The price distribution among the winners of the voting settlement added 60% of the bounty issued and reduced by the Witness fee G = pd + (b? b*(60/100) : 0) — wf, if there is any.
  • The Witness Total settlement fee attached to 40% of a bounty issued SF = wf + (b? b*(40/100): 0), if there is any,
  • The hash of all reviewers who was on the settlement
  • The hash of the writing witness.
settlementResult = {
RR: '4A12FE7C3773A2B801BFFEB341A77949',
G : `${pd + (b*(60/100) - wf)}`,
SF : `${wf + (b*(40/100))}`,
RW : ['CC54BD37BED550B4F756284A9FF42B4E', '79E9BBAE4E3C33C4EC16E1CCB303EE0B', 'CD47C54AFED2B25F833610FDB8875908',
'0AFB3728EC8AEB70B2B13FB1B6E714E2', '39AAF3FEF253178E15963B9CC27DA138', '92238FEAF3A982CF7D42D6C8FB52D804',
W: 'F56146D752AA1B96CB455B59FC017FD9'

G is the total Grant of the Result, pd = price distribution, b = bounty , SF = Witness settlement fee, wf = Witness fee

A Witness it’s assigned to generate a block on the blockchain via PoS, PoW, or the Witness Assignment Logic. Then it will take n data from the pool of results and record it on the blockchain

1.1.1 In a nutshell :

  1. A dispute is made to the network following a certain rule is that being requested.
  2. One peer of the network, defined as the Issuer, will register the dispute and request to other peers to be assigned.
  3. Peers request to assign a Reviewer to the dispute, and an odd number of Reviewers will be chosen by the issuer.
  4. Peers granted availability will be sorted by their position on the pool, reputation, and waiting time on the network.
  5. Reputations are defined by the previous actions the peers made.
  6. The result generates a Smart Contract.
  7. The dispute results are informed back, allowing to be appealed.

1.2 Appeal

An Appeal of the Result can be issued and restart the process, generating new data to be recorded on the block referring to the hash of the last Result.

If the result it’s the same, the settlement it’s closed and It can’t be Appealed again(appealFowardResult).

If the Appeal it’s giving a different result, the algorithm requests another appeal process to retrieve the result of the Issuer. Depending on the result, it fires the punitive algorithm which will reduce the Reputation and a charge fee to be deducted from the losing peer reviewers, adding the charge on the prize of the next settlement dispute of the Issuer(appealBlockingResult).

The reviewers charged can’t appeal, as they aren’t one of the 3 p2p actors with this level of permission.

appealFowardResult = {
LR: `F56146D752AA1B96CB455B59FC017FD9`,
RR: '4A12FE7C3773A2B801BFFEB341A77949',
G : `${pd + (b*(60/100)) - wf}`,
SF : `${wf + (b*(40/100))}`,
RW : ['CC54BD37BED550B4F756284A9FF42B4E', '79E9BBAE4E3C33C4EC16E1CCB303EE0B',
'CD47C54AFED2B25F833610FDB8875908', '0AFB3728EC8AEB70B2B13FB1B6E714E2', '39AAF3FEF253178E15963B9CC27DA138',
'92238FEAF3A982CF7D42D6C8FB52D804', '688A044D54361D5762100BD1E6559AF4'],
W: 'F56146D752AA1B96CB455B59FC017FD9'
appealBlockingResult = {
WR: '39AAF3FEF253178E15963B9CC27DA138',
LR: 'F56146D752AA1B96CB455B59FC017FD9',
RR: '4A12FE7C3773A2B801BFFEB341A77949',
G : `${pd + (b*(60/100)) - wf}`,
SF : `${wf + (b*(40/100))}`,
RW : ['CC54BD37BED550B4F756284A9FF42B4E', '79E9BBAE4E3C33C4EC16E1CCB303EE0B', 'CD47C54AFED2B25F833610FDB8875908',
'0AFB3728EC8AEB70B2B13FB1B6E714E2', '39AAF3FEF253178E15963B9CC27DA138', '92238FEAF3A982CF7D42D6C8FB52D804',
W: 'F56146D752AA1B96CB455B59FC017FD9'

1.3 Assignment pool

When an R requests a settlement for a review, the Issuer will get the first reviewer available on the Pool (P) of assignment and ask for a review, then the reviewer it’s sent to the end of the P. The position on the assignment pool is defined by time connected on the network, and the position is distributed among the peers. Having the top position on the Assignment Pool doesn’t automatically grant the reviewer the assignment from the Issuer, it’s only another measurement used to define the assignee of a dispute.

_A_ = _I_.get((reviewer) => reviewer.position )

1.3.1 Assignment Ordination

InToeep the pool assignment with the most trustful result as possible, the Reputation of n R should be differentiated, getting the advantage of distributing n assignees on a single review by a range of experienced R to the new one(or still pool trustable) on the peer network. This range is defined by the R reputation (defined in section Reputation). To control and maintain the trustful of the network the votes will be weight by the assignee's reputation, giving the system control and better results in the reviews. Doing that, aiming it’s to avoid misleading engagement or vicious behavior from more experienced peer users, avoid power centralization among the reputation peers, and give a more honest result of the review. The weight of the votes it’s referred to in the Vote System Weight section.

1.3 Bounty

Bounty it’s an additional fee inserted on the settlement dispute, created to enable the possibility of an Issuer to require a faster result on a dispute is generated. A dispute with an added bounty gains priority on top of any other dispute on the network.

1.4 Reputation

A Range of reputation(rp) it’s given to the R, these are “Trustful”, “MidLevel”, “Non-Trustful” and “Undesirable”. When a new R is created, a “Non-Trustful” level is assigned to its status. The more engaged

1.5 Waiting time

While in the pool, the R will record its waiting time, which means the time it connected to the network and hasn’t been granted an assignment. The waiting time is a metric used when an Issuer receives the request of assignment of the peer R

1.6 Vote System && Weight

The reviewer will receive the settlement and the I rules and define if the settlement it’s in favor or against the Reporter. After the reviewer gives its vote, then I will require the next assignee reviewers on the P, having this reviewer a different level of Reputation(as seen on Assignment Ordination). After the minimum of 7 votes, the algorithm checks if the settlement has a result, if not it will assign another reviewer until the next odd n of votes and check for the result, having this behavior until n of votes it’s 25.

This P it’s responsible to queue the assignees to be assigned to the next settlement. The quantity of R to be assigned(A) will be a minimum of 7, to a maximum of 25.

A A must-have assignees distributed on the following reputation : R[‘Trustfull’] = 25% , R[‘MidLevel’] = 30%, R[‘Non-Trustfull’] = 45%. The reputation defines the power of the vote of each assignee. The “Non-Trustful”(ntt) it’s the benchmark voter, where “MidLevel” has 1.5*ntt vote power, and the “Trustful” R has 2.5*ntt vote power.

1.7 Result

The result of a dispute will generate a Smart Contract to be recorded.

1.8 Pool of Results

All the results will be in a queue on a pool to be consumed.

1.9 Reputation gratifications/punishment

After the result it’s defined, the Reputation algorithm it’s fired, analyzing the voters and the outcomes of the result. When analyzed, the algorithm grants the gratification, which is given by taking the total fee and spreading the value to the winner voters and the amount divided by the peer's Reputation.

1.10 Benefit of the doubt

A settlement dispute must have a trustful result, and for that, a settlement has to be reviewed by an odd n of Reviewers(R). To ensure a result it’s trustful, the algorithm allows the benefit of the doubt of any settlement result, and this doubt it’s granted to the 3 p2p actors. They are the 2 parts of the dispute, the Reporter and the Appealer, and the law-abiding Issuer, who defines the rules where a settlement dispute is going on. The amount of benefit of the doubt it’s determined by its cryptocurrency blockchain network, it can avoid fraud and it’s recommended to follow the instructions on this paperwork.

2. Rules of the settlement

The Rules of the settlement it’s defined by the Issuer, so the PoA defines this actor as the single source of truth when a Benefit of doubt it’s on.

3. Actors

3.1 Issuer

It’s the peer who has access to the PoA network to send the Settlement dispute over the pool of assignments and accept the Reviewers’ requests to it. The Issuer can be either the Reporter, Appealer, or a network access holder, such as companies who wish to create their private PoA network.

3.2 Reporter

Who’s generated the dispute to be distributed by the Issuer.

3.3 Reviewer

The first n users connected to the platform who self-assign the review lock the analysis of that content and give their result, the distribution of the review it’s held by the Witness, who assigns the review on the pool and check the Reviewer poor-of-integrity, based on the issuer internal policies. The users can’t know each other so the system works with non-trustful nodes.

3.4 Witness

The Witness it’s the algorithm(miner) that will hold the distribution of the Issuer content for review through the Reviewers, defined by location, reputation, proof-of-stake. Once the Reviews are issued, Witness algorithms take the reviewer's result, and record the content result on the Chain, working as a notary book for consultation by the Issuer. Therefore the prize value is divided between the Reviewers and credit on their account, which will be paid monthly/weekly. A Witness node who inserts the Review first it’s granted the fee charged from the Issuer. The Issuer can be a Witness for the chain.

3.5 Appealer

Users/reporters who have a settlement result against their will can appeal the result of the review and a new request is issued. n appeals can be granted by settlement, defined by default by the Issuer. It’s from the discreet of the I to notify the Appealer of the settlement dispute in the course, but the Appealer must be notified after the result. And then I must inform the network if the Appealer was notified when the settlement dispute was posted in the course

4. Security measurement

How to secure the block

5. Pros

The company can use the platform where the pool of nodes to be reviewed can give more returns for the content Reviewers Platform can be onPrem or on a cloud. Reviews can be more reliable.

6. Cons

Who reviews the Reviewer

Develop how the platform will receive the content from the Issuer and deliver it to the Reviewer

Define how an appeal must be accepted by a Reviewer. A punitive proof-of-adequacy must be implemented in full to enforce the need of the reviewer to be trustful in his/her review(also can work for managing the user behavior)




Software Engineer - Open Source — Freedom Activist

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

XT Will List CIND

Cybersecurity & Risk Management

A Metaverse built on privacy and trust — with Nuggets

Best Kaspersky Password Manager alternative

Cyber Piracy on The High Seas

When Shakespeare ponders the PCI DSS requirement to be onsite

Bug Hunting: SSRF attack

Hacking Wi-Fi with Kali Linux

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Lucas Oliveira

Lucas Oliveira

Software Engineer - Open Source — Freedom Activist

More from Medium

MatrixETF : A pioneer in Decentralized ETF platform.

Defilancer Now Integrates With Defilancer token using bsc chain to accelerate web3 movement


Review Of Marketing in Hawksight And Interview With Buidlers Team.