Page cover

Automata Onchain PCCS

The onchain PCCS comprises various Data Access Object (DAO) contracts that maps the appropriate collaterals stored within a shared AutomataDaoStorage instance.

The DAOs are:

  • Automata PCS DAO

  • Automata PCK DAO

  • Automata Enclave Identity DAO

  • Automata FMSPC TCB DAO

  • Automata TCB Eval DAO (Newly introduced in v1.1 release)

These DAOs implement interfaces closely aligned with Intel PCCS Design Guidelines, making them intuitive for developers well-versed in Intel PCS APIs.

All contract methods are intended to be called by offchain applications. For smart-contract friendly APIs, we advise reading collaterals from the PCCS Router contract. The PCCS Router integrates helper libraries to parse collaterals into Solidity types, instead of returning as JSON strings.

Unversioned and Versioned DAOs

There are two deployment groups for Automata Enclave Identity and Automata FMSPC TCB DAOs.

Unversioned DAOs are used exclusively for v1.0 deployment, where collaterals can be permissionlessly contributed by everyone. These contracts manage collaterals for unspecified but incremental TCB Evaluation Data Numbers.

For example, if a collateral were currently existing in the DAO with a TCB Evaluation Data Number at X, the next acceptable collateral upsert must be at a TCB Evaluation Data Number that either matches or is higher than current one. In other words, once a stored collateral has incremented its TCB Evaluation Data Number, it can't be reverted back to the previous number.

Versioned DAOs on the other hand, would tie a TCB Evaluation Data Number to the specific address of the DAO. e.g. TCB Evaluation Data Number X ⇒ address A, TCB Evaluation Data Number Y ⇒ address B. etc. They are however, not permissionless for manual contributions, and require users to request for collateral upserts via DCAP Dashboard.

Last updated

Was this helpful?