Jurisdictional Agility in BEOS

in #beos5 years ago (edited)

As some of our readers may remember, BlockTrades was contracted by Terradacs to develop the BitShares EOS (BEOS) blockchain. BEOS is a fork of EOS that is focused on business applications and is closely aligned with the BitShares distributed trading blockchain (for those not familiar with BitShares, it could be called the parent of both Steem and EOS, since they both evolved from the BitShares code base). Today I wanted to share some info about one of the upcoming features we’re adding to BEOS that is near to completion: jurisdictional agility.

What is jurisdictional agility?

Jurisdictional agility is the ability to specify “where” you want your blockchain transactions to take place. In existing blockchains, your transaction is usually processed by a random block producer with a server in an unknown location. This adds uncertainty to the basic questions of “where did my transaction take place?” and more importantly, “what legal code applies to my transaction?”.

How is jurisdictional agility being implemented in BEOS?

In BEOS, block producers can publish the regions in which they are located, and users can specify one or more optional jurisdictional regions in which their transaction is to be processed. When a user specifies a jurisdiction for a transaction, that transaction will be delayed until it can be processed by a block producer in one of the regions specified.

To account for the increased potential delay this causes, the expiration time for a transaction with a jurisdiction requirement is automatically increased from the standard 30s expiration time to 200s. If there is currently no block producer producing in one of the requested regions, the transaction will expire and fail after 200s.

How does jurisdictional agility benefit business transactions?

By allowing users to specify where their transactions are processed, BEOS users can gain more legal certainty as to the laws that govern their transactions. This is very similar to the way businesses specify the governing legal jurisdiction in a typical written contract. This can be very important when disputes arise over a payment, for example. Arguments about what region has jurisdiction over a transaction can also be expensive, so the additional clarity provided by a jurisdictionally-aware blockchain can benefit all parties concerned, as it avoids wasteful legal wrangling.

Example using the Greymass wallet to pick a jurisdiction for a transaction

We contributed several changes to the open source Greymass wallet to support selecting jurisdictions for BEOS transactions. Below are screenshots of these changes.

Block producer view showing Block Producer in Portugal

Buy RAM dialog with option to specify jurisdiction where purchase takes place

Clipboard - 13 sierpnia 2019 16_40.png

Dialog for selecting allowable jurisdictions for a transaction

Transaction history showing where transaction was processed (Denmark in this case)

Clipboard - 13 sierpnia 2019 16_38.png
Note that in this case, the UI displays both the requested jurisdictions and the actual jurisdiction where the transaction occurs. This can be important in the case where a user has specified multiple allowable jurisdictions and it later becomes a question of which jurisdiction was ultimately selected.

When Jurisdictional Agility?

We plan to rollout jurisdictional agility for BEOS in the next week or two. The blockchain updates and the associated UI changes are currently undergoing final testing. I'll make another post for those interested in the technical details (i.e. blockchain API calls) at that time.

Sort:  

Just wondering: is it possible to choose between Hong Kong and mainland China? That could make a difference for some users, I think.

Yes, the system allows for users to define any jurisdiction desired. For example, a user could add a jurisdiction for a particular state in a country, as well as the country itself.

Does anything guarantee that the block producer is within (or otherwise subject to) that jurisdiction―or is it merely a declaration? If the latter, can the declaration change at any time?

There's no guarantee, a block producer could publish a false declaration, but this is the kind of behavior that will likely get them voted out as a block producer.

They can also optionally publish GPS coordinates, which is particularly useful for block producers on mobile platforms that are moving between multiple jurisdictions.

This looks like a potentially major design flaw.

Not really, it's no different from any similar situation in the real world. When you lease a server in the cloud, you "trust" that the server company is telling you the truth about where the server is located. And if they lie about it and you suffer harm as a result, there are legal remedies available.

It's unfortunate that this is even needed. Such is the world we live in though I guess. With your guy's coding abilities and general stake in Steem, do you have any plans to build some cool stuff on/for steem? Without being contracted I mean?

We've been developing code for Steem off-and-on for years now, and I'm sure we'll do more in the future.

Wonder if can be used for tax implications?

It impacts commercial law and a lot of commercial law impacts tax law, so I think that it's very likely that there could be differing tax implications under some conditions, but tax laws vary so widely across the world it's hard to make too many generalizable conclusions.

wow thats huge news and updates

You guys did that? Man, even more respect. You guys have been amazing in the crypto world that I hover around(mainly the Dan Larimer stuff).

Will be interested to read the impact this has on a future transaction that may find its way into a US courtroom. I would guess the protection will stop many transactions from ever going to trial. Well Done

Great work @blocktrades for developing jurisdictional agility for EOSIO ecosystem and in particular BEOS. Question: Since Greymass lastly announce they are rebranding their product as "Anchor Wallet" with new features, Do you think BEOS wallet will be a stand alone product or can it be integrated into Anchor or other EOSIO Wallet? Thks

AFAIK, the plan is to continue working with greymass guys and I don't think the rebranding will have any impact on our working relationship.

I don't anticipate it impacting anything either, we'll happy try to merge this stuff upstream into the rebrand as we keep getting closer and closer to release :)

Great development @blocktrades. I really appreciate this.

Are there block producers in the West African region?😟

This technology isn't yet released, this is a preview. After it's released in a week or so, I expect there will be people campaigning in various regions to be elected as block producers (a lot of people have expressed interest).

It’s absolutely grateful to read an update about BEOS, great job.

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.033
BTC 71192.75
ETH 3667.67
USDT 1.00
SBD 3.75