It has been two months since the last update to the Kleros Court user interface. This release brings with it some exciting improvements that lay the groundwork for expanding the uses of Kleros. The major features include: derived accounts, justifications, commit/reveal courts and supporting new ruling types.
The Kleros team has been working around the clock to further bolster our platform and improve user experience. In our latest batch of updates, we bring you four significant moves forward - from security to record-keeping.
DApps require special security considerations. As there is no traditional login, signatures are the primary way to prove identity. Unfortunately, signatures are cumbersome and most seasoned crypto users are wary of signing messages with keys that they use to store cryptocurrency.
To solve this user experience bottleneck, we have implemented derived accounts. With a derived account, you only need to sign a message once, which then creates a private key stored locally in your browser (similar to how MetaMask works). The public key is stored and whenever a signature is required, the browser is asked to sign it with this newly created private key to circumvent having the user take action.
This allows for signatures to be processed behind the scenes, securing your data without having to ask permission every time there is an interaction with the Court.
This method comes with many benefits. The new private key is derived from your signature, which means that it cannot be reproduced by anyone who does not have the private key you are using to transact. As it is derived, it also has no power to send transactions or move funds from the original account.
It is a siloed account that is stored in your browser to guarantee security when interacting with Kleros Court. It is stored locally which means you don’t have to trust Kleros with your key, and you know that information, such as your email address and justifications are being secured cryptographically so that only you can access and/or change them.
Next time you visit Kleros Court and vote or update your notification settings, you will be asked to sign two messages.
The first messages creates this private key.
The second message stores the public key from your newly created derived account, so that the Kleros Court can verify your signatures.
After this you will be able to update your settings and vote seamlessly without any additional signatures while knowing that you are secure on the back end!
If you have participated as a Kleros juror before, you have probably seen the justification box when you vote.
You have also probably wondered what happens to these messages. Sadly, prior to this update, these justifications were being scattered to the winds because we didn't have a good way to safely store and retrieve them without asking for additional signatures.
Now that we have derived accounts, we can safely and seamlessly submit and fetch justifications for cases. When a case is appealed or finalized, you will be able to go back to the case page and see the justification history.
This is important for the appeal process, so that future jurors can see what previous jurors rationale was in voting. It is also useful for the parties involved in the dispute to see the reasons why a decision was made.
*Note: Since we weren't saving justifications before the update, there will be no history for pre-existing cases.
Currently, all of Kleros Courts have public voting. Once a juror has voted, anybody can look at the smart contract to see how they ruled. This is undesirable for many use cases. In the case of public voting, jurors could, in more complex cases, look at how other jurors vote and "hack" the system by breaking the naturally forming Schelling Point.
Often, you want to wait until after all jurors have voted before the vote is revealed. This way jurors won’t be influenced as heavily by their peers.
The major difference in Commit/Reveal courts is that they will need to take two actions. After a vote is cast, the juror will have to go back after voting has ended and reveal their vote. If a juror doesn't reveal their vote it will not be counted and they will be penalized as if they didn't vote.
No courts are currently set up to use Commit/Reveal but keep an eye out for these courts rolling out in the coming months!
New Ruling Types
The basic Kleros use cases involve "Yes" or "No" questions such as “Does this token follow the guidelines?”. However, Kleros can do more. In this update we have added support for three other types of rulings. Jurors can now be asked to input a number, a date, or multiple answers from given options. This expands the possible uses of the platform.
In short, this update comes with big news: improvements in our security framework, a way to keep track of more information going through Kleros Court, as well as paving the way for new courts and ruling types.
This represents a significant move forward with regards to laying the groundwork for the future Kleros Courts and more complex use cases.
Stay tuned, as there will be even more interesting information coming out in the following weeks and - see you in court!
Since you're here, why not become a Kleros Juror? It's just a click away!
Join the community chat on Telegram.
Visit our website.
Follow us on Twitter.
Join our Slack for developer conversations.
Contribute on Github.