Bitcoin на пределе? Почему криптовалюту ждут тяжелые времена. Хабрахабр криптовалюта


Блокчейн ≠ Криптовалюта. Блокчейн > Криптовалюта / Хабр

Криптовалюты постепенно совершают переворот в мире финансов, заставив многих посмотреть на веб более серьезно, и считается, что во многом это заслуга технологии блокчейн, которую напрямую ассоциируют с Биткойном. И, таким образом, сам блокчейн померк в свете славы собственного "наследника". В этой статье я постараюсь на пальцах объяснить одну из самых значимых компьютерных технологий и положить конец заблуждению, что блокчейн – это криптовалюта или финансовая база данных. Забегая вперед скажу, что вы вероятнее всего уже работаете с блокчейном, даже, если никогда не сталкивались с криптовалютами.

Для того чтобы понять почему блокчейн не равняется криптовалюте достаточно хотя бы того что блокчейн был изобретен и использовался раньше криптовалют. Но цель статьи в том чтобы дать понимание самой технологии, а для этого нужно выделить общие признаки для всех имеющихся валют: каждая неизменно включает в себя три элемента – это цепочка блоков (собственно блокчейн), цифровая подпись и CRDT. Рассмотрим их подробнее.

Я осознанно исключаю сетевую структуру (децентрализованная, федеративная) и способы майнинга, так как они отличаются от системы к системе.

Цепочка блоков

Блокчейн – это хронологическая база данных, т.е. такая база данных, в которой время когда была сделана запись неразрывно связано с самими данными. Что делает ее не коммутативной (a + b ≠ b + a). Пример:

Добавим в обычную реляционную БД с полями Name и City две записи:

Иван Иванов, Москва Петр Петров, Санкт-Петербург

Теперь если мы удалим Ивана Иванова, а затем добавим его снова, то база данных до и база данных после будут одинаковы, другими словами база данных вернется в прежнее состояние. С блокчейном все не так, даже если мы удалим, а затем вновь добавим запись, то состояние не восстановится, не смотря на то что данные одни и те же. Если совсем просто, то текущее состояние блокчейна – это сумма всех предыдущих действий.

В первую очередь это нужно для того, чтобы защитить базу от записи "задним числом". Для этого используются функции, которые превращают любые данные в уникальное число фиксированной длинны (hash-функции). В виде псевдокода блокчейн можно выразить так:

block0 = hash(data0) block1 = hash(data1 + block0) block2 = hash(data2 + block1) block3 = hash(data3 + block2) ...

Так мы получим четыре уникальных числа, которые раздадим независимым пользователям (чем больше тем лучше). Теперь, если мы изменим значения в data1, то значения block1, block2 и block3 изменятся, таким образом пользователи смогут сравнить свои значения blockN и понять что произошла подмена.

Цифровая подпись

Все операции в криптовалюте должны быть авторизованы и единственным способом авторизации является использование цифровой подписи – все участники системы могут удостовериться в источнике данных, не используя при этом центральных серверов со скрытыми механизмами проверки. Проверка подлинности может происходить на вашей машине, по знакомому вам алгоритму.

CRDT

Не смог лаконично перевести этот термин на русский. CRDT или Conflict-Free replicated Data Types – это такие типы данных, которые не подвержены коллизиям при одновременном распределенном доступе, а самое главное – воспроизводимые. Другими словами из последовательности операций можно восстановить значение на любой момент времени.

Криптовалюты это ни что иное как бухгалтерские проводки, которые представляют из себя последовательность действий списаний и зачислений. Простейший пример того как это выглядит:

Время Операция 13:00 +7.5 # состояние счета 12.5 12:00 -5 # состояние счета 5 11:00 +10 # состояние счета 10 10:00 0 # состояние счета 0 (счет создан)

Зная текущее состояние 12.5 мы можем восстановить состояние счета на 12 часов отменив операцию зачисления +7.5, заменив ее вычитанием. Так же это экономит время при распространении изменений: вы отправляете только саму дельту, а не всё значение целиком.

Такие типы данных могут быть не только числами, но и строками, списками или датами.

Заключение

Если взять блокчейн и CRDT, то мы получим хорошо знакомый всем git. Да, тот самый git, который совершил революцию в разработке ПО и который разработчики используют каждый день. Возможно вы также знаете, что с помощью гит, можно не только разрабатывать программы, но и вести блог, а поместив в него csv, получить базу данных, которая помнит все изменения и обладает функцией перемотки.

Исходя из вышесказанного напрашивается вывод: блокчейн используется для поддержания целостности данных. Таким образом совершенно не важно что вы поместите в блокчейн – все владельцы копии смогут удостовериться, что данные верны. Даже если в блокчейн пишете только вы, то сторонний наблюдатель всегда сможет удостовериться, что вы не поменяли что-то задним числом. Другими словами это механизм поддержания доверия к данным.

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

habr.com

Bitcoin. Как это работает / Хабр

О Bitcoin я узнал относительно недавно, но он меня сразу подкупил своей идеей p2p. Чем глубже я зарывался в их Wiki, тем больше проникался этой идеей. Ее реализация красива и элегантна с технической точки зрения.

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

Настоящие деньги?
Первое место в списке главных заблуждений насчет Bitcoin занимает идея о том, что Bitcoin это очередные «бумажки», пускай и электронные, которые лишь представляют «настоящие» деньги, являются эдакими долговыми расписками. Отсюда берет начало большинство остальных заблуждений: раз это бумажки, то они ничего не стоят; их можно напечатать или уничтожить сколько угодно; их можно подделать; их можно скопировать.

Повторюсь — все это не более, чем заблуждения. В основе идеи Bitcoin лежало желание создать не очередные «бумажки», которые представляют реальные деньги, такие как золото, а аналог самого золота. Взять те свойства золота, благодаря которым оно является идеальными деньгами, и сделать электронную валюту на их основе.

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

Допустим человек весь день усердно добывал золото и добыл в итоге 1 кг. Для него стоимость добытого золота равна одному дню усердной работы. После тяжелого рабочего дня он решил отдохнуть и сходить в кинотеатр. По счастливому совпаденью кассир отдавал билеты в обмен на золото. Почему? Потому что кассиру нравится золото, но не нравится весь день работать с киркой. Поэтому он готов оказать услугу — отдать билет — в обмен на 1 кг золота. Фактически же он обменивает свою услугу на один день тяжелой работы.

Теперь представим другую ситуацию. Изобрели копир, который работает с золотом. И любой человек может за минуту из одного 1 кг золота сделать 10 кг. В данной ситуации кассир уже не будет обменивать билеты на золото, так как теперь он сам легко сможет его напечатать столько, сколько захочется. Золото перестанет иметь какую-либо ценность и его уже нельзя будет использовать в качестве денег.

В Bitcoin процесс добычи монеток тоже требует ресурсов и времени. Но в данном случае это не человеческие ресурсы, а компьютерные.

