CIP-Corporate Smart Contract around Terms of Use

Placeholder for Corporate Smart Contract around Terms of Use

(Work in progress)

CIP: ?
Title: Corporate Smart Contract around Terms of Use
Authors: Roar Holte roar.holte@youblob.com
Comments-URI: CIP-Corporate Smart Contract around Terms of Use
Discord: Youblob
Ideascale proposal: Online Makerspace
Status: Draft
Type: Standards
Created: 2023-08-30
License: CC-BY-4.0
Requires: System running Cardano node
Relation: This effort will be presented for the Cardano Summit Hackathon 2023

Material

Whitepaper: Whitepaper
Videos: https://www.youtube.com/@youblobdotcom
Beta release: https://www.youblob.com [can test blueprint functionality]
Mock-ups: https://www.figma.com/file/AnrAqPskGEO8CtpVio1R6Z/Youblob
Dora BUIDL: Youblob | Buidls | DoraHacks
Youblob-Cardano Source code: Bitbucket

Abstract

This is still on idea stage, but what we are trying to achieve here is a smart contract between the End-users of a system and the corporate running the system, locking in on terms that are agreed upon from both parties, and changes to Terms of Use can only be unlocked/edited through a public voting effort.

The reason behind this, is that we very so often see corporations being bought up by investors only to change the whole business model with its Terms of Use and present new payment/subscription models and taking ownership of the end-users existing and future publications, through a system that already have aligned to open collaboration and its users. Where corporate is more or less forcing ownership over the effort published by its users.

Creating a corporate smart contract that can only be changed by the mutual voting power of its Users, not defined by money, but the amount of effort put in to the system. (f.ex. Amount of Blueprint Publications)

Through predefined Corporate Smart Contracts it will help with adoption and understanding from the end-users perspective of what Terms are included when signing up on a system, and also an acknowledgment that the system stays true to its goals.

User Journey Pre-requisites

System is running Cardano node

User Journey

  • Registering an account on system, the User agrees to current ToS
  • Cardano is able to present pre-defined contracts that aligns with different use-cases making it simple to align corporate intentions, and the end-users understands what they are signing up for without the need to read the whole ToS page.
  • Changes to ToS, is done through a public voting from all users within the system, and voting power is defined through effort put in to the system, or per User having 1 voting power each. (defined in the ToS)
  • Key takeaway from this is the inclusion of bad corporate actors and how these are handled;
    • Changes to ToS without voting is not possible.
    • Changes to a pre-defined ToS will remove its status as aligned, and publish the changes clearly to the end-users during registration process without the need to read the whole ToS sheet.
    • A list of true corporate actors that does not change their ToS are promoted.
    • Trying to invalidate existing ToS after a corporate buy-out and removing the smart contract as a whole shall present severe actions to the system, as all existing publications will become invalidated as they are based on a smart contract key/token.

Terminology

  • ToS = Terms of Service

Motivation

Specification

Metadata

Metadata JSON schema

Metadata example including the transaction metadata label

Rationale

The format of the content field is required to be an array of 64 bytes chunks, as this is the maximum size of a JSON field in the Cardano ledger.
Tools, such as wallets, are required to recompose the content of the message.

The current Cardano protocol parameter for maximum transaction size, that will hold the metadata, is around 16KB.

Backwards compatibility

No backwards compatibility breaking changes are introduced.

Reference implementation

We leave the decisions, such as what and how to display communication messages, up to downstream tools and wallets.

Copyright

This CIP is licensed under CC-BY-4.0

At first glance the draft seems too application-specific for a CIP — by nature intended for different implementations by unrelated parties — but I’ll happily keep an eye on this thread to see how a generalised method might emerge from it. :sunglasses: