DAE
  • DAE
    • Getting started
    • DAE Mod
      • Stakeholders
      • Karma
      • Governance
      • Class scaffolding
      • Karmic remuneration
      • Treasury
      • DAE and Web3
      • School in science fiction
      • Publications
    • DAE Lab
      • Web3
        • Blockchain
        • Wallets
        • Tokens
        • Voting methods
        • DAOs
        • Insights
          • Bitcoin halving
          • Gas and fees in Ethereum
          • Smart contracts
          • Stablecoins
          • Cryptocurrency exchange
          • Staking
          • The Bitcoin Power Law Theory
          • Electricity consumption of blockchains
          • Crypto crime
          • The Gold/Bitcoin Standard
          • How to kill bitcoin
          • Zero-knowledge proofs
          • Scaling a blockchain
          • Fiscalità
        • Readings
          • Decentralized society
          • The dilemma of soulbound tokens
          • Curation staking
          • Social identity
          • Proof of Personhood
        • DApps
          • Snapshot
          • Polymarket
      • Generative Art
        • Cyrpto art and conceptual art
        • A complexity theory of generative art
        • Coding art
        • Early generative art
        • Modern forms of generative art
        • Generative art projects
        • Generative artists
        • Little Decalogue for Crypto Artists
        • 21gr
      • Intelligenza Artificiale
        • Che cos'è l'IA?
          • Intelligenza
          • Una definizione bidimensionale
          • Le fondamenta
          • La storia
          • Lo stato dell'arte
        • Limiti e rischi dell'IA
          • Limiti dell'IA
          • Rischi dell'IA
        • Approcci all'IA
          • IA simbolica: logica epistemica
          • IA subsimbolica: reti neurali
        • IA generativa
          • Chatbot e come usarli
          • Modelli linguistici di grandi dimensioni
          • Modelli per la generazione di immagini
          • Rischi dell'IA generativa
        • Approfondimenti
          • Antiqua et nova
      • Finanza personale
        • Principi
        • Strumenti
        • Metodi
        • Dove ascoltare
        • Hex Port
    • DAE App
    • Teaching
      • MuZero
        • Informazioni
        • Collegamenti
        • Form & Chaos
        • Seminari
      • Dear Data 23
        • General info
        • Pipeline
        • Karma and bounties
        • Karmic remuneration
        • Links
        • Log
        • Thesis proposal
      • Dear Data 24
        • General info
        • Links
        • AI prompts
        • Speakers
        • Form & Chaos
        • 100Q
      • Red Panda
        • Prerequisites
        • Scheduling
        • Syllabus
        • Pipeline
        • Karma and bounties
        • Rewards
        • Links
        • Log
        • Talks
      • Interventi
        • Digital Education Festival
        • Il problema didattico
    • Writing
      • Il problema didattico
    • G/L Space
      • Composability
      • Scalability
      • Identity
      • Transparency
      • Digital truth
      • Chain of blocks
      • Cypherpunk
    • Roadmap
  • Link tree
  • Credits
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. DAE

DAE App

Apply the DAE model

PreviousHex PortNextTeaching

Last updated 8 months ago

Was this helpful?

The DAE app is a decentralized application (dapp) that implements the DAE learning model. The application consists of three components:

  1. the user interface that allows users to create courses and manage them;

  2. the voting system, which allows stakeholders to create and vote on proposals;

  3. the contractural logic, defined in Solidity smart contracts deployed on the Ethereum blockchain.

The DAE app, developend by Andrea Antonutti and Luca Donno, is currently deployed on Sepolia, an Ethereum test network. Here are the relevant links:

  • : the GitHub code repository of the DAE app (including both official and developer versions)

  • : a pre-print of an academic paper about DAE

User interface

As a first step to use the app, a user needs to connect their cryptographic wallet and sign a message to confirm they own the private key of the wallet.

Next, the user can create a course and manage course teachers, students, credentials, karma, proposals, and voting spaces, as well as a dashboard with basic karma statistics.

In the following, we briefly describe these possibilities.