Условно ограниченный ресурс
Чем дольше добывается золото, тем труднее (затратнее по ресурсам) становится его добывать. Это гарантирует, что инфляция будет под контролем.

В Bitcoin похожее поведение достигается путем введения функции скорости суммарно добываемых монеток от времени. Эта функция обратно пропорциональная, т. е. скорость со временем падает и стремится к нулю. Если взять интеграл этой функции по времени, то получится экспонента. Приблизительно такая: Здесь видно, что общее число монеток стремится к 21 000 000. Подробности работы Bitcoin будут рассмотрены далее. А пока нужно знать две вещи: монетки появляются в системе пачками приблизительно каждые 10 минут, количество монеток в одной пачке — 50, и оно уменьшается вдвое каждые 4 года.

Материальность
Это уже свойство не столько золота, сколько любой не электронной валюты. Один слиток золота нельзя дважды обменять на услугу или товар. Т. е. в один момент времени он может быть либо у продавца, либо у покупателя.

Такое поведение естесственно для материальной валюты, но не для электронной. Чтобы добиться такого поведения виртуальных денег, нужно приложить немало смекалки. В Bitcoin это поведение обеспечено механизмом транзакций. Все транзакции объеденяются в цепочки. Каждая транзакция берет монетки из одной или нескольких существующих транзакций и указывает, кому они предназначаются. Поэтому всегда можно проверить всю цепочку на валидность.

Сложность добычи, ограниченный ресурс, материальность — эти свойства, плюс использование криптографии для обеспечения безопасности, позволяют использовать Bitcoin в качестве денег. На них основано ядро Bitcoin. Это не просто договоренности. Все они заложены в системе by design, и по-другому она работать не будет. Настало время рассмотреть этот самый дизайн.

Цепочка блоков
Любая электронная платежная система должна где-то и как-то хранить транзакции. В Bitcoin вся информация хранится в цепочке блоков. Блоки передаются в формате JSON. Каждый блок содержит заголовок и список транзакций. Заголовок состоит из нескольких свойств, среди которых есть хэш предыдущего блока. Таким образом вся цепочка блоков хранит все транзакции за все время работы Bitcoin.

В текущих версиях программы Bitcoin цепочка блоков скачивается целиком каждым клиентом, что делает систему полностью децентрализованной. Данные никак не шифруются и любой может вручную проследить все транзакции. Существует даже специальный сайт — Bitcoin Block Explorer, на котором можно легко посмотреть всю информацию о блоках и транзакциях.

На момент написания статьи количество блоков в цепочке было равно 110 968, и, как я уже говорил ранее, это количество приблизительно через каждые 10 минут увеличивается на 1. Это значит, что кто-то из участников смог создать новый блок.

Кстати говоря, все участники делятся на две группы: на тех, кто работает над новым блоком и кто не работает. По статистике эти группы соотносятся как 1 к 3. Зачем вообще создавать блоки, да еще каждые 10 минут? В блоках записываются транзакции. Каждый блок содержит все транзакции, которые проходили во время его создания, т. е. за 10 минут.

Работает это следующим образом. Один из клиентов создает новую транзакцию и рассылает ее другим клиентам, которые заняты генерацией блока. Они добавляют эту транзакцию к своему блоку и продолжают генерацию. Рано или поздно у кого-то получится сгенерировать блок. Такой блок запечатывается (к нему больше не добавляются транзакции) и рассылается по сети. Далее клиенты проверяют блок и транзакции внутри него на валидность. Если никаких проблем нет, то транзакции считаются одобренными. К этому моменту свежий блок уже доехал до каждого клиента и добавлен в цепочку. После этого процесс повторяется — клиенты начинают генерировать очередной блок и собирать в него новые транзакции.

Блок
Рассмотрим содержимое блока и процесс его генерации более подробно. Пример блока можно найти на все том же Bitcoin Block Explorer. Блок состоит из заголовка и списка транцакций. Заголовок состоит из следующих свойств:

hash — SHA-256 хэш заголовка блока. Такой хэш является достаточно случайным, а время его вычисления предсказуемо. Хочу заметить, что хэшируется только заголовок, без транзакций. Так что число транзакций не будет сильно влиять на время вычисления хэша.

ver — Версия схемы блока. На данный момент у всех блоков одна версия — 1.

prev_block — Хэш предыдущего блока в цепочке. Благодаря этому свойству цепочку нельзя подделать, заменив в ней один из блоков, так как хэш блока всегда зависит от хэша предыдущего блока в цепочке. Изменив один из блоков, придется пересоздавать все последующие.

mrkl_root — Merkle root — список хэшей транзакций. Хэш блока должен обязательно зависеть от транзакций, чтобы их нельзя было подделать. Но вычислять его напрямую будет долго, если количество транзакций велико. Поэтому сначала хэшируются сами транзакции, а затем их хэши используются для вычисления хэша всего блока.

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

time — uint32_t представляющее время создания блока. Максимально допустимый год — 2106.

bits — Одно из самых важных свойств. Является сокращенной формой целевого значения хэша. Блок считается сгенерированным (валидным), когда его хэш меньше этого целевого значения. Целевое значение определяет сложность создания блока. Чем оно меньше, тем меньше вероятность подобрать подходящий хэш за одну итерацию. Это свойство обновляется каждые две недели.

Происходит это следующим образом. Подсчитывается число сгенерированных блоков за последние две недели и сравнивается с эталоном (1 блок каждые 10 минут). Если блоков слишком много, то сложность увеличивается. Если блоков слишком мало — уменьшается. Таким образом система адаптируется к увеличению числа пользователей и, как следствие, суммарной мощности их компьютеров.

nonce — Число, которое, начиная с нуля, инкрементируется после каждой итерации вычисления хэша. Собственно, так и происходит перебор, пока хэш не будет меньше целевого значения. Чтобы каждый новый хэш отличался от предыдущего, должно отличаться хотя бы одно из свойств заголовка блока.

Например, версия никогда не меняется. Хэш предыдущего блока обновляется тогда, когда кто-нибудь нас опередит и сгенерирует новый блок. Merkle root обновляется при добавлении транзакции. Время — каждые несколько секунд. Bits (целевое значение, сложность) — каждые две недели. Все это слишком долго. Чтобы не ждать, пока обновится одно из свойств и существует nonce.

Рассмотрим гипотетическую ситуацию. Все значения nonce были проверены и ни одно из них не подходит. За это время ни одно другое свойство не изменилось. Происходит переполнение nonce и оно снова начинается с нуля. Получается, что далее хэши будут повторяться. Чтобы избежать подобных ситуаций, после переполнения nonce, меняется специальное свойство одной из транзакций. После этого обновляется Merkle root и хэши заголовка блока уже не будут повторяться.

n_tx — Количество транзакций в списке.

size — Размер блока в байтах.

Транзакции
Транзакции содержатся в блоках в виде списка. Они, также как и блоки, выстраиваются в цепочки. Каждая транзакция должна указать, откуда она берет деньги (из какой существующей транзакции), и куда направляет.

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

