# Протокол изменения протоколов L2/DAO
###### tags: `Functional Note` `DAO` `Collective` `Vote` `Descision making`
## Голоссарий
* [Протокол](https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB) `это система правил, определяющая, как данные обмениваются внутри или между приложениями.`
* [Токен](https://ru.wikipedia.org/wiki/%D0%A2%D0%BE%D0%BA%D0%B5%D0%BD_(%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%B0)) `это единица учёта, предназначенная для представления цифрового баланса в некотором активе`
* [FT и NFT токены](https://medium.com/@TerraVirtua_RUS/%D0%B2%D0%B7%D0%B0%D0%B8%D0%BC%D0%BE%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC%D1%8B%D0%B5-%D0%B8-%D0%BD%D0%B5%D0%B7%D0%B0%D0%BC%D0%B5%D0%BD%D1%8F%D0%B5%D0%BC%D1%8B%D0%B5-%D1%82%D0%BE%D0%BA%D0%B5%D0%BD%D1%8B-nfts-%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B-%D0%B8%D1%85-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-%D0%B2-%D0%B8%D0%B3%D1%80%D0%B0%D1%85-55285925fbfc)
* [Консенсус](https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%81%D0%B5%D0%BD%D1%81%D1%83%D1%81)
## Протокол изменений
Протокол изменений распределенных приложений(**`dapps`** - decentralized apps), развернутых в основной сети позволяет обеспечить инклюзивный и устойчивый консенсус для каждого приложения. Его достижение необходимо для предотвращения размытия капитализации приложения через деление на копии(появления форков) - практика показала что отсутствие протокола изменения фатально для таких типов приложений.
Протокол изменений через предложения по улучшению(**`IP`** - improvment proposal) предлагают заинтересованным сторонам способ участвовать в улучшении функций и функционирования протоколов, предлагая изменения или участвуя в обсуждении предложений.
Жизненный цикл любого приложения в L2 начинается с публикации базового протокола в качестве корневого стандартного(`PROTOCOL-NAME/Governance/IP/0`), предложения по улучшению, касающиеся его могут быть адресованы с помощью **`IP`**. Сам **`IP`** - это проектный документ, в котором описываются предлагаемые изменения или новые функции. Как текстовый файл, поддерживаемый в базе данных с поддержкой контролем версий, он служит исторической записью решений, принятых в процессе утверждения.
Протокол изменения через **`IP`** включен в набор обязательных интерфейсов любого приложения в сети **`L2`**. Технические решения контролируются техническим комитетом соответствующего протокола(**`PIC`** - Protocol Improvement Committee).
Ежедневные технические решения принимаются с использованием структуры, вдохновленной органами стандартизации(такими как [Консоурциум всемирной паутины/W3C/](https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%81%D0%BE%D1%80%D1%86%D0%B8%D1%83%D0%BC_%D0%92%D1%81%D0%B5%D0%BC%D0%B8%D1%80%D0%BD%D0%BE%D0%B9_%D0%BF%D0%B0%D1%83%D1%82%D0%B8%D0%BD%D1%8B) и [Инженерный совет интернета/IETF/](https://ru.wikipedia.org/wiki/%D0%98%D0%BD%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D0%BD%D1%8B%D0%B9_%D1%81%D0%BE%D0%B2%D0%B5%D1%82_%D0%98%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D0%B0)) и проектами с открытым исходным кодом(такими как [Python](https://www.python.org/dev/peps/), [Linux Foundation](https://ru.wikipedia.org/wiki/The_Linux_Foundation) и [Apache Foundation](https://www.apache.org/foundation/)) для координации работы участников с открытым исходным кодом.
Этот процесс основан на семействе подходов, полученных из процесса [Python PEP](https://www.python.org/dev/peps/). Его поддерживает команда сопровождающих, которые назначаются индивидуально для работы в качестве участников, контролирующих контракт **`PIC`** и работают над достижением консенсуса среди членов сообщества по поводу технических решений. Кроме того, вопросы **`IP`** обычно обсуждаются ведущим специалистом **`PIC`**.
### Типы предложений
```mermaid
graph TD
A[Заинтересованное лицо] -->| Публикует | B[Предложение по улучшению]
B -->| Влияет на протокол приложения | C[Стандарное предложение]
B -->| Влияет на протокол управления | D[Процессное предложение]
B -->| Не влияет на протокол | E[Информационное предложение]
```
> Сложно объяснить различия на русском, поэтому небольшой абзац на английском
Standard `IP`s describe any change or addition that affects dapp, such as a change to the protocol, a change to `dapp` message processing, proposed application standards/conventions, or any change or addition that affects the interoperability of applications using `dapp`.
Process `IP`s describe the governance procedures and tools of the `dapp` life-circle, such as the `IP` procedure itself, infrastructure plug-ins, and other development tools and guidelines.
Informational `IP`s describe a `dapp` design issue, or provide general guidelines or information to the `dapp` community, but do not propose a material change or addition to `dapp` protocol. Informational `IP`s do not necessarily represent `dapp` community consensus or a recommendation, so users and implementers are free to ignore Informational `IP`s or follow their advice.
### Жизненный цикл предложения
```flow
idea=>start: Идея
deploy=>end: Развертывание
idea_chat=>operation: Обсуждение
draft_chat=>operation: Обсуждение
last_call_chat=>operation: Обсуждение
dev=>operation: Разработка
idea_cond=>condition: Голосование по идее
draft_cond=>condition: Голосование по драфту
last_call_cond=>condition: Финальное голосование по заявке
draft=>operation: Драфт
last_call=>operation: Последний звонок
idea->idea_chat->idea_cond
idea_cond(yes)->draft->draft_chat->draft_cond
draft_cond(yes)->last_call->last_call_chat->last_call_cond
last_call_cond(yes)->deploy
idea_cond(no)->idea_chat
draft_cond(no)->draft_chat
last_call_cond(no)->last_call_chat
```
## Типы протоколов голосования
TBA
Классы алгоритмов, ответственные за согласованное принятие решения принято называть [протоколами консенсуса](https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BD%D1%81%D0%B5%D0%BD%D1%81%D1%83%D1%81). Разработка таких протоколов является наиболее трудоемкой задачей в computer since.
В контексте L2/DAO имеет смысл использовать консенсусы, на основе [PoA(Proof-of-authority)](https://en.wikipedia.org/wiki/Proof_of_authority) и/или [PoS(Proof-of-stake)](https://en.wikipedia.org/wiki/Proof_of_stake).
## Метаданные заявки
TBA
```jsonld=
{ "ID" : "DID"
"title" : "string"
"author" : "DID"
"discussions-to" : "DID"
"Status" : "<Draft | Last Call | Accepted | Final | Rejected>"
"last-call-end-date" : "timestamp"
"type" : "<Standards Track (Core, Networking, Interface, Application) | Informational | Meta>"
"versions" : "DID"
}
```
## Внешние ресурсы
| Описание | URL |
| -------- | -------- |
| Libra governance model(PoA) | A. [lip.libra.org](https://lip.libra.org/overview) |
| Ethereum IP's(PoA) | A. [eips.ethereum.org](https://eips.ethereum.org/) |
| FreeTON Contests and IP's | A. [freeton.org](https://freeton.org/contests)
| Polka DOT governance(PoS) | A. [wiki.polkadot.network](https://wiki.polkadot.network/docs/en/learn-governance) |
| Deep Dive into Tezos Gov Model(PoS) | A. [hackernoon.com](https://hackernoon.com/the-darkhorse-dapp-killer-a-deep-dive-into-the-tezos-architecture-governance-and-scalability-2sx8327y) B. [learn.tqtezos.com](https://learn.tqtezos.com/files/self-amendment.html#introduction) |
| TELOS vs Tezos | A. [telosnetwork.io](https://telosnetwork.io/2020/01/30/blockchain-governance-telos-v-tezos/) |
| 💡 **Quadratic** PoA | A. [papers.ssrn.com](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2003531) |
| Nominated PoS | A. [w3f-research.readthedocs.io](https://w3f-research.readthedocs.io/en/latest/polkadot/NPoS/index.html)