⚠️ 该 EIP 不建议普遍使用或实施,因为它可能会发生变化。

EIP-5485: Legitimacy, Jurisdiction and Sovereignty Source

An interface for identifying the legitimacy, jurisdiction and sovereignty.

作者 Zainan Victor Zhou
讨论-To https://ethereum-magicians.org/t/erc-5485-interface-for-legitimacy-jurisdiction-and-sovereignty/10425
状态 Draft
类型 Standards Track
分类 ERC
创建日期 2022-08-17
依赖 165, 5247
英文版 https://eips.ethereum.org/EIPS/eip-5485

摘要

Provide a way for compliant smart contracts to declare their legitimacy lineage, jurisdiction they observe, and sovereignty if they choose to not fall onto any jurisdiction.

动机

Today, smart contracts have no standard way to specify their legitimacy lineage, jurisdiction, or sovereignty relationship. The introduction of such a standard, supports better integration with today’s legal and regulative scenarios:

  1. it supports a regulative body to allow or deny interoperability with smart contracts.
  2. it also allows DAOs to clearly declare “self-sovereignty” by announcing via this interface by saying they do not assert legitimacy from any source other than themselves.

A real-world example is that ContractA represents an A company registered in a country, ContractB represents a The Secretary of State of the country, and ContractC represents the Supreme Court of the Country.

Another real example is a contract that declares “self-sovereignty” that doesn’t follow any jurisdiction.

This interface supports both cases, providing a way to allow smart contracts to determine if they want to allow/prohibit interaction based on sovereignty.

For example, a country might want to require any digital money service’s all smart contracts to observe their EIP-5485 jurisdiction before they are allowed to operate money in their (real world) legal jurisdiction.

Another real world use-case is that in some jurisdiction e.g. in United States, if an token issuer choose to issue a token, they can try to petition SEC to recognize their token as registered security, if approved, will gain legitimacy from SEC. Should they choose to petition Commodity Futures Trading Commission (CFTC) to recognize them as a commodity, if approved, will gain legitimacy from CFTC.

On the other hand, a DAO with a strong decentralized ideology might choose to only inter-operate with EOA or “self-sovereign” smart contracts to avoid being affected by any country.

规范

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119.

  1. Compliant contract MUSTS implement the following interface.
interface IERC5485 {
    /// A function that returns the source of legitimacy in an address
    ///
    /// @returns address of EOA or contract that grants legitimacy status to this contract.
    /// See Specification #2 and #3 for more details.
    function sourceOfLegitimacy() public view returns (address);

    /// A function that returns the sovereign jurisdiction in an address
    ///
    /// @returns address of EOA or contract that *ultimately* grants legitimacy status (root of legitimacy lineage).
    /// See Specification #4 and #4 for more details.
    function jurisdiction() public view returns (address);
}
  1. Suppose a compliant ContractA is deployed at address 0x<Contract_Address_A> and gains its legitimacy from another contract or External Owned Account (EOA) at 0x<ADDRESS_B>. In this case, it MUST return the 0x<ADDRESS_B> when being queried for sourceOfLegitimacy(). For example. If ContractA gains legitimacy from ContractB, ContractB gains legitimacy from ContractC but ContractC doesn’t gain legitimacy from anyone, ContractC is considered the “jurisdiction” that both ContractB and ContractA observe. Both ContractA and ContractB MUST return the address of ContractC as the result of jurisdiction.

  2. A contract that matches ANY of the following cases is considered a “sovereign contract”:

  • Case 1: it does not implement this EIP
  • Case 2: it implements this EIP but return its own address.
  • Case 3: it implements this EIP but return a ZERO address.
  1. Any compliant contract MUST return its legitimacy sources chain up to the sovereign contract when queried by jurisdiction().

  2. If ContractA gains legitimacy from ContractB, ContractA MUST observe the ContractB’s order to ANY of the following
    • Order Type 1: execute a selfdestruct of ContractA
  3. If ContractA observes jurisdiction of ContractC (a sovereignty), ContractA MUST observe ContractC’s order to ANY the following
    • Order Type 1: execute a selfdestruct of ContractA
    • Order Type 2: execute ANY smart contract executable proposals as specified in EIP-5247

TODO determine whether to address “add/remove legitimacy” in this EIP or leave it as a future EIP

基本原理

Needs discussion.

向后兼容性

Needs discussion.

Security Considerations

Needs discussion.

版权声明

Copyright and related rights waived via CC0.

参考文献

Please cite this document as:

Zainan Victor Zhou, "EIP-5485: Legitimacy, Jurisdiction and Sovereignty [DRAFT]," Ethereum Improvement Proposals, no. 5485, August 2022. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-5485.