На практике все это реализовано с помощью следующих свойств:

hash — Хэш всей транзакции. Получается, что транзакции хешируются дважды. Первый раз во время вычисления хэша транзакции. Второй раз во время вычисления хэша блока. Кроме того каждый блок ссылается на хэш предыдущего блока, а каждая транзакция — на хэш предыдущей транзакции (или транзакций). Если изменить транзакцию и каким-то чудом ее хэш не поломается, то поломаются все остальные хэши и измененная цепочка блоков будет отвергнута всеми клиентами.

ver — Версия схемы транзакции. Пока она ни разу не менялась, так что везде равна 1.

vin_sz — Количество предыдущих транзакций, из которых деньги переводятся на новые адреса. Одна или более.

vout_sz — Количество адресов, на которые переводятся деньги. Один или более.

lock_time — Пока не используется и везде равно 0. Идея в том, чтобы создавать отложенные транзакции, чтобы они добавлялись не в текущий генерируемый блок, а, например, в слещующий. Подразумевается, что в этом свойстве указано количество блоков, которые должна пропустить транзакция перед добавлением. Это дает возможность в течении некоторого времени изменить транзакцию и переподписать ее.

size — Размер транзакции в байтах. Подразумевается размер транзакции в формате JSON.

in — Содержит список входов (источников) транзакции. В качестве входов используются выходы предыдущих транзакций (prev_out). У каждого выхода есть следующие свойства:

hash — Хэш предыдущей транзакции.

n — Так как у транзакции может быть несколько выходов, то нужно указывать, из какого из них берутся деньги. Для этого и существует данное свойство. В нем содержится порядковый номер выхода предыдущей транзакции, начиная с 0.

scriptSig — В этом свойстве отправитель должен доказать, что он переводит именно свои деньги, а не чужие. Для этого он указавает публичный ключ получателя предыдущей транзакции, т. е. свой ключ, так как он должен быть получателем. Кроме того он добавляет ECDSA подпись этой же транзакции, которая сделана его приватным ключем. Это доказывает, что он распоряжается своими деньгами, а не чужими.

После списка входов транзакции (in) указывается список выходов (out), т. е. адресатов. Каждый выход имеет следующие свойства:

value — Содержит количество денег, которые будут переведены по новому адресу. Они берутся из предыдущих транзакций. Поэтому данное число не должно превышать их сумму. Например, мы хотим взять 10 монеток из одной транзакции и 20 из другой и направить 25 по новому адресу. Чтобы оставшися 5 монеток не пропали, мы посылаем их самим себе, как сдачу. Таким образом в нашей транзакции будет два адресата, одним из которых являемся мы сами. Value всегда указывается в наномонетах, чтобы избежать дробных чисел.

scriptPubKey — Это свойство, вместе с scriptSig составляют сценарий на модифицированном Forth-like языке. ScriptPubKey содержит операторы языка и хэш публичного ключа получателя транзакции. Сценарий проверяет транзакцию на валидность. Использование подобного сценария дает богатые возможности для описания условий получения денег адресатом. Например, можно заставить получателя указывать пароль вместо ECDSA.

Суммарное количество денег на входе транзакции всегда равно суммарному количеству на выходе. В противном случае деньги либо возникали из воздуха, либо исчезали из оборота. Но в самом начале был график, по которому видно, что число денег экспоненциально растет. Так откуда берутся новые деньги в системе?

На мой вкус, эмиссия денег реализовано просто и элегантно. В каждом блоке первая транзакция в списке является особой транзакцией. У нее всегда один вход, у которого вместо свойства scriptSig есть свойство coinbase. Это свойство может содержать что угодно.

Выход у транзакции также всегда один. Он перенаправляет 50 монеток тому, кто сгенерировал блок, в котором расположена эта транзакция. Это своего рода награда за потраченное время и ресурсы на генерацию блока. Создавая новый блок в цепочке, клиент вносит вклад в работу Bitcoin.

Каждые четыре года эта награда уменьшается вдвое, таким образом суммарное количество монеток в обороте стабилизируется. После этого даже если злоумышленник создаст блок с помощью модифицированной версии программы и припишет себе 50 монеток, этот блок не будет добавлен в цепочку, так как его отвергнут другие честные клиенты, которых должно быть большинство.

Стабильность работы системы основана на количестве пользователей, у которых запущен официальный клиент. Пока их большинство, Bitcoin ничего не угрожает.

Заключение
Proof of work (доказательство работы) — результат работы, которого трудно добиться, но легко проверить. Работа сети Bitcoin основана на этом принципе. Проверить хэш (результат работы) можно за доли секунды. А для того, чтобы его подобрать, требуется много работы.

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

Цена в долларах — это немного другое. Она никак не заложена в Bitcoin и определяется исключительно рынком. Ведь золото само по себе тоже не гарантирует вам определенную цену в долларах. Ее гарантирует лишь человек, который хочет обменять золото на доллары.

Изначальная стоимость золота определялась исключительно тем, кто его добывал. За добытое золото он просил столько, чтобы можно было компенсировать усилия на его добычу. А уже после этого на цену золота начинает влиять рынок.

Как только Bitcoin попал на рынок, его ценность определяется исключительно уровнем доверия к системе. Чем больше человек будут доверять, тем больше купят Bitcoin, тем больше долларов в него вложат и, как следствие, тем дороже будет Bitcoin.

Прежде чем люди смогут доверять Bitcoin, они должны узнать, обладает ли эта система достаточной степенью безопасности, а также можно ли ее использовать в качестве денег, т. е. обладает ли она свойствами денег, которые я перечислил в начале. Узнать это наверняка можно только разобравшить в принципах работы Bitcoin.

Надеюсь, что после этой статьи уровень доверия к Bitcoin хотя бы немного вырастет.

habr.com

Действующие криптовалюты помимо биткоина / Хабр

С ростом популярности и цены Bitcoin'а подтянулись и другие криптовалюты: их стало больше, они все более разнообразны и поддерживаемы, во многие создатели вложили уйму денег. У всех свои отличия и преимущества, своя сложность майнинга, своя цена и сервисы. И пока все не устаканилось это просто большая лотерея, в которой можно попытать удачу.

image

Зачем создают свою криптовалюту и вкладывают деньги в ее развитие(создание сайта, пиар, сервисы работы с ней и т.д.)? В целом все просто: инвестируют с рассчетом на богатство в случае популярности их валюты, ведь тот, кто самый первый имеет доступ к валюте может ее сам и помайнить на шиканых условиях (в самом начале самая низкая сложность и самый большой выхлоп в монетках). И лишь потом ее выкладывают на достояние общественности. Впрочем, далеко не все валюты майнятся создателями до офф. запуска, а отсутствие пре майна потом играет хорошую роль в агитации публике именно к своей криптовалюте.

