Bit-Nation / nations-framwork-poc

This is a Decentralized Borderless Voluntary Nation (DBVN) framework
MIT License
1 stars 2 forks source link

Nation.sol - enforcement #1

Open kentdahlgren opened 6 years ago

kentdahlgren commented 6 years ago

Line 25: string lawEnforcementMechanism;, under "NationPolicy"

There are no law enforcement in our nations. Per the whitepaper (page 15)

<incentivization, deterrent and enforcement_ ● The token-driven reputation system provides incentives for contract compliance (rather than the threat of prison, for instance) and to ensure nomic evolution of smart contract rulesets (digital law);

xsttx commented 6 years ago

Let's not fall into the "code is law" illusion though, like the DAO did.

kentdahlgren commented 6 years ago

xsttx: does your comment mean that the variable should remain in the contract? My interpretation of the whitepaper was that we would not feature any "enforcement" other than the non-aggression principle, which within Bitnation is interpreted as "there's no enforcement other than the fitness of each citizen and/or entity." I just want to be clear, but it's possible I'm misunderstanding the use of the variable within the contract. I just want to be careful.

xsttx commented 6 years ago

@kentdahlgren the main contract enforcement is the rep system (lucy!). Beyond that, things like multisig escrows can also work as enforcement, or referring your contracts to a nation state enforcement, if you want to.

xsttx commented 6 years ago

@kentdahlgren the non-agression principle is a bare bone code of law (similar to the ten commandments or pashtunwali), not a method of enforcement. the reputation system is a method of contract enforcement.

kentdahlgren commented 6 years ago

Ok. Thanks. I just want to be explicit because we are talking about values that are being defined in a smart contract. I would assume this means that the default value for enforcement is "lucy," and they can define other enforcement mechanisms including but not limited to multi-sig escrows.

xsttx commented 6 years ago

What do you mean?

xsttx commented 6 years ago

It's a "positive enforcement system" meaning we reward people for honouring contracts they have voluntarily entered into. There's no such thing as punishment, unless people choose to add that as an addition to their contract.

kentdahlgren commented 6 years ago

I think we're in agreement

These comments pertain to the smart contract written for nations. There are two values being set I am concerned may leave an opening for someone to execute counter to the vision as articulated in the whitepaper.

In this issue, I talk about "law enforcement mechanism." In the whitepaper we talk about how "enforcement" is through positive reinforcement, but the smart contract is not explicit in this regard. It merely asks the user to define a law enforcement mechanism.

On the second issue I am concerned there's a boolean value for "bool multiCitizenship," which implies that a nation could be created that would not allow citizens to join multiple nations - also counter to the white paper.

kentdahlgren commented 6 years ago

My concern is that unless we are explicit, someone could exploit this and deliver a nation that delivers some punitive measures, which is counter to the vision.

xsttx commented 6 years ago

Nations should be free to deliver whatever vision they choose to deliver. That's not our problem. Our problem is how to make the basics works, meaning the jurisdictional foundation. And that means deliver PAT by Lucy upon successful contract completion. That is the enforcement mechanism for decent behaviour.

kentdahlgren commented 6 years ago

Okay so if the nation itself elects to define and execute upon a punitive form of law enforcement, we don't actually care. We've provided the basics, and recommend using a positive reinforcement loop.