Per un business: come tokenizzare asset (RWA) su Colichain
Per un business é possibile tokenizzare un asset in un paio di click sul Coliseum Marketplace, questo é quello che succede in back-end:
8.1 Processo end-to-end (operativo)
Onboarding legale & KYB (Assunzione: Sumsub nel marketplace Colichain – non in knowledge attuale)
Verifica azienda (KYB), beneficial owners, sanzioni/PEP, prove di titolarità dell’asset (fatture, custodia, licenze).
Configurazione profili di compliance (giurisdizioni abilitate, limiti investimento, whitelist investitori).
Strutturazione legale dell’asset
Scelta del veicolo (es. SPV per real estate o contratto di custodia per asset fisici).
Definizione dei diritti on-chain (proprietà, usufrutto, revenue share, diritti di governance) e restrizioni (trasferibilità condizionata a KYC/blacklist).
Progettazione del token (token engineering)
Fungibile: rappresentazione frazionaria (es. oro in grammi) → standard ERC-20 con controlli di trasferimento.
Non fungibile: singolo bene (es. orologio, quadro) → ERC-721 con metadati certificati.
Semi-fungibile: serie limitata / lotti → ERC-1155.
Sicurezza/regolamentazione: se strumento finanziario, utilizzare estensioni con regole di compliance on-chain (whitelist, freeze, forced-transfer). (Gli standard specifici non sono definiti nei file progetto; includere in repo la libreria “rwa-modules/” con interfacce di compliance).
Implementazione smart contract (interfacce consigliate)
IRWAToken(estende ERC-20/721/1155):function mint(address to, uint256 idOrAmount, bytes data)(solo Issuer/Controller)function burn(address from, uint256 idOrAmount)(con policy)
ICompliance(policy di trasferimento):function canTransfer(address from, address to, uint256 idOrAmount) external view returns (bool, bytes32 reason)function setRule(bytes32 ruleId, bytes data)(KYB, geo-fencing, lockup)
ICustody(attestazioni custodia/off-chain):function attest(bytes32 assetId, bytes calldata proof)
IPrimaryIssue(primaria/presale):function purchase(address to, uint256 idOrAmount)pagato in CMAX/ETH (vedi nota sotto)
Tutte le chiamate devono revert se
ICompliance.canTransfer == false. (Queste interfacce sono proposte tecniche: non in knowledge attuale della repo; da aggiungere incolichain-docscon esempi e test.)
Integrazione dati & attestazioni
Collegare perizia, certificati, custodia (hash su DA o storage IPFS/Arweave) e ancoraggio dello stato su L1 (commitment).
Deploy & Issuance
Deploy contratti su Colichain; verifica su Explorer (contract verification).
Apertura primaria (presale/offerta): parametri prezzo, cap, whitelist.
Operatività & Osservabilità
Monitorare inclusione a ~2s e fee ridotte (~0,1× L1) tramite Metrics (Grafana/Prometheus/Monitorism) con alert multi-canale e report 7-giorni.
Nota costo/performance: architettura OP Stack + Alt-DA (Avail) → fee medie inferiori a L1, blocchi ogni ~2s, e indicazione OPEX ~10× inferiore a soluzioni gestite (Caldera/Conduit).
8.2 Interfacce smart contract
Scopo: dare agli auditor una base uniforme. Da integrare in
github.com/ColiseumProject/colichain-docscon ABI, invarianti e test.
Copy
Invarianti consigliate (estratto):
Safety:
transfer/transferFromrevert se!ICompliance.canTransfer.Liveness: ruoli Issuer/Controller ben definiti; eventi
Attested(assetId, proofHash).Conservazione:
totalSupplycoerente con titoli/pezzi custoditi.
(Questa sezione è proposta tecnica; richiede commit nella repo con test e formale “Security Invariants”.)
8.3 Settlement L1 per trust minimization
Colichain batcha le tx e finalizza lo stato su Ethereum L1; ogni cambiamento di stato è “sigillato su L1”.
I dati delle tx sono pubblicati su Avail (Alt-DA) per ridurre il costo/byte, preservando verificabilità e ricostruzione dello stato.
8.4 Rischi/regolazione
KYC/KYB/AML, sanzioni (OFAC/UE), classificazione del token (strumento finanziario/utility).
Custodia (asset fisico) e riscatto (burn ↔ consegna).
Disclosure obbligatorie per investitori e restrizioni di trasferimento. (Da esplicitare per giurisdizione; evitare promesse di rendimenti.)
Last updated