Из криптовалют наиболее популярные на данный момент -BTC Bitcoin (1000$), LTC Litecoin (30$), NMC Namecoin (7.7$), PPC PPcoin(6,1$), впрочем, на счет последних двух ещё можно поспорить, все скачет слишком быстро.

Что из себя представляет майнинг и работа с криптовалютой в целом? Все просто: качаем кошелек с офф сайта и ждем пока он синхронизируется. Почти все кошельки выглядят так: Далее качаем майнер (либо майнер уже встроен в ваш кошелек) и находим пул (место для общего майнинга криптовалюты, т.к. если сложность высока майнить одному не выгодно). Настраиваем майнер на работу с пулом и запускаем. Майнеры бывают для CPU(процессор) и GPU(видеокарта). Лично у меня при CPU майнере ничего не лагает, его даже не заметно. GPU майнеры майнят в разы быстрее, но ощутимо тормозят компьютер.

Как тут можно заработать? Ну, способов много. 1) Если не хотите играть с удачей то имеет смысл найти валюту, у которой есть простой сервис вывода, майнить и сразу выводить. К примеру copperLark (майнить тут, Help -> Start mining). За них можно оплатить мобильный телефон и некоторые онлайн игры (пробовал оплатить телефон, зачисления ждать ~3-4 часа, но все приходит). Если поставить CPU майнер на компьютере в фоновом режиме то не мешает совершенно основной деятельности, в месяц можно будет класть 300-600 руб на мобильник.

Либо можно делать то же самое, но класть валюту на одну из бирж. По достижению минимальной суммы вывода выводить в рублях реал (ЯД, вебмани, киви и т.д.). Из бирж могу посоветовать upbit.org (нет проблем с выводом, комиссия 0.1%, поддерживает биткоины, копперкоины, лайткоины, доллары, рубли и евро) и btc-e.com (0.2%, бОльшее кол во валют, тоже нет проблем с выводом, однако курсы всегда ниже чем на других биржах.)

2) Купить или майнить новую валюту. Тут главное отыскать нечто с потенциалом, начать майнить и забыть лет на 5. Если повезет то выстрелит. Впрочем, многие просто скупают новую валюту всех видов за смешные деньги в больших количествах и ждут пока одна из них выстрелит.

3) Трейдить. (При условии комиссии в 0.1 — 0.2% и огромных скачках валют (они за день могут быть и под +300%) может быть выгодно).

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

UPD Краткий список криптовалют с их графиками и ценой: coinmarketcap.com Англ. вики со списком криптовалют: en.wikipedia.org/wiki/List_of_cryptocurrencies

habr.com

Разработчики криптовалют — кто они? [Интервью] / Хабр

В последние годы сектор финансового софта переживает бум. Причем развиваются не только около-банковские системы, а появляются и различные альтернативные решения. Одной из тем, вызвавших широкий общественный резонанс, стало появление и бурное развитие криптовалют. Помимо своей монетарной и сетовой составляющей, криптовалюты являются ещё и специализированным программным обеспечением. Кто же работает над их кодом, и как это делается?

