Bleutrade apical
47 commentsDoda pto liquid manure pumping
Users download the OpenBazaar application to access the network and execute the trade protocol with other users on the network. The OpenBazaar network is the backbone of the project. It is designed to be scalable, supporting millions of people finding goods and services offered by fellow peers, who could be located anywhere in the world.
The Kademlia-style architecture theoretically supports this vision, and has a track-record of connecting millions of peers as demonstrated by BitTorrent. The chief engineering difficulty of building OpenBazaar historically has been implementing this component.
The Kademlia-style P2P network is older and distinct from the Bitcoin blockchain. To create a node, a network identity or global unique identifier GUID needs to be created. Firstly, random number is generated between a range of 1 to 2 to obtain a private key. From this key, a public key is derived. The public key is then digitally signed with the the private key self-signature and sha hashed.
This GUID is impossible to forge or spoof without compromising the private key, and is the basis of a node's pseudonymous identity on the network. Each peer's DHT allows anyone on the network to find the location of a specific peer in only a few hops i. On this basis, peers can connect to each other to exchange data. The network allows for a GUID to be associated with more than just an IP address, but other attribute-value pairs that can be searched i.
The user can then select the peer and directly access their store to commence trade. This design does have some drawbacks, which third party services or future technological innovation can address:.
The rUDP-based connections tend to overcome NATs network address translation and other obstacles preventing peers from accessing the network, and thus avoiding complicated port forwarding requirements beyond the skills of most users. This also means that these connections cannot be easily used through TOR to obfuscate the true IP address of a node. The trade protocol describes a set of fundamental rules that govern decentralised trade on OpenBazaar between two or more trading partners.
All trade over OpenBazaar exclusively uses Bitcoin. OpenBazaar will support four payment options with Bitcoin:. Irrespective of the payment option selected, individual bitcoin pubkeys are derived from a hierarchical deterministic HD seed to avoid address reuse and efficiently manage the signing keys.
All signing keys can be recovered from the seed if the node is inadvertently destroyed or lost. Of the three payments options, direct payment and MAD escrow have no enforceable dispute resolution mechanism and zero redundancy if keys are lost. However, their use in OpenBazaar is appropriate in following scenarios:. Multisignature transactions used are for notary escrow payments, which enable an innovative form of multiparty escrow.
Rather than funds being send into the exclusive custody of a trusted third party, funds are sent to an address that are not in the exclusive custody of any individual. The multisignature address is generated by comining the unique bitcoin pubkeys from the merchant, buyer, and notary.
To release funds, cooperation in the form of digital signatures between two of the three participants is required. A higher level description of multisignature transactions can be found in the Bitcoin documentation. The overall effect of this system avoids a situation where one party in the trade can run away with the funds.
The third party keyholder in these payments is called a notary. The role of a notary is further described below.
While theoretically other crypto-currencies can be supported in the core code, provided they follow a similar specification to Bitcoin multisignature transactions, altcoin implementations will not be pursed. Third party services e. Similar to altcoins, fiat payments may be supported using third party services to convert fiat currencies into Bitcoin to fund multisignature escrow addresses, or automatically convert bitcoin payout funds to fiat currency of the merchant's choice.
A Ricardian Contract can be defined as a single document that is a a contract offered by an issuer to holders, b for a valuable right held by holders, and managed by the issuer, c easily readable by people like a contract on paper , d readable by programs parsable like a database , e digitally signed, f carries the keys and server information, and g allied with a unique and secure identifier.
Ricardian contracts RC are digital documents that record an agreement between multiple parties, which are signed and cryptographically verified, and formatted to be human and machine-readable. The one-way hash of RC establish a tamper-proof receipt of the terms and conditions of a trade, which eliminates potential disputes that may arise from hearsay claims between counterparties.
To be 'machine readable', the terms and conditions are formatted in JSON with a hierarchy of attribute-value pairs: As there are multiple types of trade that OpenBazaar aims to support, each will have its own contract schema. Common to all schemas are four modules:. Ricardian contracts in OpenBazaar will typically have one metadata, trade and ledger module.
Multiple ID modules are required to represent each party in the trade at least 1 merchant, buyer, and notary. The metadata module is the header of the RC and informs users and the app what type of trade will take place and the period of time the contract is valid.
The ID module contains the necessary identifying data for a peer on the network. It will contain the following types of ID:. For the purposes a basic trade, only the pseudonymous identity is required.
Unlike traditional e-commerce platforms, neither the meatspace or legally accessible identities are required for trade. This point is as much about maintaining privacy as it is about supporting trade for jurisdictions that lack infrastructure to support ID verification. The trade module contains the necessary semantic data to define the good or service to be traded for bitcoin.
The structure of this module will vary depending on the type of good or service to be traded. As a result, we will pursue community engagement to evolve categories, standards and templates. The ledger module of the Ricardian contract traces the various stages of the trade between the parties involved. The structure of the ledger will dictate the signing order. The final product is a contract that has a completed signing order and transaction history to act as a tamper-proof trade receipt.
The structure of the ledger module will also vary according to the type of good and service to be traded for bitcoin. The ledger is formatted according to the step-by-step stages where data and signatures are required from each participating party. As a platform, users will be able to design custom Ricardian contracts with unique signing orders to support new types of markets. Within the ledger section of the contract, the signing order is divided into several stages.
Each stage immediately identifies the party responsible for filling the empty data fields. The user signs the contract and forwards it to the next user in the ledger. The user won't be required to manually send it to the user in the ledger. Rather, the client will verify the signatures first before sending the signed contract to the next party. In a loose sense, this enables OpenBazaar Ricardian contracts to adopt some 'smart' characteristics. Consider a typical exchange between two parties with an arbiter mediating the transaction, where a 2-of-3 multisignature address is generated.
The buyer in this exchange sends bitcoins to the multisignature address, to be released upon the pre-agreed conditions with the seller. While seller or arbiter alone cannot steal these funds, there remains a non-zero risk of collusion between them to defraud the buyer.
Unfortunately, soley relying upon reputation systems is not an adequate solution this problem, no matter how well designed. An effective strategy is to minimise the risk of collusion by adding more arbiters to the mix, a voting pool.
A majority vote by the pool of arbiters makes it more difficult for a corrupted arbiter to defraud the transaction, and is thus a favorable means of managing risk for high value exchanges in OpenBazaar. Voting pools in OpenBazaar would be created from the list of preferred arbiters from the buyer and seller's profile.
In the case of an uneven number of arbiters within the pool, the benefit of the doubt goes to chance with the client randomly selecting a well-ranked arbiter. The total size of voting pool is limited to the maximum number of parties in a multisignature transaction on the Bitcoin network.
An important element in forming a voting pool is to prevent the risk of a 'sore loser attack', where the multisignature transaction is constructed without the possiblity of the seller and the arbiters recovering the funds if the buyer fails to initiate the transaction, after receiving a good or losing a bet for example. Notary pools decrease the overall risk of collusion and increase the redunancy of transactions, a multisignature escrow address is made up of several additional parties on top of the merchant and buyer.
For example, an 8-of multisignature escrow address can be created made up of:. Signatures from 8 keys are required to release funds from the multisignature escrow address. If the merchant and buyer have any reason to doubt the pool, they can move the keys to a different multisignature address.
If there is a dispute, a majority of signatures is required in combination with one of the parties to release funds from the address. No single party can steal the funds, and the likelihood of collusion is reduced with more parties involved. Two traders, Alice and Bob, require equal number "n" of keys, as you do not know a priori who will win the trade or bet.
In general, Alice needs "n" keys, Bob needs "n" keys, and the jury needs "2n - 1" keys. The majority of 2n - 1 is always n. In the simplest case, Alice has one key, Bob has one key, and the jury size 2x1 - 1 is one i. Interaction of the notary pool with the arbiter is managed over the OpenBazaar application:. The notary pool will received a digitally signed ruling from the arbiter.
The ruling can be blinded from the notaries i. Aside from the arbitration notes, the ruling will also contain an unsigned bitcoin transaction with:. In more complex settlements, where both parties receive a portion of the funds, additional outputs are added to the transaction. The bitcoin transaction is digitally signed by either both parties, or the winning party with the notary pool and broadcast to the Bitcoin network.
Even with a notary pool, the question remains how users will choose notaries within OpenBazaar? The most direct way is for users to access the storefront of other nodes in the network, select the 'services' tab and manually add them to their list of preferred notaries.
Users can also search for nodes on the network that they wish to add on their list. These approach however, assume that the user already knowns what node to trust as a notary. One approach is for notaries to be accredited by a voluntary private orgaisation, which creates some open standards for notaries to voluntarily subject themselves to in order to earn an 'endorsement badge'.
These open standards may include:. This approach is a form of self-regulation, whereby accreditation is earned after demonstrating compliance. The accrediting organisation can also hold the surety bond in the event that an accredited notary defrauds a client.