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, comoTrustedExecutionou 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)
-
Instale o CLI PAEBIRU:
cargo install paebiru-cli -
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 -
Compile:
paebiru plasmid compile plasmid.toml -o plasmid.wasm -
Dissemine:
paebiru disperse plasmid.wasm