Самая популярная криптовалюта на сегодня — это Биткоин. Однако по скорости внедрения инноваций в последнее время стал заметен ещё и криптовалютный проект “Dash” (бывший “Darkcoin”) (по капитализации — Анонимная криптовалюта №1). В команде “Dash” есть русскоязычный разработчик, и я уговорил его дать интервью — специально для читателей Хабрахабра.

  • Привет, UdjinM6. Спасибо, что согласился на интервью. Давай поговорим о криптовалютах в контексте процесса их разработки как программного обеспечения, без углубления в детали того, зачем они нужны и как функционируют.
  • Привет. Спасибо за предложение, постараюсь ответить максимально доступно.
  • Пожалуйста, расскажи вкратце о себе и своей деятельности в команде “Dash”.
  • Я заинтересовался криптовалютами довольно поздно (в 2013 году) и исключительно в качестве нового спекулятивного инструмента с относительно простым способом входа. Тогда же пробовал и помайнить немного. К слову, оба этих занятия завершились для меня серьезным финансовым минусом, но я начал больше интересоваться тем, как же все-таки это все работает, стал вникать в заложенную математику и алгоритмы, а также пробовать разный софт и участвовать в его доработке по мере сил. Позже, в середине 2014 стали все громче звучать вопросы к Биткоин по поводу его анонимности. Эта тема меня заинтересовала и я обратил внимание на несколько альтернатив, одной из которых был Darкcoin. Мне показалась интересной идея и предложенная реализация, а также понравилось, что у Darkcoin дружелюбное сообщество и доступные для комментариев разработчики. Сейчас в команде я занимаюсь, в основном, разработкой «официального» кошелька, но иногда помогаю сторонним разработчикам по вопросам портирования какого-нибудь ПО, написанного для Биткоин, для работы с Dash, да и просто всем, кто пытается что-то сделать на базе Dash.
  • Чем разработка криптовалют отличается от разработки другого ПО?
  • Я бы выделил то, что за довольно короткое время появляется огромная масса исследований, различных материалов по теме, новых идей и зубодробительной математики. Нужно постоянно “держать руку на пульсе”. Также стоит отметить, что многие новые работы по криптографии доступны только на английском языке, а с учетом уже упомянутой выше математики вникать бывает довольно непросто.
  • Кто может стать разработчиком криптовалюты, какая для этого нужна квалификация?
  • Официальный клиент многих криптовалют написан на С++, но есть и такие, где основной кошелек написан на Python, наример. Также хорошо бы иметь неплохие познания в математике в целом и в теории вероятности/криптографии в частности, но их можно набрать и по мере погружения. Есть неплохой, на мой взгляд, обзорный курс у Khan Academy “Journey into cryptography” ( www.khanacademy.org/computing/computer-science/cryptography ). Также множество материалов доступно в виде разного рода докладов, презентаций и т.п. в свободном доступе.
  • Твоё окружение знает чем ты занимаешься? Как к этому относятся?
  • В курсе только несколько самых близких друзей. Для остальных я “сижу в интернете”.
  • Не тянет вернуться в офис на “нормальную” работу?
  • Пока есть финансовый запас с прошлой работы, а дальше посмотрим. Надеюсь, что мы все-таки делаем что-то нужное и Dash, как говорят, “взлетит”.
  • Русскоязычные разработчик – редкое явление в криптомире… Сложно было завоевать репутацию в сообществе?
  • На самом деле, я вовсе не стремился стать разработчиком какой-либо криптовалюты, просто было интересно и имелся некий опыт в программировании, управлении проектами и т.п. Сначала я в качестве обычного пользователя стал задавать много вопросов, смотреть подробнее код, разбираться в теме, а впоследствии и сам стал отвечать на вопросы других новичков. В то время Dash был на стадии релиз-кандидата и там довольно часто случались форки. Я пытался помочь, чем мог и примерно неделю я практически «жил» на официальном форуме и отвечал на многочисленные вопросы, помогал решать проблемы, выискивал баги. Я был очень назойлив и постоянно мучал Эвана и других разработчиков вопросами и своими предложениями по решению различных проблем. В итоге, я всем надоел члены сообщества стали предлагать включить меня в команду и через несколько дней я получил незатейливое сообщение примерно следующего содержания: «Неплохо! Хочешь присоединиться?»
  • Для тебя разработка “Dash” — это способ заработка или что-то другое?
  • На данный момент это способ “наносить пользу”, занимаясь чем-то интересным. Ну, и конечно, надежда завоевать мир, куда же без этого.
  • Какие инструменты ты используешь в своей работе?
  • Поскольку клиент написан под Qt, то соответственно большая часть времени проходит в Qt Creator. Остальное все в командной строке – git, vim и т.п.
  • Как складываются отношения членов команды “Dash”?
  • Ничего особенного – они все нормальные, адекватные ребята из разных уголков Земли. Мы все делаем одно дело, при этом каждый занимается той частью, которую считает для себя интересной, делает то, что может, как может и когда может (часовые пояса и проблемы в “реальной” жизни дают о себе знать). Конечно, стараемся синхронизироваться и всячески объединять усилия. Используем для этих целей как форум, так и Slack. После выпуска 0.12 версии есть планы по некоторой формализации процесса выпуска релизов, подготовкой к этому уже занимаются отдельные члены команды.
  • Я видел, что тебя упомянули в списке принявших участие в появлении последней версии Биткоина. Ты успеваешь вести и другие проекты, помимо “Dash”?
  • Честно говоря, мой вклад там был мизерный и я очень удивился, увидев свой ник в списке. Что касается других проектов – ранее немного поучаствовал в NOMP ( github.com/zone117x/node-open-mining-portal ), пару месяцев назад добавил русский интерфейс для WalletGenerator.net (https://github.com/MichaelMure/WalletGenerator.net). Портировал несколько репозитариев для работы с Dash, например, github.com/bitpay/insight-api от BitPay.
  • Ты когда-нибудь задумывался над тем, чтобы запустить собственную криптовалюту? Насколько это вообще реально?
  • Запустить криптовалюту в понимании многих означает, как правило, скопировать Биткоин или его успешный форк, “улучшить” параметры и, вуаля, новая валюта. Такую “валюту” сделать не сложно, но без развития, а порой и просто элементарной поддержки и исправления багов проживет она буквально пару месяцев, после чего майнеры сольют ее на биржах и в итоге останется лишь некоторое количество наивных “счастливчиков” с запасами никому не нужных монет. Таких “валют” уже несколько сотен. Желания встать с их разработчиками в один ряд у меня нет, как нет и причин, по которым я не могу реализовать какие-то идеи в рамках Dash.
  • “Dash” сейчас тестирует систему децентрализованного финансирования. Она нацелена на поддержку действующих разработчиков или на привлечение новых?
  • На самом деле, она нацелена не на поддержку каких бы то ни было разработчиков, а на реализацию проектов, поддерживающих Dash и способных двигать Dash дальше. Основная идея здесь следующая. Open-source проектам очень тяжело существовать в отсутствии финансирования. Многие пробуют жить за счет пожертвований, другие живут на гранты либо под крылом какой-то корпорации. Каждый из этих способов имеет свои недостатки. Мы же хотим построить такую систему, которая будет финансировать себя сама. Одна из мощных идей, заложенных в биткоине – токены, которые производят майнеры, имеют определенную ценность. Вот именно часть этой ценности, созданной внутри системы, мы и планируем задействовать и направить на поддержку и развитие самой системы вместо того, чтобы искать это финансирование “снаружи”. В системе нет ограничений на то, будут ли это непосредственно разработчики, или кто-то, кто сможет организовать процесс, или пропиарить, или еще как-то помочь проекту.
  • Допустим, какой-то программист или даже команда захочет предложить (за денежку) свои умения проекту “Dash”. Как именно им следует действовать?
  • Первое, что я бы посоветовал сделать – заходите к нам на форум dashtalk.org, создавайте тему и пытайтесь убедить сообщество, что а) идея стоящая б) вы способны ее реализовать. Эта часть, как мне кажется, является основной, так как в любом случае вам будет нужна поддерка сообщества (а точнее владельцев мастернод), для того чтобы получить финансирование. А уж помочь разобраться с кошельком и какие команды надо выполнить, чтобы отправить ваше предложение в сеть для участия в голосовании и получении вознаграждения, вам всегда подскажут. Тем не менее, если интересна именно эта часть, то драфт документации можно посмотреть на GitHub github.com/dashpay/dash/blob/master/doc/masternode-budget.md
  • Что бы ты посоветовал русскоязычным программистам, желающим попробовать себя в сфере криптовалют?
  • Пробовать. Чтобы начать, не обязательно покупать Биткоины или Dash, рисковать реальными деньгами и тратить их в процессе разработки. Есть тестовые сети, там можно получить монеты бесплатно и экспериментировать без риска все потерять, если что-то вдруг пошло не так.
  • Спасибо за интервью и напутствие.
  • И вам спасибо.

Общее представление о “Dash” можно получить в этом коротком видеоролике.

Более подробную информацию o “Dash” можно найти на официальном сайте и в моём блоге.

Если у вам появились вопросы к UdjinM6 — вы можете задать их ему напрямую на официальном форуме (русскоязычный раздел). Он там регулярно бывает и отвечает.

Если вы хотите погрузиться в технические подробности о работы “Dash” и владеете языком — можно это сделать на практике — присоединяйтесь к работе с открытым исходным кодом на GitHub или к открытому тестированию новой версии программы-кошелька.

Интересно? Хотите, чтобы я взял у UdjinM6 ещё одно интервью? Пишите интересующие вас вопросы в комментариях!

habr.com

для чего еще используется блокчейн / Блог компании Bitfury Group / Хабр

По данным Research and Markets, размер мирового блокчейн-рынка к 2023 году вырастет до 6 млрд долларов при среднегодовом темпе роста 48%. В течение последних двух лет мы наблюдали рост инвестиций в компании, занимающиеся разработкой блокчейн-приложений для финансового сектора.

Например, компания Chain из Сан-Франциско, создающая блокчейн-решения для кредитно-финансовых институтов, привлекла почти 44 млн инвестиций от разных организаций, включая Nasdaq и Visa. Другой пример — Coinbase, предлагающая кошельки для криптовалют, получила 217 млн долларов от Andreessen Horowitz, Нью-Йоркской фондовой биржи и др.

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

/ изображение DennisM2 PD

Медицина

В начале года исследовательское агентство IBM Institute for Business Value провело опрос в 16 странах среди 200 руководителей организаций здравоохранения. Порядка 72% из них отметили, что планируют внедрить у себя решения на базе блокчейн-технологий к 2020 году. При этом 16% уже используют блокчейн-решения в своей работе.

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

