Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Plasmídeos (DSL de Contratos Soberanos)

A DSL do PAEBIRU é focada em Plasmídeos: a representação em software da intenção econômica e cognitiva na rede. Ao invés de Smart Contracts pesados e Turing-completos, os Plasmídeos são intenções declarativas e soberanas (expressas estritamente via TOML) que governam o comportamento local e os acordos de trabalho do Compute-over-Data.

Visão Geral

1. Resumo

Os Plasmídeos são a representação da intenção econômica e cognitiva na rede PAEBIRU. Eles substituem a complexidade dos contratos inteligentes tradicionais por uma abordagem declarativa que prioriza a eficiência termodinâmica e o Conatus biológico.

2. Motivação

Sistemas baseados em consenso global sobre a lógica de execução sofrem de ineficiência. O PAEBIRU utiliza Plasmídeos como vetores de infecção benignos e adaptáveis que definem o que deve ser feito e quais as restrições do ambiente, evitando os riscos de exaustão de gás e falhas em scripts Turing-completos.

Especificação Técnica

1. Estrutura Canônica (O Verbo em TOML)

Todo Plasmídeo segue uma estrutura de declaração de intenções:

  • Metabolismo ([metabolism]): Especifica a carga de trabalho, limite de Joules e taxa algedônica suportada.
  • Carga Viral ([payload]): Hashes criptográficos (BLAKE3) apontando para o bytecode WASM ou conjunto de dados no C.A.P.I.B.A.
  • Restrições Físicas ([capabilities.requires]): Demandas absolutas de arquitetura, como TrustedExecution ou presença de sensores físicos (CSAC, PUF).

Exemplo de Estrutura:

[contract]
name = "meu_plasmideo"
version = "1.0.0"

[metabolism]
workload = "heavy"        # Carga de trabalho esperada
joule_limit = 1000        # Limite de energia (Joules)
algedonic_rate = 0.5      # Taxa de dor/prazer suportada

[payload]
hash = "blake3:..."       # Hash do bytecode WASM no C.A.P.I.B.A.
data = "blake3:..."       # Hash do conjunto de dados (CoD)

[capabilities.requires]
architectures = ["x86_64", "riscv64"]
types = ["TrustedExecution"] # RFC 015: TEE como Capability
min_security_level = "High"  # Nível de segurança exigido

Estrutura Detalhada

1. Metabolismo ([metabolism])

Especifica os limites termodinâmicos para a execução do Plasmídeo:

[metabolism]
joule_limit = 500       # Limite máximo de Joules
priority = "high"       # Prioridade no escalonamento biológico

2. Carga Viral ([payload])

Aponta para os recursos necessários armazenados no ecossistema:

[payload]
wasm_hash = "..."       # Bytecode WASM compilado
dataset = "..."         # Dados para processamento (CoD)

3. Restrições Físicas ([capabilities.requires])

Demandas absolutas de hardware e segurança:

[capabilities.requires]
types = ["TrustedExecution"] # Requer TEE
min_security_level = "High"  # SGX, TrustZone, SE
sensors = ["PUF", "GPS"]      # Sensores físicos necessários

4. Manipuladores e Estado (Opcional)

Para Plasmídeos que requerem lógica interna customizada:

[state.counter]
type = "i32"
initial = "0"

[handlers.increment]
ops = [
  { write = { field = "counter", value = "1" } },
  { return = "1" }
]

Exemplo: Plasmídeo de Monitoramento de Clima

[contract]
name = "climate_sensor"
version = "1.0.0"

[metabolism]
workload = "light"
joule_limit = 50
algedonic_rate = 0.1

[payload]
wasm_hash = "blake3:a1b2c3d4..."

[capabilities.requires]
sensors = ["temperature", "humidity"]
architecture = "no_std"

[handlers.report]
ops = [
  { call = { function = "read_sensors" } },
  { return = "0" }
]

Compilação e Disseminação

Compilar para WASM

#![allow(unused)]
fn main() {
use paebiru_plasmids::compile_plasmid;

let dsl = std::fs::read_to_string("plasmid.toml")?;
let bytecode = compile_plasmid(&dsl)?;
std::fs::write("plasmid.wasm", bytecode)?;
}

Disseminação Lateral

Plasmídeos não são gravados em uma blockchain centralizada. Eles “esporulam” via GALS e Stigmergic Routing pela rede, sobrevivendo no C.A.P.I.B.A. Storage baseado na relevância do Conatus do nó originário.

Onboarding (Início rápido em 5 minutos)

  1. Instale o CLI PAEBIRU: cargo install paebiru-cli

  2. Crie um Plasmídeo:

    mkdir meu_plasmideo && cd meu_plasmideo
    cat > plasmid.toml << 'EOF'
    [contract]
    name = "hello"
    version = "1.0.0"
    
    [metabolism]
    joule_limit = 10
    
    [handlers.greet]
    ops = []
    EOF
    
  3. Compile:

    paebiru plasmid compile plasmid.toml -o plasmid.wasm
    
  4. Dissemine:

    paebiru disperse plasmid.wasm