Компоненты системы CAPE
Last updated
Last updated
Ниже представлено упрощенное представление системы CAPE. Кошелек CAPE используется для создания транзакции и отправки ее на ретранслятор CAPE. Relayer платит комиссию за газ Ethereum, чтобы отправить транзакцию в смарт-контракт CAPE Ethereum. Другие компоненты помогают получить информацию о брокере, чтобы кошелек мог создавать действительные транзакции.
С точки зрения пользователя, кошелек CAPE является центром вселенной. Кошелек составляет транзакции, используя информацию из службы запросов Ethereum и адресной книги. Кошелек отправляет транзакции на ретранслятор, который направляет их в смарт-контракты. Служба запросов Ethereum отслеживает события, чтобы кошелек мог использовать ее для отслеживания транзакций и состояния системы.
Смарт-контракт CAPE на Ethereum поддерживает состояние системы CAPE, позволяя CAPE использовать распределенный консенсус Ethereum и предоставлять функции для существующих активов ERC-20. Смарт-контракт CAPE позволяет осуществлять двустороннюю передачу активов между Ethereum и системой CAPE. Передача токена ERC-20 в контракт вызывает создание записи актива внутри CAPE. Преобразование активов CAPE обратно в токены ERC-20 влечет за собой сжигание записи актива и разблокировку исходного токена ERC-20 в контракте.
Контракт поддерживает следующее: 1.Проверяйте транзакции в каждом блоке CAPE и обновляйте состояние CAPE. 2.Спонсор обернул типы активов CAPE соответствующими токенами ERC-20, политикой и идентификатором типа актива. 3.Включить токены ERC-20 в записи активов CAPE 4.Обработка транзакций «сжигания», позволяющая извлекать токены ERC-20 из записей активов CAPE 5.Создавайте записи об активах CAPE «плата» для сборщика CAPE.
Записи В дереве Меркла хранятся все обязательства по записи, созданные в системе. Смарт-контракт CAPE хранит небольшой дайджест этого набора, называемый корнем Меркла. Пользователи, потребляющие входные данные, могут подтвердить принадлежность своих записей к корню Меркла в контракте, эффективно доказывая, что входные записи уже существуют в системе. В целях конфиденциальности это доказательство представлено с нулевым разглашением, поэтому наблюдатели и валидаторы не узнают, какая запись используется. Кроме того, проверка не показывает, какое обязательство по записи тратится. Смарт-контракт CAPE также хранит подтверждение членства в последней добавленной записи, называемой границей дерева Меркла. Это позволяет самому контракту обновлять корень Merkle и границу после добавления нового обязательства записи. В противном случае пользователям нужно было бы знать последнюю границу непосредственно перед отправкой транзакции.
Смарт-контракт CAPE совместим с любым смарт-контрактом Ethereum, соответствующим стандарту токенов ERC-20.
Кошелек CAPE является основным компонентом системы, с которым сталкивается пользователь. Он позволяет пользователям генерировать ключи и управлять ими, синхронизироваться с состоянием системы CAPE, а также создавать и отправлять транзакции. Кошелек предназначен для запуска на стороне клиента как собственный исполняемый файл или контейнер Docker и предоставляет REST API для использования графическими пользовательскими интерфейсами.
Кошелек обеспечивает следующие функции:
1.Просмотр балансов и транзакций CAPE
2.Определите новые типы активов, как внутренние активы CAPE, так и активы в оболочке ERC-20, с соответствующими политиками просмотра и заморозки.
3.Включите токены ERC-20 в записи активов CAPE.
4.Разверните активы CAPE, в основе которых лежат токены ERC-20, путем записи записи актива и разблокировки оригинального ERC-20.
5.Просмотр любых записей активов, для которых у пользователя есть соответствующие ключи просмотра.
6.Заморозить все записи активов, для которых у пользователя есть соответствующие ключи заморозки.
7.Создавайте и управляйте необходимыми ключами для выполнения вышеупомянутых действий.
Целью CAPE Relayer является предотвращение привязки платы за газ Ethereum, которая должна прозрачно оплачиваться учетной записью Ethereum, с пользователями CAPE. Пользователи отправляют транзакции CAPE ретранслятору, который затем публикует транзакцию в Ethereum, оплачивая необходимые сборы за газ ETH. Поэтому широкая общественность не может связывать транзакции с пользователями.
Текущая реализация ретранслятора является самой простой из возможных реализаций; ретранслятор не выполняет собственной проверки и сразу же пересылает транзакции в Ethereum, как только они получены.
Альтернативные реализации ретрансляторов CAPE могут поддерживать упрощенное состояние системы CAPE, позволяя ретранслятору проверять транзакции CAPE локально перед их пересылкой в контракт CAPE на Ethereum. Более того, ретранслятор может объединить транзакции CAPE в блоки и отправить их в одном вызове контракта Ethereum, а не пересылать транзакции по отдельности.
Адресная книга CAPE сопоставляет адреса пользователей с открытыми ключами шифрования. Пользователи публикуют здесь свои открытые ключи шифрования. Это делается путем отправки их пакета UserPubKey (который включает как адрес, так и открытый ключ шифрования) и подписания запроса с использованием закрытого ключа пользователя, связанного с адресом. Таким образом, невозможно опубликовать недопустимый ключ шифрования для пользователя.
Это общедоступное сопоставление позволяет отправителю получить ключ шифрования, связанный с адресом получателя. Это особенно важно для функции замораживания: когда морозильник возвращает записи первоначальным владельцам, ему необходимо знать их ключи шифрования, чтобы создавать для них памятки владельца.
Для развертывания CAPE в тестовой сети «платные» токены тестовой сети CAPE можно получить в сборщике CAPE, указав действительный адрес CAPE.
Обратите внимание, что это только токен тестовой сети, а не для передачи или обмена стоимости. Продажа токенов CAPE или другое распространение не происходит и в настоящее время не планируется.
Сборщик является источником записей об активах CAPE «комиссии», которые необходимы для создания действительных транзакций CAPE. Несмотря на то, что суммы комиссии по умолчанию равны нулю, записи актива с типом комиссионного актива CAPE по-прежнему необходимы для того, чтобы транзакция была действительной.
Под капотом, после развертывания контракта CAPE в тестовой сети, первоначальная поставка «платных» токенов CAPE создается с жестко заданным адресом владельца. Эти токены используются для финансирования сборщика.
Служба запросов CAPE Ethereum (EQS) предоставляет информацию в кошелек CAPE. Эта информация позволяет пользователям просматривать записи о своих активах и создавать транзакции. Сервер запросов позволяет кошельку, который был в автономном режиме, узнать, что произошло, пока он был в автономном режиме.
В частности, EQS обеспечивает
1.Операции CAPE
2.Записывает доказательства дерева Меркла
3.Набор нуллификаторов — описание набора нуллификаторов см. в разделе CAPE Relayer выше.
4.Недавние корни актива записывают дерево Меркла и представление времени
5.События Ethereum, связанные с обработкой транзакций CAPE