Например, сейчас в Бостоне работают 26 различных систем управления электронными медицинскими записями, каждая из которых по-своему представляет и передает данные. Важная информация (например, сведения об аллергических реакциях на препараты у пациента) зачастую «раскидана» между несколькими базами и иногда оказывается недоступной в критические моменты.

По словам Джона Халамки (John Halamka), технического директора Beth Israel Deaconess Medical Center, в решении этих проблем поможет блокчейн. Поэтому Халамка совместно с учеными из MIT Media Lab разработали платформу MedRec, основанную на Ethereum. Система использует смарт-контракты для подкрепления всех операций.

Например, контракт Patient-Provider Relationship Contract (PPR) заключается между двумя узлами системы, когда один из них управляет медицинскими записями второго (в частности, когда происходит изменение списка назначенных препаратов для больного). А контракт Summary Contract (SC) позволяет пациентам просматривать историю медицинских записей.

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

Проекты, не связанные с криптовалютами, не могут предоставить участникам сети аналогичную форму вознаграждения. Поэтому им сложно заинтересовать аудиторию. Однако создатели проекта MedRec решили проблему: защитой информации в блокчейне будут заниматься медицинские организации и исследовательские агентства.

Они будут выполнять роли майнеров и использовать свое оборудование и вычислительную инфраструктуру для сохранения целостности блокчейна. Взамен MedRec предоставит им доступ к анонимным данным пациентов (с согласия последних) для проведения эпидемиологических и других исследований.

Например, такой проект уже реализован в Эстонии. С 2008 года все госпитали и врачи страны должны переводить информацию о здоровье населения в цифровой формат. С недавних пор за её безопасность отвечает блокчейн.

Распределенный реестр выступает в качестве базы данных для медицинских записей. Когда в медицинскую карту пациента вносятся изменения, это событие сразу записывается в сеть, вместе с информацией о том, что именно было изменено, удалено, добавлено. Такой уровень прозрачности позволяет терапевтам, хирургам, фармацевтам и другим специалистам получить актуальную и корректную информацию о пациенте, с которой «согласно» сообщество.

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

Дополнительно к медицинской информации на блокчейне могут обращаться страховые компании или отделения полиции, ответственные за выдачу водительских удостоверений. В 2015 году органы управления дорожным хозяйством Эстонии получили доступ к 80 тыс. медицинских карт жителей страны, пришедших обменять водительские удостоверения, чтобы подтвердить их состояние здоровья.

Регистрация прав собственности

Блокчейн представляет собой распределенную цифровую базу данных (или реестр), записи в которой защищены криптографическими алгоритмами. Поэтому его часто рассматривают в качестве решения для регистрации прав на собственность.

Например, индийский штат Андхра-Прадеш совместно со стартапом ChromaWay работают над блокчейн-проектом для регистрации прав собственности на земельные участки. Российское правительство также объявило о начале тестирования подобной системы. Согласно заявлению пресс-службы Минэкономразвития, эксперимент пройдет в период с января по июль 2018 года.

Как отмечает министр экономического развития Максим Орешкин, система Росреестра стоит дорого и работает медленно и неэффективно, что выливается в большие издержки для населения и компаний

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

Помимо этого, в 2016 году компания Bitfury совместно с Национальным агентством публичного реестра Грузии начала проект по созданию блокчейн-платформы для регистрации земельных участков. До появления системы, чтобы купить или продать землю, жителям страны приходилось лично обращаться в Национальное агентство, подавать документы и платить от 50 до 200 долларов. Блокчейн-технология позволила снизить стоимость «комиссии» до 10 центов.

Уже с конца февраля этого года информация о выписке на недвижимость автоматически отправляется в блокчейн. А на официальной странице агентства появилась функция проверки валидности информации в распределённом реестре.

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

В дальнейшем мы рассчитываем продолжить работу по внедрению блокчейн-технологий в Грузии — одними из приоритетных областей являются нотариат и госзакупки.

При этом блокчейн-технологии могут использоваться и для регистрации прав на другую собственность: дома, автомобили, даже идеи и авторские произведения. Например, общества ASCAP и SACEM создают блокчейн-систему для защиты музыкальных авторских прав.

Одной из своих задач организации ставят объединение двух ключевых стандартов идентификации музыки: ISRC и ISWC. Блокчейн ускорит процесс регистрации песен и композиций и позволит следить за их воспроизведением. Музыканты получат возможность загружать свои работы и их метаданные в блокчейн, а при прослушивании композиции между ним и слушателем будет заключаться смарт-контракт, описывающий условия использования — для личного прослушивания, коммерческого использования на радио или в фильме и так далее

Аналогичную инициативу продвигает блокчейн-проект dotBlockChain совместно с компаниями SOCAN, MediaNet, Songtrust, CD Baby и FUGA.

Над блокчейн-технологиями для защиты авторских прав работают и в России. На конференции «Криптовалюта и другие продукты технологии блокчейна как объекты интеллектуальной собственности» участники представили несколько блокчейн-решений для фиксирования цифровой информации: проект ТГУ rupto.io, видеоплатформу Lifechain и систему FactFix. Ресурсы пишут в блокчейн любую цифровую информацию — изображения, видео, творческие идеи, FactFix позволяет даже оставить отзыв о каком-нибудь ресторане.

Записи будут фиксироваться в открытом блокчейне, а участники проекта при возникновении споров об авторских правах смогут стать свидетелями в суде и подтвердить, что такой файл (или музыкальная композиция, или картина и так далее) действительно был создан в указанное время, и права на него принадлежат участнику платформы.

/ изображение Greg Dunlap CC

Организация «электронных правительств»

В мире порядка 192 стран пробуют внедрять в государственные структуры блокчейн-технологию. Среди них Швеция, Грузия, Бразилия и Эстония.

Последние несколько лет правительство Эстонии разрабатывало платформу для идентификации людей, не являющихся гражданами страны, — e-Residency. Участники проекта становились так называемыми электронными резидентами и получали возможность верифицировать документы и пользоваться услугами электронного банкинга и другими сервисами, которые доступны эстонцам.

Теперь разработчики e-Residency внедряют блокчейн в инфраструктуру проекта, чтобы повысить его защищенность. Над этим трудится команда инженера Каспара Корьюса (Kaspar Korjus), который занял первое место рейтинга Forbes Estonia в категории «Технологии и финансы» (среди предпринимателей до 30 лет).

Госструктуры России также планируют внедрение блокчейн-технологии. В начале года Росреестр, Агентство ипотечного жилищного кредитования и Внешэкономбанк запустили совместный проект, в рамках которого зарегистрировали первый договор долевого участия с применением распределенного реестра. Система была разработана с помощью нашей платформы Exonum.

Блокчейн в будущем может применяться при взаимодействии Росреестра с Фондом защиты прав участников долевого строительства, куда застройщики перечисляют страховые взносы в объеме 1,2% от суммы договоров. Эти деньги при необходимости будут использованы для выплаты компенсаций участникам долевого строительства. Идея заключается в том, что Росреестр не сможет зарегистрировать договор, пока не получит от Фонда подтверждение об уплате застройщиком страхового взноса.

