paint-brush
How to Use Contracts in Obyte: Smart, Prosaic, and With Arbitrationby@obyte

How to Use Contracts in Obyte: Smart, Prosaic, and With Arbitration

by ObyteSeptember 19th, 2023
Read on Terminal Reader
Read this story w/o Javascript

Too Long; Didn't Read

By using smart contracts and contracts with arbitration, it’s possible to even build any kind of marketplace (exchanges, jobs, used stuff, NFTs, etc.) that automatically protects both parties by locking the funds involved.
featured image - How to Use Contracts in Obyte: Smart, Prosaic, and With Arbitration
Obyte HackerNoon profile picture

A contract, in general, is the representation of an agreement between parties. It could be spoken, but it’s usually a physical and/or digital document specifying the nature and terms of said agreement, as well as the rights and obligations of each party.


If some of the involved actors misbehave, then the dispute could be solved in a court of law. We don’t have courts in Obyte, but we do have safe digital contracts.


Contracts are mostly tied to local laws and authorities, but they can also be automatic and self-enforced. Indeed, smart contracts on distributed ledgers like Bitcoin or Obyte are digital agreements whose conditions are enforced by code, rather than law.


In other words, they’re computer programs designed to carry on some pre-set conditions automatically once an event (physical or digital) happens.


The best part is that you don’t need to know how to code to use smart contracts. Similarly, you don’t need to code to find some other useful and user-friendly types of digital contracts in Obyte. You’ll just need your wallet and a partner to make the contract with. Let’s learn more about this.

Smart Contracts & Autonomous Agents

We’ve defined a smart contract as a type of automatic and digital agreement, but we do have two kinds of tools that make money programmable in Obyte: smart contracts and autonomous agents (AA).


Both of them are computer programs designed to make a specific (and digital) task, but just one of them involves two or more “real” parties.


Autonomous Agents aren’t contracts, so, there’s close to nothing to negotiate with them. They’re like vending machines, offering a task (exchanges, attestations, donations, etc.) as a service for real people.


On the other hand, a contract (smart or not) always involves at least two parties. And that’s what a contract is for, after all: it mediates between real parties.
In Obyte, anyone can create their own smart contracts easily through the wallet —without any code. The feature is there to help all types of users avoid additional intermediaries in any kind of negotiation or transaction.


When starting a smart contract with someone else, you agree to lock your funds inside this app until the agreed terms are met by the other party. It could work for any kind of conditional payment or shared wallets.

Offering a Smart Contract

The first step to offer a smart contract to another party in Obyte is that both of you have previously downloaded the wallet. Then, if you can take some security measures and back up your seed, the better. Most contracts in Obyte can be done through the “Chat” section of the wallet.


The parties must be in the “Contacts” list of the other for it, so, the next step is to “Add a new device”, and send or accept an invitation to connect.



Once done, you can start a chat to discuss the contract conditions and exchange your Obyte addresses. By clicking on the other’s address (Alice’s, for example), you’ll have the option to offer a smart contract.


If the result of some real-world event (like a soccer match) is needed to complete the agreement, then you should type a selected oracle address (a data feed) from the list of oracles available on Obyte.


Another way to use smart contracts is by creating a multi-signature (shared) wallet. You can add several devices, either controlled by yourself or by several parties. This way, most of the involved parties or devices must authorize every transaction before spending funds.

Prosaic Contracts

As the name may suggest (prose = regular text), these are more traditional contracts but are registered forever on the DAG. Instead of a hand-written signature, both parties sign their agreement with their Obyte wallets.


And, the signatures created in the process are completely valid digital signatures.


They’re classified as advanced electronic signatures under the European electronic signature regulation and similar laws of some other countries. So, it’s a fully secure contract that could be enforced by law or by an external arbitrator.


A prosaic contract isn’t a smart contract, though. It’s legally binding, but it doesn’t lock any funds, hence, it can’t guarantee the contract’s performance. Courts would do so instead, like in traditional contracts.


That’s why it is highly recommended to use real-world identities when signing a prosaic contract in Obyte. To do this, both users can use the ID attestation features available in the same wallet, through the Real Name Attestation Bot in the Bot Store (Chat tab).


After both wallets are paired and attested, the path to offering a prosaic contract is the same as offering a smart contract: Chat – Contacts – [Device name] – [Address] – Offer a prosaic contract.


You need to write the contract with your own terms, set a duration time for the offer, and share it with the other party. If they accept, you’ll have legal proof of your agreement, but it’ll be available only in your wallets for privacy.


 


Contracts With Arbitration

Oracles are services that provide external (off-chain) information to the distributed ledger —but they can only do so much. The potential agreements between people aren’t always related to publicly available data, like who won a soccer match.


Instead, there’s a lot of private and/or very specific information that could only be shared by the parties.


A job contract, for example. If the employer or the employee misbehaves, a crypto oracle won’t help with it.


That’s the raison d'etre of the contracts with arbitration in Obyte. They’re a mix between prosaic contracts and smart contracts. You can write whatever terms you want and share them with the other party, just like in a prosaic contract.


However, contracts with arbitration can lock funds until the conditions are met.

Selecting an Arbiter

In this kind of contract, it’s assumed that one side is the payer (buyer), while the other is doing a job or offering a product (seller) in return for payment. The contract is only shared between paired wallets, as we’ve seen above, and the funds involved are locked.


After the seller completes their part of the deal (do the job or send the product), the buyer should release the funds if everything’s ok with the terms.


Likewise, if the seller considers that they won’t be able to meet the terms, they can refund the money with a single click. Now, if one of the parties misbehaves, they can open a dispute to solve it.


Long before this point, at the moment of writing the contract, the address of an arbiter had to be selected. In case of a dispute, the selected arbiter will be the one to decide who keeps the money.


An arbiter in such contracts is a trusted and identified (human) third party registered in the ArbStore —a marketplace of arbiters offering their dispute resolution services. You can find several arbiters there, and check their data before selecting one.


You can see their bio, number of contracts and resolved disputes, last activity, languages, and service fees.


The fees are payable only in case of a dispute. You don’t need to pay anything if the contract ends without a dispute.



Beyond them, if you find the arbiter decision unfair for any reason, you can report them to the ArbStore moderators.


They won’t be able to refund all your money, but if they find that the decision wasn’t right, the arbiter could be delisted and you could recover at least part of your funds.


By using smart contracts and contracts with arbitration, it’s possible to even build any kind of marketplace (exchanges, jobs, used stuff, NFTs, etc.) that automatically protects both parties by locking the funds involved.


Prosaic contracts, on the other hand, are traditional (but digital) legal contracts protected by the law alone.


Featured Vector Image by vectorpouch / Freepik