Courses

To create a course, the user needs to add some relevant metadata:

  • name, description, image, and website of the course;

  • media channel: an optional virtual class, such as a Discord channel, open 24/7, where students and teachers can join to further discuss the class topics;

  • Magister base karma: the initial karma of teachers. It is a constant non-negative integer;

  • Discipulus base karma: the initial karma of students. It is a variable non-negative integer: student karma can change with the base karma as a lower bound;

  • Snapshot space ENS: a registered (ENS) to manage the Snapshot space - where proposals and voting happen - associated with the course;

  • voting strategy: according to the DAE learning model, each user votes using their karma tokens. The voting strategy can be either linear (nnn votes cost nnn tokens) or quadratic (nnn votes cost n2n^2n2 tokens).

Operationally, when a user creates a course, the following operations are executed on the blockchain:

  1. the karma and credentials smart contracts are deployed on the blockchain. Hence there is an instance of such contracts for every course;

  2. the admin role is given to the address of the creator of the course.

Teachers and students

Teachers are identified by an Ethereum address. When a new teacher is enrolled, the base teacher karma and the Magister credential are transferred to the teacher address. Notice that only the admin of the course can enroll and remove teachers. Typically, the admin is also a teacher.

Teachers can enroll, remove, and list students who are identified by an Ethereum address. It is possible to enroll a batch of students (loading a CSV file) in a single transaction. When a new student is enrolled, the base student karma and the Discipulus credential are transferred to the student address.

Credentials and karma

Credentials are badges that certify an accomplishment made by a student. For instance, a credential can be given to a student that reached a given threshold of karma or to a student that passed with success the course exam.

There are two built-in credentials:

  • Magister: a teacher of the course. It has the following privileges:

    • view the course metadata

    • create a course

    • enroll and remove students

    • create, revoke, delete, and distribute credentials

    • transfer karma

    • create proposals and vote for them

    • view the course karma dashboard

  • Discipulus: a student of the course. It has the following privileges:

    • view the course metadata

    • create a new course (becoming the admin of the new course)

    • view their own credentials

    • view their own karma

    • vote for course proposals

    • view the course karma dashboard

The built-in credentials are automatically created and transferred when the corresponding event is activated, for instance when a teacher or a student is enrolled. They cannot be manually created or transferred. Moreover, additional, ad-hoc credentials can be created. Users can transfer a credential to a single address or to a batch of addresses (using a CSV interface) in a single transaction.

Technically, credentials are non-fungible soulbound tokens and karma are fungible soulbound tokens. Both types of tokens cannot be transferred once received but they can be burned by admins and teachers.

Proposals and voting

Snapshot is an off-chain voting platform that allows DAOs to vote easily and without gas fees. Votes are cast through signed messages generated with a cryptographic wallet and are easily verifiable online (they are saved as JSON files on IPFS). The Snapshot space can be highly personalized by combining different (up to 8) voting and validation strategies.

Typically, a proposal is first discussed in a forum, like a physical or virtual classroom. If a proposal is sufficiently supported by the community, then it is formalized by a teacher on Snapshot. Finally, all stakeholders can vote on the proposal using their karma tokens, and votes are tallied according to the course voting strategy.

Dashboard

The dashboard contains some basic statistics computed on the karma distribution over the class of students, namely:

  • min, max, median, and mean of student karma scores

  • standard deviation and median absolute deviation of student karma scores

  • the ratios between mean and standard deviation and between median and median absolute deviation

  • the student karma score leaderboard

Fees

If you are using the app on Sepolia testnet all transaction fees are paid in Sepolia ETH. You can get Sepolia ETH for free from a faucet, for instance:

In particular, admins and teachers will pay fees to create courses, enroll teachers and students, and manage credentials and karma. Students will not pay any fee.

The DAE app uses to manage proposals and voting, which is integrated into the app interface but can also be accessed as a website.

code repository
paper
Ethereum Name Space
Snapshot
Alchemy Sepolia faucet
Infura Sepolia faucet
Page cover image