Моя реализация инструмента для высокорискованных инвестиций

    Прежде всего, хочу выразить благодарность хабрахабру за бесплатно предоставленный корпоративный блог.



    В статье описан инструмент, который я разрабатывал на протяжении 3-х лет и, наконец, выложил на github весной 2014 года. При помощи него можно как заработать деньги, так и потерять их. Будут рассмотрены все риски, а также разобрана схема работы инструмента.
    Ставить исходники на свой сервер теперь не обязательно, можно пользоваться чужими нодами, просто введя их адрес в адресной строке браузера.

    Введение


    Инструмент представляет из себя набор исходных кодов, которые ставятся на компьютер пользователя и по заложенному в них алгоритму взаимодействуют с компьютерами других пользователей. Называется инструмент Dcoin. Чтобы статья не получилось слишком большой, вместо пояснений, я буду давать ссылки на wiki.

    О Dcoin


    Тут моя предыдущая статья на хабре про Dcoin.
    В Dcoin нет центральных серверов, также как в bitcoin у каждой ноды хранится полная копия базы данных. Обмен новыми данными между нодами происходит при помощи блоков. Каждый блок содержит хэш предыдущего блока. Каждая транзакция от пользователя содержит подпись, которая доказывает, что транзакция именно от этого пользователя.


    В отличие от биткоина, в Dcoin не один, а 66 тип различных транзакций, благодаря которым Dcoin может существовать в том виде, в котором он представлен.

    Пример структуры транзакции
    Поле Описание Размер
    TYPE Тип транзакции 1 байт
    TIME Время транзакции 4 байта
    USER_ID ID пользователя, который создал транзакцию 5 байт
    CURRENCY_ID ID валюты 1-3 байта
    AMOUNT Размер обещанной суммы 1-12 байт
    VIDEO_TYPE youtube,vimeo,youku,null 4-7 байт
    VIDEO_URL_ID ID с видео-хостинга 5-32 байта
    PAYMENT_SYSTEMS_IDS ID платежных систем 1-24 байта
    SIGN От 1 до 3-х подписей (TYPE,TIME,USER_ID,CURRENCY_ID,AMOUNT, VIDEO_TYPE,VIDEO_URL_ID,PAYMENT_SYSTEMS_IDS) от пользователя USER_ID от 128 до 4096 байт
    Заголовок (TYPE,TIME,USER_ID) и SIGN — есть у всех транзакций, а все остальные поля меняются в зависимости от назначения транзакции.

    Структура блока
    Поле Описание Размер
    BLOCK_ID Порядковый номер блока 4 байта
    TIME Время, когда был создан блок 4 байта
    USER_ID ID пользователя, который создал блок 5 байт
    LEVEL Уровень, на котором был майнер в момент создания блока 2 байта
    SIGN Подпись от (TYPE, BLOCK_ID, PREV_BLOCK_HASH, TIME, USER_ID, LEVEL, MRKL_ROOT) сделанная при помощи node-ключа от 128 байта до 512 байт
    TRANSACTIONS Список транзакций До 3Mb
    Как определяется тот, кто будет генерировать и дописывать в blockchain следующий блок
    Все майнеры делятся на уровни. Майнер, который находится на 0-м уровне, т.е. имеет право сгенерировать блок и добавить его в блокчейн раньше всех, определяется вот так:
    $ctx = hexdec(substr($hash, 0, 6));
    $hi = $ctx / 127773;
    $lo = $ctx % 127773;
    $x = 16807 * $lo - 2836 * $hi;
    if ($x <= 0)
    	$x += 0x7fffffff;
    $leve_0_miner_id = (($ctx = $x) % ($max_miner_id + 1));
    $leve_0_miner_id = ($leve_0_miner_id==0)?1:$leve_0_miner_id;
    

    Где $hash — sha256(sha256(user_id,block_id,prev_head_hash))), $max_miner_id — максимальный miner_id из таблицы miners

    Если, например, сейчас на 0-м уровне miner_id 12689, то на 1-м уровне будут майнеры с ID 12690-12691 (2), на 2-м — 12692-126995 (4) и т.д.
    Если майнер на 0-м уровне не смог сгенерировать блок, то в работу включаются ноды 1-го уровня, если и они не смогли, то 2-го и т.д. При этом между уровнями должны быть задержки, которые определены в переменной sleep. Т.е. если sleep->generator[0] = 120, то майнеры с 1-го уровня не смогут дописать в блокчейн свои блоки, пока не пройдет 120 секунд.
    Между майнерами одного уровня происходит поиск блока с наименьшем хэшем, и найденный блок записывается в блокчейн.

    Атака 51%
    Уровни определяются на основе заголовка блока, в котором нет значения, которым можно манипулировать. Это значит, что невозможно сделать так, чтобы на 0-м уровне оказался какой-то конкретный miner_id. Атака 51% возможна в том случае, если злоумышленник захватит 51% приватных ключей майнеров. Если в DC-сети будет 100 000 майнеров, то злоумышленнику нужно будет получить контроль над более чем 50 000 приватными ключами.

    С более детальным описанием работы Dcoin можно ознакомиться в wiki.

    В Dcoin 77 вида валют. Но для удобства в статье будет упоминаться только DUSD.

    Сравнение рисков в Dcoin с рисками игры на бирже криптовалют


    Наиболее близкий к Dcoin по уровню рискованности инструмент — это биржа криптовалют, по-этому их сравнение считаю вполне уместным.

    Возможность кражи денег клиентов владельцем сервиса

    Вероятность потерять свои средства на бирже довольно высока.
    В Dcoin биржа не нужна, т.к. все операции происходят между пользователями напрямую. Хотя и тут риск тоже есть, о нем будет сказано позже, в разделе «Недобросовестный майнер».

    Само слово miner (в переводе шахтер), наверное, не очень подходит для обозначения пользователя с повышенными привилегиями. Но исторически сложилось, что используется miner.

    Возможность появления багов

    Релиз Bitcoin был в январе 2009. Очевидно, что движок bitcoin изучен более основательно, и вероятность, что там есть баг, довольно низка.
    Релиз Dcoin был в апреле 2014, появление багов не исключено.

    Возможность прогнозирования курса

    Предсказать с высокой точностью, куда двинется курс на бирже, можно только обладая инсайдерской информацией, связанной с торгуемой там валютой.
    У Dcoin идет постоянный рост количества монет. Курс всегда 1:1. Но есть риск, что сработает триггер и запустится процесс сокращения объема монет.

    Сколько можно заработать?


    Сотни процентов годовых.

    Как можно потерять деньги при сокращении объема монет



    На графике показан один из возможных вариантов развития событий
    Как получить реальные данные общего объема DUSD и обещанных сумм
    DUSD:
    SELECT SUM(`tdc_amount`) + (SELECT SUM(`amount`) FROM `wallets` WHERE `currency_id` = 72)
    FROM `promised_amount` 
    WHERE `currency_id` = 72
    

    Обещанные USD:
    SELECT sum(`amount`) 
    FROM `wallets` 
    WHERE `currency_id` = 72
    

    По вертикальной оси отображен общесистемный объем, пусть это будут тыс $. По горизонтальной оси — месяцы.
    На графике видно, что на значении 1200 объем обещанных сумм USD сравнялся с объемом DUSD. В этот момент (точнее, тогда, когда объем обещанных сумм стал меньше объема DUSD) срабатывает триггер и происходит сокращение DUSD на 10%. Если ситуация не меняется, через 2-е суток происходит еще одно сокращение на 10%, и так до тех пор, пока объем обещанных сумм не станет больше объема DUSD. На графике сокращение прекратилось, только когда объем DUSD уменьшился в 2 раза.
    Те, кто отдал свои наличные за DUSD в 8-м месяце, в 9-м месяце получили потери -50%. Им остается либо ждать, пока DUSD снова вырастут, либо фиксировать убыток и выходить из игры.
    Ну а те, кто купил DUSD, например, в 3-м месяце, а продали до наступления сокращения — получили сотни % прибыли.

    Что может спровоцировать пересечение красной линии с синей?


    — Слишком многие решили избавиться от DUSD
    Если на бирже это приводит к падению курса валюты, то в Dcoin происходит сокращение количества монет.
    — Слишком сильный рост количества DUSD.
    Теоретически, это можно контролировать уменьшением % роста DUSD. Но практически это сделать не так просто, т.к. % роста устанавливается путем голосования майнеров.

    О сокращении


    Как возникает процесс сокращения, мы разобрались. Теперь рассмотрим, что происходит, когда этот процесс начался.
    Новые запросы на обмен DUSD на наличные уменьшают объем обещанных сумм. При сокращении объема DUSD желающих отдать свои наличные за DUSD будет немного.
    Представьте, что Вы видите такую статистику:
    Объем DUSD 950 тыс
    Объем обещанных сумм 900 тыс
    Выполненных запросов на обмен 6%
    Ваш баланс: 100 DUSD
    Сокращение в ближайшие 48 часов, скорее всего, будет. Удовлетворять входящие запросы Вы, скорее всего, не станете.
    Далее, нужно принять решение, слать ли самому запрос другому майнеру, чтобы обменять свои DUSD на $. При этом, если смотреть на общесистемную статистику, вероятность, что он его выполнит, всего 6%. И самое важное: если Вы отправите такой запрос, Вы усугубите ситуацию по всей системе, и сокращение будет продолжаться, т.к. невыполненные запросы на обмен обещанных суммы уменьшают общий объем обещанных сумм в системе. Когда большинство перестанет слать запросы на обмен своих DUSD на $, сокращение остановится. Те, кто отказались менять свои $ на DUSD, раз в 2 недели могут актуализировать свои обещанные суммы, и они снова станут учитываться в общесистемной статистике.

    Как еще можно потерять деньги в Dcoin


    Допустим, Вы прошли регистрацию, стали майнером, добавили обещанную сумму 100$, Вам уже набежало какое-то количество монет, возможно, Вы их уже обменяли на наличные у какого-то майнера. Пока риски были равны нулю.

    Фейковый запрос

    И вдруг Вам приходит запрос, согласно которому, Вы должны отдать 100$ за 100 DUSD.
    Если Вы не ставили исходники к себе, а воспользовались пулом, то есть риск, что это фейковый запрос, который сделал админ пула. Чтобы убедиться, что запрос реальный, нужно поставить исходники к себе на компьютер и получить этот же запрос уже на основе данных из Вашей локальной базы данных.

    Боты

    Есть риск, что каким-то образом в Dcoin проникли миллионы ботов-майнеров, которые намайнили монет и теперь выводят их. Нужно исключить этот вариант.
    Можно просто почитать независимые источники, нет ли сообщений о том, что у Dcoin что-то не в порядке. Или можно провести свое расследование. Тут можно скачать свежий архив фото и видео всех майнеров. Разумеется, более надежным будет собрать самостоятельно такой архив, распарсив таблицу miners_data и скачав фото и видео всех майнеров. Имеющийся архив можно либо выборочно проверить, либо прогнать через какой-нибудь софт, который ищет одинаковые лица. Почему невозможно подделать видео, можно почитать тут.

    Недобросовестный майнер

    Остается риск, что отдав 100$, Вы не получите 100 DUSD. Т.е. Вы получили запрос, связались с отправителем запроса, он указал номер счета, например, в яндекс-деньгах, Вы отправили ему 100$, а он, получив деньги, перестал отвечать.
    Самый надежный способ — это обмен наличных на dcoin при личной встрече. Для этого в Dcoin используются одноразовые коды. Вы отдаете деньги, а получаете взамен код, хэш которого Вам уже известен. Таким образом, даже если в месте встрече нет интернета, можно легко вычислить sha256(sha256(«код»)), и если он сходится с Вашим хэшем, значит всё в порядке, и когда появится интернет, нужно будет просто указать код у себя в кабинете.
    Но если сумма небольшая и у майнера нет отрицательных отзывов, то можно рискнуть и провести сделку без личной встречи.

    Подробнее про сотни процентов годовых


    Есть 2 типа аккаунтов: Майнерские и пользовательские.
    Большую часть времени количество монет у всех растет.
    Майнеры путем голосования устанавливают % и для майнеров, и для пользователей. Для майнеров это может быть от 0 до 1000%/год, для пользователей — от 0 до 500%/год.

    Майнеры могут создавать монеты из ничего. Т.е. майнер может создать, например, 100 DUSD, не потратив при этом ни цента. Для этого майнер должен пообещать отдать какую-то сумму $ за DUSD. Максимальная сумма — 1000$. Майнерский % относится именно к этой сумме. Т.е. при 1000% годовых от 100$ через месяц будет создано 22 DUSD. Когда майнер хочет обменять набежавшие DUSD на $, он шлет запрос ближайшему майнеру, у которого есть нужная обещанная сумма. При обмене курс всегда 1:1.

    Пользовательских аккаунтов можно иметь неограниченное количество, они полностью анонимны, у них нет лимитов, но и нет возможности добавлять обещанную сумму, т.е. создавать монеты из ничего. Пользователь может купить DUSD на бирже (точнее, пока что не может, т.к. dcoin еще нет на биржах). DUSD, которые лежат у пользователей, растут от 0 до 500% в год.

    Сокращаются монеты одинаково как у майнеров, так и у пользователей.

    Прогнозы


    Благодаря тому, что все данные хранятся в блокчейне, любой желающий может создать свой сервис с графиками, статистикой и на их основе делать свои прогнозы, когда произойдет сокращение объема монет.

    Dcoin в электронной коммерции


    Если Dcoin станет популярен и его монеты можно будет купить и продать на биржах, то для продавцов товаров и услуг прием Dcoin мало чем будет отличаться от приема bitcoin: получил оплату, продал на бирже, получил наличные.

    Монетизация


    Временно не активна. В будущем будет браться комиссия с тех монет, которые переводятся с обещанной суммы на кошелек. Премайна нет.

    Заключение


    Не стоит рассматривать Dcoin как инструмент для серьезных инвестиций. Должно пройти больше времени и должно набраться больше статистики. Но для экспериментов с очень мелкими суммами Dcoin уже созрел.

    Попробовать
    Dсoin
    Company
    Ads
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More

    Comments 22

      0
      Есть мнение, что в списке валют не хватает Bitcoin. Как думаете, нужно добавить?
        0
        Мне кажется, в самом начале не стоит размазывать инвестиции на такое количество валют. Достаточно было бы DUSD, DEUR, DRUB, DCNY — как самые популярные сейчас на всех криптовалютных биржах. Из криптовалют — можно добавить несколько стабильных форков.
      +1
      Как стать майнером?
        0
        Вначале нужно стать анонимным пользователем, затем — сделать апгрейд до майнера, отправив транзакцию new_miner в Dcoin-сеть. В интерфейсе этот процесс разбит на 6 шагов. В меню «Майнинг» -> «Апгрейд до майнера»
        +6
        Похоже на пирамиду.
          +2
          это и есть пирамида, как и биткоин :)
          но с правилами и технической регуляцией, которая гарантирует отсутствие 100% заработка для всех пока вершина не уйдёт из сети.
          + отсутствие как таковой «вершины».
          +2
          По моему скромному мнению в самом начале статьи сильно не хватает описания «для обычных людей» что за инструмент тут описывается, какие существующие проблемы он решает или преимущества дает. А то описывается некий «инструмент, который работает на компьютере пользователей, взаимодействуя с другими компьютерами пользователей» с блокчейном, монетами, берущимися из обещаний майнеров, которые нужно проверять в ручном режиме или «какими-то» алгоритмами… При этом описывается куча вариантов как можно потерять деньги с этим инструментом…
          +2
          open source distributed МММ geek edition
            0
            Зарегистрировался, чтобы посмотреть, как это устроено своими глазами:

            Попытался использовать систему, как пользователь:
            — Во вкладке «Мои кошельки» нет ни одного кошелька, ни возможности их создать или пополнить. Не понял почему? Возможно ещё не реализовано?
            — Для всех остальных действий, похоже надо быть «майнером»

            Попытался зарегистрироваться как майнер:
            — Некоторое время заявка висит в статусе «в процессе», после чего «Статус: Ошибка. Запрос не отправлен»
            — Натыкался на всякие мелкие недоработки типа «Через Internet Explorer 10 фотки не залить — обрезка работает некорректно»

            Вердикт:
            — на данный момент всё очень сыро (понимаю, что v.0.0.4b1 — версия ещё очень ранняя, но всё же)
            — система слишком сложна, у сложной системы с кучей настроек, на мой взгляд меньше шансов выжить и стать популярной, чем у простой (да и сложнее такую систему отполировать до блеска)
            — нет простой инструкции для пользователя (раз — зарегался, два — пополнил счёт, три — оплатил/перевёл на другой счёт)

            PS. Не верю, что у системы получится стать популярной, но всё-таки желаю автору, чтобы всё получилось! (я и в bitcoin 5 лет назад не верил)
              0
              Спасибо за детальный коммент.
              Полностью с Вами согласен, интерфейс пока еще сырой. Хотя все шаги по регистрации тестировал сам неоднократно.
              Данная статья, как раз, преследует цель — получить обратную связь об интерфейсе.
              Инструкцию для пользователей обязательно напишу.

              Кошелек пополнить можно только получив перевод на какое-то кол-во Dcoin от другого пользователя или майнера. В будущем, если Dcoin станет популярен, монеты можно будет купить на бирже. Тут всё как у bitcoin.
                0
                Уточнение про пополнение кошелька. Майнеры могут пополнять кошелек при помощи перевода Dcoin с обещанных сумм.
              0
              Интересная штука, большая работа проделана и я надеюсь что социальная составляющая продумана не хуже, но тут есть сомнения…
              Конечно это несколько напрягает, но если вспомнить МММ 2011 и последующие, так там вообще трэшь, угар и содомия, но это работало!
                +2
                Хотел бы задать ещё парочку вопросов:

                1) Как часто генерируется новый блок? Я так понял если все ноды, которы будут оказываться на 0-м уровне, будут генерировать блок сразу, то может быть хоть 100500 блоков в секунду?
                2) Как часто майнерам начисляется майнерский процент и пользователям пользовательский процент? С каждым новым блоком?
                3) Делим ли DCoin? То есть какая минимальная единица валюты (0.00000001 как у bitcoin'а)?
                4) Есть-ли какая-либо защита от «спама» транзакциями? Что будет если я решу сделать 100000 переводов по 0,00001 DCoin'у? Все попадут в базу?
                5) Есть-ли защита от двойной траты? Если к двум нодам попадут транзакции на макс. сумму, но с разными получателями, то победит та транзакция, которая будет первой включена в новый блок, а остальные ноды должны будут синхронизироваться с нодой, сгенерировшей блок?
                6) Что будет, если при генерации нового блока нода 0-го уровня не сгенерирует новый блок (например будет выключена), потом придёт нода 1-го уровня и сгенерирует блок, а потом (например через день) нода 0-го уровня включится и сгенерирует новый блок на основе старой базы (со старым временем) — все транзакции за день станут невалидными и будут отброшены? Если нет, то почему? Потому что цепочка, начинающаяся с блока, сгенерированного нодой 1-го уровня, будет длиннее?
                7) И самый главный вопрос: Dcoin уже сейчас можно пытаться использовать? База не будет сброшена, после того, как выйдет Dcoin v1.0?
                  0
                  >> 1) Как часто генерируется новый блок? Я так понял если все ноды, которы будут оказываться на 0-м уровне, будут генерировать блок сразу, то может быть хоть 100500 блоков в секунду?

                  Есть время сна, которое определяется в sleep->generator. Начинается с 0-го уровня. Т.е. должно пройти минимум sleep->generator[0] секунд между блоками, которые сгенерированы на 0-м уровне. На следующих уровнях время из sleep->generator суммируется. Если кто-то сгенерирует блок раньше этого времени, то он просто будет отвергнут нодами. Кстати, в wiki данный момент был некорректно описан, сейчас поправлю.

                  >> 2) Как часто майнерам начисляется майнерский процент и пользователям пользовательский процент? С каждым новым блоком?

                  Начисляется ежесекундно, но виртуально, т.е. в базу данных не пишется до тех пор, пока не делается какой-либо перевод, иначе это было бы совсем немасштабируемым. Например, транзакция send_dc вызывает пересчет монет с учетом процентов у отправителя и получателя.

                  >> 3) Делим ли DCoin? То есть какая минимальная единица валюты (0.00000001 как у bitcoin'а)?

                  Делим как обычные валюты, т.е. до 0.01, делать меньше нет смысла, т.к. курс 1:1 к нац. валютам.

                  >> 4) Есть-ли какая-либо защита от «спама» транзакциями? Что будет если я решу сделать 100000 переводов по 0,00001 DCoin'у? Все попадут в базу?

                  Защита, конечно же, есть. Для каждой транзакции есть лимиты, все они перечислены тут. Для транзакции перевода средств лимитов нет, но зато есть лимит на кол-во транзакций от одного пользователя в одном блоке, сейчас это 300.

                  >> 5) Есть-ли защита от двойной траты? Если к двум нодам попадут транзакции на макс. сумму, но с разными получателями, то победит та транзакция, которая будет первой включена в новый блок, а остальные ноды должны будут синхронизироваться с нодой, сгенерировшей блок?

                  Для этого есть wallets_buffer, где суммируются все списания, которые еще не в блоке. И сам метод, который отвечает за предотвращение двойной траты, — тут.

                  >> 6) Что будет, если при генерации нового блока нода 0-го уровня не сгенерирует новый блок (например будет выключена), потом придёт нода 1-го уровня и сгенерирует блок, а потом (например через день) нода 0-го уровня включится и сгенерирует новый блок на основе старой базы (со старым временем) — все транзакции за день станут невалидными и будут отброшены? Если нет, то почему? Потому что цепочка, начинающаяся с блока, сгенерированного нодой 1-го уровня, будет длиннее?

                  Да, верно, побеждает более длинная цепочка. Нода, которая сгенерирует блок через день, просто не сможет его никуда «протолкнуть», т.к. у всех уже будут новые блоки с бОльшим ID.

                  >> 7) И самый главный вопрос: Dcoin уже сейчас можно пытаться использовать? База не будет сброшена, после того, как выйдет Dcoin v1.0?

                  Использовать можно, база сброшена не будет.
                    +1
                    Спасибо за развёрнутый ответ!
                    Пойду, поэкспериментирую с системой.
                      0
                      Потихоньку экспериментирую с системой. Возникла пара вопросов:

                      1) У меня получилось так:

                      15.07 получил статус: miner
                      17.07 смена статуса из-за баллов, статус: user


                      Это несколько странно и нелогично, т.к. за 2 дня было невозможно было набрать необходимые 10 баллов — не было столько голосований. Статус пересчитывается раз в месяц каждое 17 число или для каждого пользователя по-своему?

                      2) Также возник вопрос по поводу начислений: дело в том что «фактический майнерский процент» не совпадает сейчас ни с майнерским процентом, ни с пользовательским процентом и составляет сейчас по моим расчётам:

                      Майнинг WOC: 138% (Должно быть 600% или 295%)
                      Майнинг USD: 179% (Должно быть 1000% или 490%)


                      То есть актуальные проценты и близко не похожи на заявленные. Более того, даже соотношение ActualMinerUSD%/ActualMinerWOC% не похоже на MinerUSD%/MinerWOC% или UserUSD%/UserWOC%.
                        0
                        1) 17.07 смена статуса из-за баллов, статус: user — это данные из таблицы points_status. Она обновляется методом points_update_main(), который вызывается при обработке транзакций send_dc, change_geolocation, cash_request_out, cash_request_in, new_forex_order, change_promised_amount, mining, admin_ban_miners, admin_unban_miners.
                        17.07 Вы отправили одну из перечисленных транзакций и произошел пересчет баллов. Т.к. баллов для получения статуса miner было недостаточно, был присвоен статус 'user'. Пересчет баллов происходит раз в месяц.
                        Получается, что все новые майнеры первый месяц будут иметь статус 'user'. Надо будет про это где-то написать, а то Вы не первый на это обратили внимание :)

                        2) У Вас 1000 WOC появились в 1405582359. Сейчас 1405945856. Т.е. прошло 363497 секунды.
                        295%/год = 0.00000435602%/сек.
                        (pow(1+0.0000000435602, 363497)-1)*1000 = 15.96002372475 DWOC
                    0
                    1) Ясно, да упоминание в FAQ не помешает

                    2) Спасибо, разобрался, это моя ошибка, я думал надо считать «в лоб», т.е.
                    295% в год = (100%+295%) / 365 / 24 / 60 / 60 = 0,0000125254% в секунду
                    Если при расчётах учитывалась бы только обещанная сумма, то такая формула прокатила бы — была бы линейная зависимость (каждый день бы прибавлялось по 1,08% от обещанной суммы). Но так как учитывается «обещанная сумма» + «капитализация процентов по обещанной сумме», то подходит только экспоненциальная формула.

                    Кстати, ради любопытства посчитал сколько выйдет, если майнить DUSD с текущими процентами (1000%) при обещанной сумме 1000USD за 11 лет:
                    — По Вашей формуле: 290991000000000 DUSD (2,90991E+14)
                    — По линейной формуле: 111082 DUSD

                    Кстати, если для всех математических операций используется обычный float в PHP, то после такого 11-летнего майнинга получится «бездонный кошелёк»: :)

                    Проверка:
                    <?php print 2.90991E+14 === (2.90991E+14-0.01); ?>
                    Output: 1
                      0
                      2,90991E+14 DUSD не получится, т.к. чтобы это было возможным, должно быть обещанных $ на сумму более 2,90991E+14.
                      Объем Dcoin саморегулируется. За 1 год Вы можете из 1000$ получить 10000 DUSD. Но при этом, если сокращения будут продолжаться в течение 2-х месяцев (30 сокращений подряд на 10%), то у Вас останется 423,9 DUSD.

                    Only users with full accounts can post comments. Log in, please.