Наброски идеальной криптовалюты
Справедливая система майнинга, автооптимизация блокчейна, и сжигание монет на неактивных адресах.
Справедливая система майнингаГолый POS, на 100 лет вперёд, с регулируемой персонально сложностью майнинга.
Чтобы по потребностям начислялись монеты (или облегчалась-усложнялась возможность их майнинга),
и чтобы было наиболее равномерное распределение монет от майнинга - как у биткоина,
чтобы они не концентрировались в руках корпораций всяких, админов скамных недобирж, и прочих жадных негодяев.
Почему POS? А чтобы электричество не палить даром.
И важно ещё то, чтобы любой, АБСОЛЮТНО ЛЮБОЙ человек, мог просто скачать кошелёк, и начать майнить.
Также, как майнился на процессоре BITCOIN. То есть, чтобы там был solo-mining.
То есть такой POS, чтобы не требовался баланс для майнинга, но чтобы при наличии баланса,
майнинг либо облегчался, либо процент какой-то больший был, ну чтобы интересно было держать, изучать, и пользоваться монетой.
А то
намайнят, сольют и забудут за неё нафиг.
Например, сеть может требовать определённое количество цифровых подписей в секунду,
тогда компьютер, в процессе solo-mining'a может иметь некий sign-rate, или key-rate (так как
подпись требует ключей).
И если необходимое количество подписей в секунду - имеется,
то майнеру даётся возможность сгенерировать POS-блок - без баланса на кошельке.
Это некий аналог POW-майнинга, но всё-же это не POW.
В POW - считаются хэши для блоков и подбирается nonce...
Но прежде чем реализовывать - надо бы обдумать это всё так,
чтобы нельзя было взять, на одном компьютере,
и запустить миллиард кошельков, под видом миллиарда реальных клиентов-майнеров.
Должна быть какая-то защита от мультов. И лучше, чтобы она была мультиалгоритмической.
Есть пример мультиалго майнинга - например,
binarium.
Там алгоритмы меняются, в процессе майнинга:
Бинариум – первая защищённая от ASIC криптовалюта. Ее защита создана с помощью конфигурируемого хэширующего алгоритма (с использованием различных хэширующих и шифрующих подфункций), который перестраивается раз в неделю или в случае изменения сложности генерации блоков. Это делает дорогими покупку ASIC для каждой подфункции и их переконфигурацию в соответствии с текущим состоянием алгоритма. Он также использует амплификацию данных с помощью быстрой поточной шифрующей функции Salsa20[9], это делает хэширование зависимым от размеров оперативной памяти и кэшей и скорости произвольного доступа к данным. Что ещё больше увеличивает стоимость создания ASIC для такой криптовалюты и уменьшает эффективность GPU в майнинге, так как их видеопамять больше подходит для конвеерных передач больших объёмов данных, вместо скорости произвольных доступов к ней, и так как их кэш используется несколькими ядрами одновременно и часть из него доступна только для чтения. При этом каждый поток, вычисляющий хэши блоков Бинариума, должен обладать своей областью памяти для записи данных, так как процессы вычисления и промежуточная информация зависят от начальных данных рассматриваемого блока. Главной особенностью, защищающей криптовалюту от ASIC, является возможность менять хэширующие функции после широкого применения Бинариума, сохраняя при этом его текущий консенсус.
Довольно интересная технология, но как монета -
она уже всё, протухла...
Да, и ещё... Для POS - нужна нода, и она должна быть онлайн.
Поэтому, можно было бы реализовать оффлайн-POS-майнинг, без ноды, то есть
Leasing POS, как у WAVES.
Но для лизинга - нужны монеты. И если их нет - то нечего давать в лизинг, а майнить-то - хочется...
Поэтому, можно было бы дать в Leasing - ВНЕЗАПНО, НОЛЬ. И подписать этот ноль - цифровой подписью.
Тогда, на ЭТОТ ПОДПИСАННЫЙ НОЛЬ, нода могла бы что-то намайнить, и начислить клиенту.
Опять же, в таком случае - должна быть защита от мультиаккаунтов.
Например, для майнинга нодой клиенту - на ЕГО ПОДПИСАННЫЙ НОЛЬ,
от клиента этого, на ноду эту - может, в течении месяца, поступать стабильно некий sign-rate,
в виде необходимого количества подписей в секунду, как на майнинговый пул.
Но это бесполезные вычисления, как и поиск nonce, и перерасчёт хэшей, в процессе майнинга POW,
и да, вычисления эти - они требуют также и затрат электроэнергии...
Поэтому, ещё лучше, пусть клиент
вычисляет протеины, производит
фолдинг белка,
или выполняет задания
научно-исследовательских проектов в сетях распределённых вычислений BOINC.
То есть считает что-то более полезное.
Ну, или хотя-бы просто вводит раз в час какую-то каптчу, чтобы доказать что он не бот,
и чтобы миллиард ПОДПИСАННЫХ НУЛЕЙ, не сунули на какую-либо ноду, в лизинг - с одного компа,
через ботовский скрипт автолизинга подисанных нулей, лол.
Автооптимизация блокчейна.С момента генерации N-ного блока в mainnet'e, с нулевого GENESIS-блока, по N-ный,
весь блокчейн жмётся в архив, или bootstrap, а файл архива - закидывается в torrent,
в какой-либо датацентр, или оптимально располагается на хранение - в децентрализованной сети.
Из этого файла, архива или bootstrap.dat - вычисляется хэш.
Этот хэш записывается в самый первый GENESIS-блок нового блокчейна.
Также, хэш может быть добавлен
к magnet-ссылке,
если файл был залит в torrent.
Дальше, старый блокчейн - парсится.
Извлекаются все адреса с неизрасходованными выходами, и количество монет на них.
В GENESIS-блок нового блокчейна, и последующие несколько блоков - записываются транзакции ГЕНЕРАЦИИ МОНЕТ,
на адреса прежних владельцев, в количестве равном количеству на их неизрасходованных выходах.
С последнего блока - можно продолжать майнинг, включая туда новые транзакции.
Монеты пользователей - в целости и сохранности. Пропала лишь история транзакций, с возможностью её восстановить.
Было: старый длинный блокчейн, с кучей старых транзакций, и монетами пользователей на неизрасходованных выходах, и долгая синхронизация между нодами.
Стало: короткий блокчейн, без старых транзакций, с теми же монетами пользователей на неизрасходованных выходах,
плюс ссылка на закачку старого блокчейна, с возможностью вытаскивания старой истории транзакций после его парсинга,
и быстрая синхронизация.
Регулярная автооптимизация блокчейна с проверкой всех хэшей - могла бы сделать его вечным,
притом что средства ВСЕХ предыдущих владельцев оставались бы в целости и сохранности после таких авто-оптимизаций.
сжигание монет на неактивных адресахС последним, можно немного поспорить (сохранность средств ВСЕХ предыдущих владельцев).
Допустим, владелец утерял ключ или умер. Монетам - хана и кранты. Они никогда не вернутся в систему.
А майнерам - надо награду за блок. Трейдеры тоже хотят монетки прикупить... Но такой владелец уже никогда не продаст их.
Таскать его из блокчейна в блокчейн в процессе регулярных автооптимизаций - не есть хорошая идея.
Решение: запрос децентрализованной сетью через ноды, цифровой подписи от адреса владельца - раз в год, например,
при попытке проверки баланса по "незасвеченному ещё, новому адресу", с возможностью отклонения этого действа.
Сервер генерирует сообщение. Владелец приватного ключа от адреса - может
подписать его приватным ключём.
Сервер
может проверить подписанное сообщение.
Дальше...
Если адрес подписанта соответствует адресу владельца, то у владельца есть приватный ключ, он не утерян, а владелец - жив, раз сумел подписать сообщение.
Если подписи цифровой нет, то наверняка владелец либо просто утерял ключ, либо умер, либо "ещё что-то".
С последним - надо найти компромисс, ведь это "что-то" может быть следующим: человек в коме, человек в тюрьме, человек в отъезде, в рабстве, да где угодно, но жив... Он может пропадать 30-50 лет. Он может завещать приватный ключ своим внукам...
Поэтому тут надо всё это очень хорошо продумать, прежде чем внедрять.
Но монеты с неактивных адресов, возвращать в систему - было бы годно,
тем самым автоматически вычищая всякий мусор и шлак из самооптимизирующегося регулярно - блокчейна.
Как вариант - ещё сжигание сатох. Потому что в rich-list'ах могут быть миллионы, сотни миллионов, и возможно миллиарды адресов,
с 0.00000001 на счету, которые уже давно никому не нужны, забыты и выкинуты.
Они засирают не только блокчейн, но и эти всякие базы данных на нодах, и сами эти ричлисты.