Тестирование проекта проводится в Ленинградской области, однако позже планируется начать применять технологию в других регионах.

Распределенные реестры способны преобразить практически каждый аспект правительственной деятельности. Например, стать основой для систем голосования.

В начале этого года американская биржа Nasdaq успешно применила систему e-Voting для голосования акционеров компании. Выборы с применением блокчейн-технологий похожи на криптовалютную сделку, но с использованием специальных «окрашенных» монет, которые избиратели переводят на счет выбранного ими кандидата. Для определения победителя достаточно проверить счета после окончания выборов. Так как публичный блокчейн прозрачен, судьбу своего голоса может отследить любой пользователь.

Также системы для электронного голосования позволяет создавать наша платформа Exonum. Технологическое демо системы электронного голосования, созданной с помощью Exonum, вы можете найти по ссылке.

Мы отметили лишь несколько областей, в которых блокчейн помогает улучшить пользовательский опыт и снизить издержки. Помимо указанных, можно выделить энергетику, интернет вещей, а также операции с товарами и сырьем (например, отслеживание происхождения бриллиантов).

Блокчейн способен оптимизировать бизнес-процессы в тех сферах, где часто приходится работать с посредниками, услуги которых являются платными, приходится обрабатывать данные, требующие высокого уровня доверия, или взаимодействовать с большим числом независимых участников (или клиентов). В этих трех случаях блокчейн способен принести выгоду практически в любой сфере экономики.

Наши другие материалы по теме:

habr.com

почему Эдвард Сноуден поддерживает концепцию доказательства с нулевым разглашением / Блог компании Binary District / Хабр

Перевела – Мария Агеева, Binary District

6 февраля на блокчейн-митапе Zero knowledge proof protocols генеральный директор ZCash Зуко Уилкокс и основатель Ergo Platform Александр Чепурной обсудят основные принципы работы протокола с нулевым разглашением, а также специфику ZCash, Bitcoin, Ethereum и других криптовалют.

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

Bitcoin, Ripple, Ethereum, Bitcoin Cash и Litecoin  — 5 крупнейших по рыночной стоимости и капитализации криптовалют. Каждая из них является потенциально уязвимой к целому ряду атак, что повышает их привлекательность для мошенников. Используя блокчейн-эксплореры можно с легкостью отследить происхождение и назначение транзакций, суммы, хэши и т.д.

Риккардо Спаньи (Riccardo Spagni), главный разработчик Monero, первой криптовалютной биржи с многомиллиардным оборотом, подчеркнул важность мер по обеспечению конфиденциальности транзакций.

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

«Недостаточность мер по защите информации о транзакциях может иметь определенные последствия — начиная с преследующей вас таргетированной рекламы, которая подпитывается информацией о ваших потребительских привычках, до угрозы вашей жизни и здоровью. Расплатился биткоинами — и вот продавец уже знает сумму средств доступных на вашем счету, или еще хуже — вам начинают угрожать ножом» — поделился Спаньи.

28 декабря одно из опасений FluffyPony подтвердилось. По сообщению BBC, Павел Лернер, главный управляющий директор криптовалютной биржи Exmo, подвергся нападению в Киеве. «Мужчины в балаклавах» угрожали Лернеру ножом, а затем насильно посадили его в черный Mercedes Benz. Существует предположение, что похитители намеревались через Лернера получить доступ к крупным суммам средств в криптовалютах, находящимся на бирже.

Представитель Exmo Анатолий Ларин отметил, что средства пользователей остались в безопасности, так как должностные обязанности Лернера не предполагают наличия у него доступа к ним: «Несмотря на этот инцидент, биржа работает в обычном режиме. Деятельность Павла в нашей компании не включает в себя работу с хранилищами или персональными данными пользователей. Все средства клиентов находятся в полной безопасности».

Анонимные криптовалюты: Zcash, Dash, Monero, Verge

Zcash – первая криптовалюта, разработанная на основе вероятностного протокола доказательства с нулевым разглашением (zero knowledge proof protocol). Данный протокол потенциально позволяет обрабатывать конфиденциальные и анонимные транзакции в криптовалютах любой блокчейн-сети.

Криптовалюта Monero приобрела известность благодаря активности сообщества разработчиков и предлагаемому технологическому решению, которое является довольно интересным. Но несмотря на это, популярности у широкого круга потребителей криптовалюте достичь не удалось ввиду недоработанности интерфейса кошелька и ряда других функциональных сложностей. В прошлом году представители Jaxx отменили интеграцию Monero именно по техническим причинам.

Основатель и президент Jaxx Этони Ди Иорио (Anthony Di Iorio) заявил, что до тех пор, пока технические проблемы, затрудняющие интеграцию Monero, не будут решены, Monero не сможет конкурировать с такими валютами, как Dash и Zcash, даже несмотря на использование достаточно прогрессивной технологии.

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

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

Блокчейны, использующие протокол zk-SNARK, лежащий в основе криптовалюты, могут незамедлительно приступить к проведению анонимных транзакций. Несколько проектов с многомиллиардной капитализацией, в частности, Ethereum, уже начали активное изучение и внедрение протокола.

В июле Кристиан Рейтвайснер (Christian Reitwiessner), руководитель группы разработчиков Ethereum Solidity and C++ implementation, рассказал, что в тестовой сети Ethereum была зарегистрирована первая анонимная транзакция Zcash.

Транзакция Zcash в EtherScan. Как видите, информации о точке входа и точке выхода нет, как и данных отправителя и получателя.

«Для проверки подлинности используется лишь одна составляющая реальной транзакции, происходящей в сети Zcash —  протокол zk-SNARK. Судя по всему, транзакция была проведена в январе. Я не знаю, кто создал транзакцию, какая сумма была отправлена, но сеть Ethereum «знает», что транзакция достоверна», — рассказал Рейтвайснер.

16 октября через хардфорк Byzantium протокол zk-SNARK был успешно интегрирован в сеть Ethereum. В течение недели несколько разработчиков — членов открытого сообщества Ethereum работали над осуществлением  конфиденциальной транзакции в тестовой сети Ethereum, в результате чего было установлено, что в сети Ethereum можно проводить анонимные транзакции на сумму до $72 млрд.

Почему Сноуден поддерживает концепцию доказательства с нулевым разглашением

Бывший сотрудник Агентства национальной безопасности Эдвард Сноуден (Edward Snowden) объяснил, что интеграция Zcash в сеть Ethereum благоприятно скажется и на пользователях сети, и на развитии децентрализованных приложений.

Согласившись с создателем Ethereum Виталиком Бутериным, Сноуден предположил, что «за доказательствами с нулевым разглашением — будущее безопасной торговли». Он добавил: «Технология защиты конфиденциальности Zcash делает эту валюту самой интересной альтернативой биткоину. Биткоин хорош, но не гарантирует анонимности, а следовательно, не безопасен».

