Готов прототип SMART-контракта новой модели ICO, предложенной Виталиком Бутериным
Команда разработчиков представила готовый прототип SMART-контракта для реализации идеи новой модели инвестирования в ICO через DAO-фонд, предложенной создателем Ethereum Виталиком Бутериным 6 января (https://ethresear.ch/t/explanation-of-daicos/465). Уже в 2018-2019 году этот smart-контракт позволит инвестировать в ICO с минимальными рисками благодаря поэтапному финансированию (через DAO фонд).
Идея о новой модели инвестирования в ICO через DAO фонд, предложенная Виталиком Бутериным (https://ethresear.ch/t/explanation-of-daicos/465), получила реальную реализацию в прототипе команды разработчиков “ICOplate”.
Уже существующий прототип Smart-контракта поможет реализовать на практике идею поэтапного финансирования в ICO с применением системы голосования инвесторов. При этом инвестиционные риски будут существенно снижены, а доходность увеличится.
(код продукта на github: https://github.com/ICOplate/icoplate-fund-prototype) ).
Схема работы инвестирования на основе smartico (smart-контракта):
• Привлеченные средства в рамках ICO в полном объеме хранятся в DAO фонде ICO-проекта.
• Благодаря схеме поэтапного финансирования из средств фонда проекта при помощи smart-контракта, ICO инвесторы могут рассчитывать на возврат своих инвестиций, если организаторы проекта не будут справляться с его реализацией. Собранные инвестиции хранятся в фонде проекта и выдаются по частям на реализацию проекта в соответствии с дорожной картой.
• Инвесторы коллегиально при помощи голосования (кол-во голосов пропорционально вложенным средствам) принимают решение по финансированию каждого этапа в соответствии с дорожной картой проекта.
• В случае, если проект не справляется с запуском продукта и инвесторы голосуют за прекращение финансирования, оставшиеся средства из фонда возвращаются обратно к инвесторам. Это поможет отсеять мошенников, которые не собирались реализовывать проект, оставив на платформе самые перспективные и проработанные продукты.
ICO проекты соглашаются на поэтапное финансирование проекта из инвестиционного фонда, повышают трастовость своего проекта. Как следствие, увеличивают свои шансы на удачное привлечение средств в полном объеме. В то же время, берут на себя обязательства реализовать проект перед своими инвесторами.
По прогнозам разработчиков, инвесторы получат возможность инвестировать в ICO проекты по новой модели уже в 2018-2019 году. Подробно о новом технологическом решении smart-контракта и DAO фонда готовы рассказать основатели проекта Олег Шарпатый и Андрей Грановский. Контакты для связи: o.nazarova@icoplate.com, Ольга.
ИНФОРМАЦИОННАЯ СПРАВКА.
“ICOPlate” – платформа, обеспечивающая безопасное инвестирование в ICO проекты благодаря поэтапному финансированию через DAO фонд при помощи smart-контракта. Основатели проекта “ICOplate”: Андрей Грановский - предприниматель, ICO инвестор. Олег Шарпатый - предприниматель, ICO инвестор. ПОДРОБНЕЕ О SMART-контракте “ICOplate”. Алгоритм поэтапного финансирования: Инвестор голосует за продолжение проекта, либо за прекращение.
function approveKeyPoint(bool approval) external initialized onlyActive onlyTokenHolder notVoted notDelegator { KeyPointState storage state = getCurrentKeyPointState(); require(getTime() < state.votingEndTime); state.approvalState[msg.sender] = approval ? ApprovalState.Approval : ApprovalState.Disapproval; addVotingTokens(msg.sender, m_token.balanceOf(msg.sender).add(getDelegateState(msg.sender). votesAccumulated)); }
Происходит выполнение ключевой точки и проект либо получает транш средств, либо переходит в состояние возврата инвестиций. function executeKeyPoint() external initialized onlyActive { KeyPointState storage state = getCurrentKeyPointState(); assert(!state.processed); require(getTime() >= state.votingEndTime); state.processed = true; state.success = isKeyPointApproved(); KeyPointResolved(m_keyPointState.length - 1, state.success); if (state.success) { m_vault.transferToTeam(getCurrentKeyPoint().fundsShare); if (m_keyPointState.length < m_keyPoints.length) initNextKeyPoint(); } } Инвестор получает обратно оставшиеся инвестиции из неудачно завершившегося проекта.
function refund() external initialized onlyRefunding onlyTokenHolder { uint numerator = m_token.balanceOf(msg.sender); uint denominator = m_token.totalSupply(); assert(numerator<= denominator); m_token.burnFrom(msg.sender, m_token.balanceOf(msg.sender)); m_vault.refund(msg.sender, numerator, denominator); } Инвестор может делегировать свой голос. function delegate(address to) external initialized onlyActive onlyTokenHolder notVoted notDelegator { require(m_token.balanceOf(to) >0); // finding final delegate in the chain addressdelegate = getDelegate(to); // breaking loops require(delegate != msg.sender); // transfer accumulated DelegateState storage senderDelegateState = getDelegateState(msg.sender); uint senderTotalVotes = senderDelegateState.votesAccumulated.add(m_token.balanceOf(msg.sender)); senderDelegateState.votesAccumulated = 0; getDelegateState(delegate).votesAccumulated = getDelegateState(delegate).votesAccumulated.add(senderTotalVotes); addVotingTokens(delegate, senderTotalVotes); // mark sender as a delegator getDelegatorState(msg.sender).delegate = delegate; }
(ссылка на код продукта на github: https://github.com/ICOplate/icoplate-fund-prototype)