Roman Kolpakov

@rkolpakov

Joined on Dec 24, 2021

  • Signle Governance (SG) is a governance subsystem that sits between the Lido DAO, represented by various voting systems, and the protocol contracts it manages. It protects protocol users from hostile actions by the DAO by allowing to cooperate and block any in-scope governance decision until either the DAO cancels this decision or users' (w)stETH is completely withdrawn to ETH. System overview image The system is composed of the following main contracts: SingleGovernance.sol is a singleton that provides an interface for submitting governance proposals and scheduling their execution, as well as managing the list of supported proposers (DAO voting systems). EmergencyProtectedTimelock.sol is a singleton that stores submitted proposals and provides an interface for their execution. In addition, it implements an optional temporary protection from a zero-day vulnerability in the dual governance contracts following the initial deployment or upgrade of the system. The protection is implemented as a timelock on proposal execution combined with two emergency committees that have the right to cooperate and disable the dual governance. Executor.sol contract instances make calls resulting from governance proposals' execution. Every protocol permission or role protected by the DG, as well as the permission to manage this role/permission, should be assigned exclusively to one of the instances of this contract (in contrast with being assigned directly to a DAO voting system).
     Like  Bookmark
  • Как работает LIP-24. Сетап: Agent -> Ethereum bridge -> BSC bridge -> Executor Классический форвардер, без рокетсаенса. Гонится коллдата для вызова на Executor, который может взаимодействовать с чем угодно на стороне BSC. Сам по себе a.DI под капотом использует несколько бриджей и механизм консенсуса, чтобы не попадать в вендор лок. Контракт Executor не upgradable, будет необходимость изменить только если поменяется адрес агента (то есть никогда). Контракты бриджа работают через TransparentProxy, админами которых на стороне Ethereum является Agent, на стороне BSC - Executor. То есть апгрейд при необходимости будем гнать через Executor.
     Like  Bookmark
  • Stonks Action points Rough and incomplete turnarounds Summer 2022: Started working on swapper with Mihail; sent the project to ice after 4-5 iterations and couple months spent (tech complexity was too darn high) Spring 2023: Restarted tech speccing with Kate Aug 2023: Roman joins to lead Sept 2023: decided to go with Milkman Oct 2023: no more DAI in Treasury to pay for ops expenses + can't use USDT because no ETs to get those to mulitsigs Oct 2023: had a pivot to "no Milkman, 80% new code" solution after reviews Oct 2023: Roman switched fully to stablecoins ETs
     Like  Bookmark
  • Статьи для Hackernoon, примерный cписок общих тем : Positive-first voting Проблема: Как DAO подходит к голосованию: DAO - холдеры очень инертные. Люди не любят голосовать потому что дорого по газу и это требует определенного количества действий. А фичи должны выкатываться постоянно и голосовать надо. Больше чем минимальный кворум (5% где 50% должны быть за) никогда не собирается, а в среднем и обычный кворум не собирается. Aave governance: https://vote.onaave.com (необходимо 2% от общего числа для кворума) 320 тыс из 10 млн - fact check Maker: https://vote.makerdao.com/polling/QmS8ch8r (в среднем собирают 5-7%) Uniswap: https://app.uniswap.org/vote/2/58 (4%) Решения:
     Like  Bookmark
  • Artifacts specification code (main branch) deploy plan audit report (Attached as a file to deploy plan in the reference section) Main changes since last review added minBuyAmount parameter to the placeOrder function created new contract Ownable to separate logic between asset recovering and contract managing. added possibility to change/remove manager by agent
     Like  Bookmark
  • Despite our efforts to ensure Lido's protocol stability, we must be prepared for rapid responses to critical threats or errors. The primary aim is to minimize potential losses and ensure robust protection of user assets. Core Objectives of an Irreversible Shutdown Mechanism As we consider introducing an irreversible kill switch mechanism for Lido, the following delineate the core objectives we aim to achieve: Establish a Definitive Endpoint: Ensure that, once activated, the protocol undergoes an absolute termination, eliminating any possibility of resumption or reactivation. Guarantee Asset Safety: Prioritize user asset security by providing a structured pathway for users to seamlessly reclaim their Ethereum during the shutdown. Act as a Strong Deterrent: Create an environment where the presence of such a conclusive shutdown signals to potential threats about our unwavering commitment to safeguarding user interests and protocol integrity. Through these objectives, we highlight our dedication to not only react to threats but to establish preemptive measures that underscore Lido's commitment to its user base and overall system resilience.
     Like  Bookmark
  • Plan Get a etherscan transaction link initiated by Builder. Open a log tab. (example) Find a log from log name list to find a specific log that has a constructor parameters for the deployed contract. AllowedRecipientsRegistryDeployed TopUpAllowedRecipientsDeployed AddAllowedRecipientDeployed RemoveAllowedRecipientDeployed
     Like  Bookmark