Сноуден отреагировал на критические отзывы об используемой в Zcash системе trusted setup (доверительная установка), согласно которой в процедуре установки должны были принять участие 6 человек. Одним из них, кстати, стал Питер Тодд, разработчик Bitcoin Core. Каждый из 6 участников должен был удалить свою часть секретного криптографического ключа Zcash, иначе сеть не удалось бы привести в действие.

«Процедура устроена таким образом, что шансы скомпрометировать каждого из ее участников (что представляет собой единственную возможность причинить вред системе), стремится к нулю. При этом возникновение скрытого изъяна в современной криптографии представляется вариантом гораздо более возможным» – отметил Сноуден.

habrahabr.ru

Bitcoin на пределе? Почему криптовалюту ждут тяжелые времена / Хабр

О плюсах, красоте и изяществе Bitcoin написано больше, чем много, майнеры строят фабрики, более-менее идет интеграция в ecommerce. Но не смотря на относительно короткую историю криптовалюты, уже можно заметить тревожные симптомы, которые, уже в недалеком будущем, могут сделать качество её работы неприемлемым или извратить её фундаментальные принципы.

В теории игр, помимо всего прочего, исследуется феномен под названием «трагедия общинного поля». Если кратко, это неспособность сдерживать свои личные аппетиты (или выполнять персональные обязательства) в ситуациях, когда личной выгоде противопоставлена коллективная ответственность. Что лежит в корне этого феномена вопрос больше к философам и психологам, остановимся на том что он просто есть, и проявлялся на протяжении всей истории человечества.

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

И несколько инцидентов последнего времени говорят о том, что биткоин не является здесь исключением.

Форк цепочки 04-07-2015

Форк цепочки блоков bitcoin — состояние, когда в сети существуют и продолжают рассчитываться одновременно две версии цепочки блоков. Такое возможно, когда в сети есть майнеры, которые рассчитывают новые блоки, но оформляют их не правильно, и есть значительное количество участников сети (около 50%), которые считают такие неправильные блоки правильными, включают их в свою локальную копию цепочки, анонсируют своим сосядем и продолжают рассчитывать следующий за неправильным блок. А остальные 50%, которые отвергают неправильный блок, продолжают рассчитывать уже свою версию цепочки по новым правилам.

Собственно, это и произошло. 10 января был анонсирован бюллетень обновлений, в котором немного изменялся формат подписи в блоках. Предполагалось, что к июлю, когда измененные правила вступит в силу, обновление будет установлено на большинстве (значительно больше 50%) участников сети. Но реальность оказалась иной, и это имело последствия:

  1. потеря денег продавцов — потеря транзакций обработанных в неправильных блоках
  2. потеря денег майнеров — по приблизительным рассчетам, майнеры потратили около 50 000$ на расчет блоков, которые потом были отклонены
  3. падение скорости транзакций — рекомендовалось ожидать 30(!) подтверждений (это количество блоков в цепочке, после блока в котором обработана рассматриваемая транзакция, т.е. по ~10 минут каждый) для сохранения доверия.

Флуд ничтожными транзакциями 07-07-15

Кто-то начал эксплуатировать «общее поле», создавая большое (десятки тысяч) количество транзакций с минимальной суммой перевода. Эти транзакции начали «размывать» очередь полезных транзакций (в среднем, где-то около 2 тысяч), которые ожидали своего проведения (включения в блок). Атака длилась до 15 июля, атакующий потратил около 30 BTC (7500$), и не смотря на попытки майнеров фильтровать мусорные транзакции, атакующий смог добиться:
  1. Потеря скорости проведения платежей
  2. Проблемы со связностью сети — транзакции создавали трафик который не все участники сети могли себе позволить
  3. Проблемы с майнингом — некоторые майнеры оказались технически не готовы работать очередью таких размеров
  4. Напряжение в bitcoin-сообществе — появились подозрения, что таким образом кто-то решил продемонстрировать необходимость изменения размеров блока.

The End Is Nigh?

«Сегодня в завтрашний день не все могут смотреть. Вернее, смотреть могут не только лишь все, мало кто может это делать.»(с)

Но мы попробуем, не смотря на предостережение мудрецов. Вспомним основные качества bitcoin, за которые мы его так любим:

  1. Нет единого центра доверия или управления. Клиентское ПО управляется только пользователем, цепочку можно проверить локально.
  2. Система распределена, нет какой-то единого арбитра, который может взять и её всю, например, остановить или почистить.
  3. Сложность майнинга зависит от вычислительных возможностей сети, грубо говоря, чем больше майнеров, тем сложнее провести две конфликтующие транзакции (doublespending attack).

Описанная проблема с клиентским ПО является прямым следствием пункта 1: мы не можем форсировать централизованный апдейт, так как у нас нет центра управления, а если мы накатываем его добровольно, то получается форк и участники сети несут коллективную ответственность(привет, общинное поле). Во что, в такой обстановке, будут выливаться апдейты протокола если сеть вырастет в 2 раза, а в 3?

Следствием из пункта 2 является описанная возможность флуда. Чтоб как-то его пережить, потребовалась работа со стороны майнеров, которым приходилось вручную вычищать транзакции, согласовывая свои усилия на форумах. Насколько это было эффективно трудно установить.

Но самым тревожным является третий пункт, аналитически доказано, что для того, чтоб начать всей сети диктовать свою версию цепочки (начать это делать с вероятностью 1), необходимо иметь 51% вычислительных мощностей сети. Если взглянуть на текущее распределение мощностей, то получается, что 90% всей вычислительной мощности контролируется 10 субъектами:

В 2017 году вознаграждение за блок (следовательно, доход майнеров) уменьшится вдвое, что может привести к «мору» некоторых топовых майнеров, которые вынуждены много тратить на амортизацию фабрик, и количество топовых майнеров станет еще меньше.

Итого, с одной стороны есть проблемы с качеством сервиса, которые решать в обозримые сроки возможно только через диктат решения, а с другой мы имеем 10 игроков, которые заинтересованы в работе системы. Следовательно, созданы условия для формирования картеля, узкого круга, который является основным бенефициаром изменений инфраструктуры, и который будет вынужден найти способ диктовать эти решения всем участниками системы, чтоб она развивалась без сбоев и приносила прибыль. (По поводу картелей в условия общинного поля, интересным для изучения примером может быть ОПЕК, а точнее их безуспешные попытки договориться повлиять на цену нефти. )

А теперь, главный вопрос: когда 10 субъектов, которые вынуждены договариваться (согласованно вносить изменения так что работа системы не была нарушена) и контролируют всю систему с помощью своих огромных вычислительных мощностей, о какой распределенности и независимости может идти речь, и чем такая система лучше, чем система которую контролируют 10 субъектов, но без огромных фабрик для майнинга, а каким-нибудь более дешевым способом?

habr.com


Смотрите также