# Specs v2

**URL:** https://forum.anoma.net/c/protocol-design/specs-v2/37.md

[Latest](https://forum.anoma.net/latest.md) · [Categories](https://forum.anoma.net/categories.md) · [Tags](https://forum.anoma.net/tags.md)

---

## [About the Specs v2 category](https://forum.anoma.net/t/about-the-specs-v2-category/557)

<div class="topic-metadata">

**Author:** [@cwgoes](https://forum.anoma.net/u/cwgoes)\
**Replies:** 0

</div>

This category is for discussions concerning material for the Anoma specs v2.

---

## [EVM Protocol Adapter Interoperability & Identity Architecture](https://forum.anoma.net/t/evm-protocol-adapter-interoperability-identity-architecture/1218)

<div class="topic-metadata">

**Author:** [@Michael](https://forum.anoma.net/u/Michael)\
**Replies:** 0\
**Last updated:** [February 21, 2025, 2:24pm UTC](https://forum.anoma.net/t/evm-protocol-adapter-interoperability-identity-architecture/1218 "2025-02-21T14:24:33Z")

</div>

The objective of this thread is to explain the need for ECDSA (secp256k1) signatures in Anoma/Juvix in the context of the EVM protocol adapter (PA) prototype and to find a minimal working solution in the short term. Con…

---

## [Anoma Engines: An argument against sender categorization of messages](https://forum.anoma.net/t/anoma-engines-an-argument-against-sender-categorization-of-messages/1087)

<div class="topic-metadata">

**Author:** [@mariari](https://forum.anoma.net/u/mariari)\
**Replies:** 10\
**Last updated:** [February 4, 2025, 3:04pm UTC](https://forum.anoma.net/t/anoma-engines-an-argument-against-sender-categorization-of-messages/1087 "2025-02-04T15:04:23Z")

</div>

Engines are multi mailbox actors. In particular the sender decides what mailbox of the receiver receives the message. type EngineMsg M := mkEngineMsg@{ sender : EngineID; target : EngineID; mailbox : Opti…

---

## [On Identities: Or how I learned to stop worrying and love Anoma](https://forum.anoma.net/t/on-identities-or-how-i-learned-to-stop-worrying-and-love-anoma/988)

<div class="topic-metadata">

**Author:** [@mariari](https://forum.anoma.net/u/mariari)\
**Replies:** 4\
**Last updated:** [January 15, 2025, 9:44am UTC](https://forum.anoma.net/t/on-identities-or-how-i-learned-to-stop-worrying-and-love-anoma/988 "2025-01-15T09:44:15Z")

</div>

The oddities When reviewing specs V2, I noticed that the Identity Machine felt very peculiar to me: Namely that everything is an engine! reads-for signs-for naming commitment … Being an engine means a few things: …

---

## [On simple model for the Anoma specification](https://forum.anoma.net/t/on-simple-model-for-the-anoma-specification/1036)

<div class="topic-metadata">

**Author:** [@mariari](https://forum.anoma.net/u/mariari)\
**Replies:** 8\
**Last updated:** [January 10, 2025, 12:39pm UTC](https://forum.anoma.net/t/on-simple-model-for-the-anoma-specification/1036 "2025-01-10T12:39:06Z")

</div>

Preamble As of today the Anoma specification is on version v0.1.3, and although we’ve made great strides in making the specification readable I believe we can once again greatly improve the situation by simplifying the t…

---

## [Engine type & terminology](https://forum.anoma.net/t/engine-type-terminology/845)

<div class="topic-metadata">

**Author:** [@tg-x](https://forum.anoma.net/u/tg-x)\
**Replies:** 3\
**Last updated:** [November 4, 2024, 9:41am UTC](https://forum.anoma.net/t/engine-type-terminology/845 "2024-11-04T09:41:14Z")

</div>

I find the term engine family confusing and unnecessary in specs v2. In v1 we used engine to refer to the type of an engine, and engine instance to refer to a specific instance of an engine. In v2 engine family is used…

---

## [Protocol versioning](https://forum.anoma.net/t/protocol-versioning/832)

<div class="topic-metadata">

**Author:** [@tg-x](https://forum.anoma.net/u/tg-x)\
**Replies:** 11\
**Last updated:** [October 25, 2024, 2:37pm UTC](https://forum.anoma.net/t/protocol-versioning/832 "2024-10-25T14:37:11Z")

</div>

Protocol versioning We need protocol version negotiation when two nodes establish connection: the connecting node advertises a range of supported protocol versions in the connection request, while the responder either …

---

## [Node architecture: machines, engine groups, engines](https://forum.anoma.net/t/node-architecture-machines-engine-groups-engines/802)

<div class="topic-metadata">

**Author:** [@tg-x](https://forum.anoma.net/u/tg-x)\
**Replies:** 3\
**Last updated:** [October 22, 2024, 11:00am UTC](https://forum.anoma.net/t/node-architecture-machines-engine-groups-engines/802 "2024-10-22T11:00:18Z")

</div>

In the previous version of the specs (v1), we have described and organized the node architecture in terms of machines, engine groups, and engines. In the current version (v2) we have an updated and more precise notion o…

---

## [User interaction messages](https://forum.anoma.net/t/user-interaction-messages/563)

<div class="topic-metadata">

**Author:** [@cwgoes](https://forum.anoma.net/u/cwgoes)\
**Replies:** 4\
**Last updated:** [May 20, 2024, 7:29am UTC](https://forum.anoma.net/t/user-interaction-messages/563 "2024-05-20T07:29:10Z")

</div>

The v2 specs must define user interaction messages which can be sent and received “externally” to and from a node implementation. Many of these may simply proxy internal implementations, but we should probably define a d…

---

## [Basic Kudos, Multichat, and Public Signal applications](https://forum.anoma.net/t/basic-kudos-multichat-and-public-signal-applications/561)

<div class="topic-metadata">

**Author:** [@cwgoes](https://forum.anoma.net/u/cwgoes)\
**Replies:** 9\
**Last updated:** [May 14, 2024, 9:44am UTC](https://forum.anoma.net/t/basic-kudos-multichat-and-public-signal-applications/561 "2024-05-14T09:44:45Z")

</div>

The v2 specs must include basic forms of the Kudos, Multichat, and Public Signal applications. Basic requirements for kudos: Create kudo denomination Send kudos Swap kudos (Univ3-style configurable-price-curve positio…

---

## [Basic OTA upgrade system](https://forum.anoma.net/t/basic-ota-upgrade-system/560)

<div class="topic-metadata">

**Author:** [@cwgoes](https://forum.anoma.net/u/cwgoes)\
**Replies:** 5\
**Last updated:** [May 11, 2024, 6:46am UTC](https://forum.anoma.net/t/basic-ota-upgrade-system/560 "2024-05-11T06:46:54Z")

</div>

The v2 specs must include a basic OTA upgrade system which allows new code to be shipped over the network that node operators can easily upgrade to (optionally automatically). I think that we can implement this as a RM a…

---

## [Multisignature proof-of-stake application](https://forum.anoma.net/t/multisignature-proof-of-stake-application/559)

<div class="topic-metadata">

**Author:** [@cwgoes](https://forum.anoma.net/u/cwgoes)\
**Replies:** 2\
**Last updated:** [May 10, 2024, 9:48am UTC](https://forum.anoma.net/t/multisignature-proof-of-stake-application/559 "2024-05-10T09:48:19Z")

</div>

The v2 specs must include a simple multisignature proof-of-stake application, which we will use to manage validator sets on the decentralized testnets. Basic requirements: Validators can register and deregister Valida…

---

## [Concrete specs details](https://forum.anoma.net/t/concrete-specs-details/562)

<div class="topic-metadata">

**Author:** [@cwgoes](https://forum.anoma.net/u/cwgoes)\
**Replies:** 0\
**Last updated:** [May 6, 2024, 7:11am UTC](https://forum.anoma.net/t/concrete-specs-details/562 "2024-05-06T07:11:53Z")

</div>

The concrete section of the Anoma v2 specs must include all concrete types and structures with which the abstract specification is actually instantiated with in v2; namely, at least: encoding formats for Anoma data str…

---

## [First draft of application state encoding format](https://forum.anoma.net/t/first-draft-of-application-state-encoding-format/558)

<div class="topic-metadata">

**Author:** [@cwgoes](https://forum.anoma.net/u/cwgoes)\
**Replies:** 0\
**Last updated:** [May 6, 2024, 6:40am UTC](https://forum.anoma.net/t/first-draft-of-application-state-encoding-format/558 "2024-05-06T06:40:59Z")

</div>

The v2 specs must include a first draft of the application state encoding format, which we should use to encode resources, data within resources, signatures, etc. Basic requirements: Mapping from algebraic data types …

---

## [Specs v2 Master Planning Thread](https://forum.anoma.net/t/specs-v2-master-planning-thread/551)

<div class="topic-metadata">

**Author:** [@cwgoes](https://forum.anoma.net/u/cwgoes)\
**Replies:** 3\
**Last updated:** [May 3, 2024, 2:28pm UTC](https://forum.anoma.net/t/specs-v2-master-planning-thread/551 "2024-05-03T14:28:14Z")

</div>

Product requirements (from here):
