- без премайнинга
- open source
- встроенный аналог localbitcoins.com
- полная децентрализация и распределенность
Майнинг сделан таким образом, чтобы исключить возможность появления промышленного майнинга.
Один майнер - это 1 живой человек. Чтобы майнить, нужно просто иметь камеру и компьютер. Вам нужно будет доказать, что Вы - человек, сняв видео себя и своей комнаты.
В основе Dcoin лежит утверждение о невозможности создания 3d видео рендеринга человека и мира вокруг него с соблюдением всех условий:
- Затраты на создание должны окупиться прибылью от майнинга
- Строгое соблюдение условий сюжета. Например, может потребоваться снять видео, где Вы находитесь на улице
- Абсолютная реалистичность
- Уникальность
- Масштабируемость, т.е. размножить предыдущие 4 пункта до промышленных масштабов
Это означает, что видео-проверка будет гарантировать, что 1 майнер = 1 человек.
Суть майнинга в 2-х словахИзначально в системе 0 DC всех валют. Премайнинга нет.
Если Вы готовы купить, например 1000 DUSD за 1000 USD, Вы объявляете об этом DC-сети. Если кто-то рядом с Вами решил продать свои DUSD за USD, то вам придет уведомление.
Пока Вы ждете, что Вам придет заявка на обмен, Вы получаете бонусы в виде DUSD. Если, например, для DUSD стоит 10%/год, то значит через год ожидания у Вас накопится 100 DUSD, которые Вы сможете обменять на USD у ближайшего к Вам майнера.
(Личная встреча при обмене DC-монет на фиат нужна чтобы исключить возможность мошенничества)
Колебания курсаМайнеры могут удерживать курс возле 1:1 при помощи 4-х инструментов:
1. увеличения % роста денежной массы
2. уменьшение денежной массы
3. изменение максимального значения обещанной суммы
4. разрешение или запрет на комбинирование валют
Всё это определяется путем голосования с пересчетом каждые 2 недели.
(Все 4 инструмента становятся доступны для валюты только после того, как она она появится в обещанной сумме минимум у 100-1000 майнеров и будет там минимум 1-3 месяца. До этого момента действуют значения, выставленные по умолчанию.)
Эмиссия денежной массыОт 0 до 1000%/год от обещанной суммы или от суммы DC на счету.
За какой % проголосует больше всего майнеров, такой и будет. Голосовать можно раз в 2 недели.
У каждой валюты свой % роста.
DC могут размножаться не только у майнеров, но и у простых пользователей. % роста DC на счетах простых пользователей устанавливается майнерами путем голосования. От 0 до 1000%/год. Размер суммы, которая может находиться на юзерском счете, не лимитируется.
% роста у юзеров должен быть меньше, чем у майнеров, иначе быть майнером мало кто захочет.
Юзерский % нужен для того, чтобы валюту могли купить инвесторы, которым иметь доход с майнерской суммы недостаточно или тех, кто не может быть майнером данной валюты по гео-локационным причинам.
Уменьшение денежной массыЕсли >50% майнеров данной валюты проголосуют за уменьшение, то вся денежная масса по данной валюте будет уменьшена на 10/25/50 или 90%.
МайнингВ зависимости от размера обещанной суммы и % роста данной валюты, по ней набегают DC, которые в любой момент можно перевести на кошелек (где они уже будут расти не с майнерским, а с юзерским процентом). В момент перевода намайненной суммы на кошелек взымается комиссия 5% в пользу системы.
Комбинирование валютКаждая валюта может майниться с каким-то числом других валют. Это число определяют майнеры данной валюты путем голосования.
Географические и национальные ограниченияВозможно, большинство майнеров будет против того, чтобы майнинг их нац. валюты происходил где-то за пределами их страны или валютного союза.
При добавлении какой-либо валюты, Вам нужно будет записать видео, в котором вы будете говорить на своем нац. языке, что-то вроде "Я обещаю отдать 100 норвежских крон за 100 DNOK". Далее, нужно будет указать страну и отметить точку на карте. Ваш запрос должны будут утвердить 100 майнеров, у которых майнится Норвежская крона.
Привилегии админаАдмин может разжаловать майнера в простого юзера. Что-либо сделать с юзерским аккаунтом админ не может.
Админ не может разжаловать майнера если на данного майнера не было жалоб.
Кого либо или что-либо удалить админ не может.
Действия админа не могут нанести какой-либо финансовый ущерб пользователю DC-сети, т.к. доступа к DC монетам он не имеет.
Пока в сети зарегистрировано менее 1000 майнеров, админ имеет право решающего голоса при голосовании за новых майнеров и обещанные суммы.
Админ имеет возможность менять переменные в таблице variables. В будущем эти переменные планируется сделать константами.
Админ может выводить алерты внутри интерфейса, например, сообщая, что нужно обновиться.
DC-сеть может существовать и без вмешательства со стороны админа, но с вмешательством её функционирование будет чуть более организованным.
МестоположениеМайнером можно стать только находясь в крупном городе. Иначе теряется смысл самого майнинга. Хотя решение о том, разрешить майнить или нет в конкретном месте, принимают майнеры, у которых майнится эта же валюта.
Обмен DC на наличныеОбменять DC на наличные могут только майнеры у других майнеров.
Получатель запроса после передачи наличных должен ввести код, который ему передает тот, кто отправил запрос.
Курс всегда 1:1 т.е. за 1000 DUSD можно получить ровно 1000 USD
Отказ отдать обещанную суммуЗа отказ отдать обещанную сумму за DC при поступлении соответствующего запроса от другого майнера вся обещанная сумма на Вашем аккаунте становятся недоступной для майнинга. DC на них перестают расти. Чтобы разморозить обещанную сумму и восстановить майнинг, Вам нужно, чтобы кто-то отправил Вам запрос на всю сумму, тогда после ввода кода вся сумма получит статус "repaid" и её можно будет перевести на кошелек.
На DC и на погашенную обещанную сумму отказ никак не влияет.
Разжалование майнера в юзерыВ этом случае обещанная сумма получает статус "hold".
У погашенной обещанной суммы только меняется % роста на юзерский.
На DC, находящиеся на кошельках разжалование не влияет.
Все намайненные DC можно в любой момент перевести на кошелек.
Обязанности майнераМайнер обязан держать свой нод 24 часа в сутки включенным и с актуальными данными. В любой момент готовый сгенерировать блок.
Актуальность таблиц будет проверяться путем запроса записей из таблиц (скрипт check_node.php)
Если нод часто пропадает из сети, то может быть разжалован из майнеров.
Майнер должен держать в сети свое регистрационное видео минимум 30 дней после успешного прохождения голосования. Это нужно, для ручной проверки подозрительных акканутов. Если видео будет не доступно, то майнер будет разжалован.
Можно быть майнером, иметь активную ноду, но при этом по обещанной сумме будет не майнеркий, а юзерский % роста. Это происходит у пассивных майнеров.
Чтобы получать майнерский %, необходимо выполнять задания по проверке других майнеров.
Результатом каждого задания является Ваш голос - за или против.
В зависимости от типа задания Вам начисляются баллы.
Каждые 30 дней идет пересчет баллов, который влечет за собой сохранение или смену статуса аккаунта.
Также, обязательным условием является голосование не реже 1 раза в 4 недели за параметры валют.
КомиссияКаждый майнер сам устанавливает размер комиссии для каждой валюты на своем ноде. Комиссия начисляется, если Ваш нод сгенерировал блок.
Я не рекомендую ставить 0 комиссию, т.к. это может спровоцировать dos-атаку на сеть путем генерации огромного количества транзакций.
ПулыОбъединяться в пулы будет разрешено, когда БД будет большой и домашнего ПК или vds будет недостаточно для быстрой обработки данных.
Допустимое количество майнеров на 1 сервер будет меняться по мере роста сети.
Например, запрещено размещать на 1 сервер 10000 майнеров, в то время, когда 200 человек могут позволить арендовать необходимое железо скинувшись по 10$/мес.
За большие пулы будут массовые разжалования из майнеров в юзеры.
В будущем объединение в небольшие пулы решит проблему хранения многотерабайтной цепочки блоков с сохранением децентрализации.
Защита от хищения праймари ключаВы можете прикрепить к аккаунту до 3-х ключей. Это значит, что для принятия DC-сетью любой Вашей транзакции будет требоваться 3 подписи.
Один ключ Вы можете хранить у себя, два других, например, на каких-нибудь сторонних сервисах, которые будут подписывать Ваши транзакции, только если Вы введете смс-код.
Встроенная валютная биржаКомиссия указывается при создании ордера и может быть равна 0. Чем больше комиссия, тем быстрее ордер попадет в DC-сеть. Комиссия взымается нодом-генератором блока в момент создания ордера. Т.е. даже если ордер не будет выполнен, комиссия всё равно уйдет ноду-генератору. Это защита от дос-атаки путем генерации большого количества ордеров.
Тысячи админов вместо одногоПока не реализовано, но скоро будет. Будут выбраны несколько тысяч случайных программистов со всего мира. Каждый из них получит ключ. И любые транзакции от админа должны будут собрать >50% голосов этих программистов, чтобы пройти в DC-сеть. И каждый из них также сможет отправить админскую транзакцию в DC-сеть, если соберет >50% голосов. Т.е. будет несколько тысяч одноранговых админов вместо одного.
Регистрация новых пользователейРегистрировать новых юзеров могут только майнеры вручную. Лимит - 2 новых юзера в месяц.
Bug reportingБольшая просьба, баг-репорты шлите через специальную форму в DCoin: "Остальное"->"Bug reporting"
Про баги в верстке, синхронизации таблиц my_ с общими данными можете пока не писать, это мелочи, которые будут постепенно исправляться.
Тем, кто сообщит о критических багах, способным сломать DC-сеть, позже будет начислено вознаграждение в виде DUSD (когда они появятся у меня за счет сбора комиссий). На случай перезапуска цепочки блоков шлите какой-то свой идентификатор, например email, чтобы я мог потом идентифицировать Вас.
РегистрацияПриватные ключи к 100 аккаунтам. Не забывайте сразу сменить ключ.
Проверить ключ на занятость можно, например, тут:
http://82.146.32.239/dc/tools/check_private_key.phpPHP-исходникиЯ понимаю, что php не самый оптимальный язык для такого проекта, но мне было проще писать именно на нем. Пусть и с костылями, но всё получилось и оно работает.
Пока только x86. Если нужно запустить под win, то используйте
http://winginx.com, с апачем были проблемы.
Комменты в коде писал чисто для себя...с ошибками, позже поправлю и переведу на англ.
В конфигах нужно поправить:
my.cnf:
max_allowed_packet=10m
local-infile=1
php.ini: memory_limit = 256M
Если для тестов Вам нужно будет несколько майнерских аккаунтов, а лицо есть только одно, то делайте аккаунты-клоны. Но обязательно укажите на фото ID основного аккауна. После тестов просто напишите жалобу на свои аккаунты-клоны и я их переведу в юзерские.
КомандаДля разработки open-source приложения на C++ нужна команда. З.П. в DC (когда они у меня появятся), хотя если будет много донейтов, то не исключено, что смогу платить в BTC
DonationsBTC: 1KGLphxEygnwGAK6NCAYF4MJTQpUVYSJdN