Моя склонность — всё подвергать сомнению и блокчейн[1] не оказался исключением. Давайте взглянем на Цикл зрелости технологии (Gartner Hype Cycles). Где по Вашему находится Блокчейн? Естественно каждый для себя определит своё нахождение на том или ином цикле, которое свойственно проекту на каком-то из стадий разработки. Кто-то во всю развивает бизнес приложение и видит будущие горизонты, а кто-то только начинает знакомство. Но если взглянуть шире? Блокчейн неоспоримо засел в мысли и показал большой потенциал по трансформации многих сегментов взаимоотношения людей. Но у меня остаётся доля сомнения в отношении некоторых текущих принципов его работы. В итоге, я вижу эту стадию где-то на уровне пика завышенных ожиданий (Peak of inflated expectations) — общественный ажиотаж с чрезмерным энтузиазмом и нереалистичными ожиданиями. Что означает, впереди ещё ждать такие циклы как: Избавление от иллюзий, Преодоление недостатков, Плато продуктивности.

Поэтому, если Вам интересна критика и предположение иного подхода в определении консенсуса, то добро пожаловать под кат.

Обратимся к Биткоину[2]. Это одноранговая денежная система, в которой электронные транзакции совершаются участниками напрямую, минуя финансовые институты (доверенного лица/посредника). Где защита от двойной траты достигается путём консенсуса в пиринговой сети, основанном на доказательстве проделанной работы (Proof of Work[3]). В качестве стимула для поддержания системы эмиссируется криптовалюта и начисляется совместно с комиссией майнерам, которые данную работу выполняют. Возникает закономерный вопрос, а это не посредники? Да, с них убрали принцип доверия, в следствии чего уходит и ответственность (не кого будет винить), но ведь они и есть третья сторона, которым участники транзакций оплачивают за предоставленную услугу (обеспечение надёжности). Более того, огромная часть вознаграждения сейчас происходит за счёт эмиссии, а это означает, что те кто сейчас приобретает криптовалюту, сами того не подозревая (или подозреваете?), оплачивают за уже совершенные транзакции предшественников. Например, данный вопрос поднимался в 9 пункте от Gartner. В дальнейшем, когда эмиссия прекратится, то получаемая из этого ранее сумма распределится в качестве комиссии, что существенно взвинтит стоимость транзакции. С технической стороны этот вопрос может решиться увеличением размера блока или иными решениями типа SegWit[4] (только, на как долго решится?). Но экономическая сторона всё равно страдает. Надёжность обеспечивается тогда, когда кол-во майнеров огромно, ведь подразумевалось «один процессор — один голос». А в итоге они попадут в конкурентную среду, где единственным средством в перетягивании одеяла будет размер комиссии, в общем кто-то вырастет и останется на плаву, а кто-то уйдёт, либо будет поглощён. И от сюда возникает следствие — себестоимость транзакции. Чем система более децентрализована, тем стоимость транзакций будет выше. Чем она более централизована — тем ниже. Это обычные экономические реалии, подобная мысль уже была, только в отношении энергоэффективности, например здесь.

Следующий момент заключается в том, что хоть это и денежная система, но она замкнута сама в себе, иными словами блокчейн взаимодействует с миром через среду основанной на доверии. Также любой блокчейн зависит от собственной криптовалюты, обеспечивающая стимулирование надежности данной сети и осуществление транзакций. Соответственно, с одной стороны — это единая расчётная единица, что хорошо, с другой стороны — это прямая зависимость для функционирования приложений (уже не связанных с деньгами, но задействовавшие данный блокчейн) от судьбы её криптовалюты и стоимости транзакций. Дополнительно эффект замкнутости порождает вопрос, по какому правилу осуществлять эмиссию? Ведь тут уже, кто на что горазд: кто-то ограничивает, кто-то нет, а кто-то и вовсе применил принцип сжигания, как например в Proof of Burn (доказательство сжигания).

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

Вернёмся к блокчейн — это цепочка блоков с записями о транзакциях, формирующихся непрерывно, защищенность обеспечивается криптографией. Каждый блок содержит информацию о предыдущем блоке. Блокчейн представляет собой распределённый реестр данных, полная копия которой или её части одновременно хранится на множестве компьютеров. Формирование новых блоков осуществляется по определённому алгоритму консенсуса, как описывал выше, например, основанной на доказательстве проделанной работы (Proof of Work) или иных. При этом, частым явлением является ветвление цепи, это когда одновременно формируется несколько новых блоков, каждый из которых считают предыдущим один и тот же блок. Ветвление прекратится, как только будет найден новый блок, который продолжит любую из ветвей. Все узлы переключатся на ту цепь, которая имеет самую длинную версию и продолжат работать над её удлинением. Т.е. блокчейн представляется линейным. Теперь представьте, на сколько такой блокчейн перегружен лишней работой? Полная актуальная версия цепи хранится на специальных узлах сети, называемые полными нодами, остальные узлы (лёгкие кошельки, используемые пользователями) обращаются к полным в случае необходимости проверить что-либо. Полную версию блокчейна может скачать любой желающий. Но с учётом того, что блокчейн развивается уже не только для транзакций, но и в качестве реестра различных событий, и также даёт возможность работы различных приложений. А в графическом виде блокчейн представляется линейным, то на сколько увеличится размер такой цепи в будущем? Ведь огромный размер приведёт к риску централизации. Лишь единицы смогут держать полную ноду исчисляемую Тб, а значит единицы смогут вступить в сговор и навязывать правила.

Рассмотрим Proof of Stake[3]. Доказательство доли — это второй наиболее известный алгоритм консенсуса, который является альтернативой Proof of Work. Аргументом в пользу PoS является отсутствие в необходимости огромных вычислений и предоставляет малый входной порог. В изначальном PoS идея заключается в том, что вместо вычислительной мощности как в PoW (требующая больших затрат), вероятность создать новый блок пропорциональна доле владения (криптовалютой) пользователя в системе. Соответственно, чтобы нарушить данную систему, потребуются значительные средства и вместе с этим нарушив устойчивость блокчейна сам же и пострадаешь. Но такой подход приводит к тем же результатам централизации, что и в PoW, только быстрее. Поскольку даёт ту же мотивацию накопления средств в одних руках. В результате появились вариации PoS, это: Proof of Activity (доказательство активности — гибридная схема PoW и PoS); Delegated Proof of Stake (делегированное подтверждение доли) и Leased Proof of Stake (арендованное подтверждение доли). DPoS основан на том, что владелец доли, посредством голосования пропорционально своей доли, делегирует обязанность определённому числу делегатов, которые по очереди в случайном порядке генерируют блоки. LPoS основан на том, что пользователи могут сдавать в аренду (вместо голоса как на DPoS) свой баланс узлам (нодам), тем самым получая часть прибыли. Кол-во узлов ограничено для улучшения характеристик скорости работы блокчейна. В итоге, по сути в целом PoS напоминает банковскую систему, только трансформировавшуюся. С тем же успехом, можно было создать блокчейн среди банков, где каждый, кто имеет лицензию, должен быть полной нодой и своим балансом участвовать в генерации блоков (зависящий от вкладчиков) и делать это между собой для оптимизации бизнес процессов, а в дальнейшем и предоставление различных IT решений для работы приложений.

3D Блокчейн. Доказательство на лицо (PoF)


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

Взгляните на рисунок, это задача. Необходимо соединить все 9 точек четырьмя линиями, идущими непрерывно друг за другом. Данная задача демонстрирует принципы выхода за рамки мышления. Быть может и к блокчейну это применимо и не отталкиваться от старых парадигм в виду его выхода за рамки денежных транзакций? Поскольку в блокчейн не нужно доказывать всем о его необходимости, потенциале и он уже давно дистанцировался от обычных транзакций, и предоставил такие возможности как распределённый реестр данных, осуществление смарт-контрактов, децентрализованных приложений, а также проведение ICO. Тогда возможен ли блокчейн без майнеров обеспечивающих надежность? И без основной криптовалюты, которая необходима прежде всего для стимулирования обеспечения этой надежности? Сама то криптовалюта конечно необходима для осуществления денежных транзакций, просто сам блокчейн будет от неё независим, и иные действия не связанные с денежными транзакциями будут протекать обособленно. В таком случае, кто будет обеспечивать надёжность системы? У кого уже есть стимул делать это безвозмездно, но с той же степенью защиты?

Обратимся опять к статье от Сатоши Накомото[2]. Там говорилось, что если один голос это IP-адрес, то такую схему можно скомпрометировать. В итоге добавили «сложность», чтобы схема была иной «один процессор — один голос». Т.е. привязка идёт к физическому миру. Тогда, быть может в физическом мире найти замену процессора. Или быть может, чтоб процессор действовал от чьего-то лица?

Назовём криптовалюту как сервис и обратимся к участникам блокчейна (помимо майнеров):

  • Есть криптовалюта как сервис, для осуществления денежных транзакций и смарт-контрактов, в условиях которых также прописано осуществление данных транзакций.

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

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

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

Взгляните на схему формирования блока.



Условно представим, что Х, А, Б, В, С, Г, Д, Е это пользователи. Под словом транзакция также подразумевается сделка. Разберём пример с пользователем Б.

  1. Пользователь Б отправляет транзакцию пользователю С. Данная транзакция называется Тб и находится в статусе ожидания.

  2. Её валидность и запись в открытый блок осуществляет чужая подтверждённая транзакция, в данном случае Та.

  3. В открытый блок, уже принадлежащей транзакции Тб, также записывается информация его валидатора — транзакция Та.

  4. Транзакция Тх, являющаяся валидатором транзакции Та, проверяет цепочку блоков, принадлежащих пользователю Б, и относящаяся к сервису в котором была осуществлена транзакция Тб, на:

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

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

    • Присутствие иных отправленных транзакций, на случай если одна из них ушла в офлайн.

  5. Если всё нормально, транзакция Тх, подтвердив валидность транзакции Тб, записывает свою информацию в блок транзакции Тб.

  6. Т.к. в отношении Тб всё нормально, Транзакция Тб проверяет валидность своего первого валидатора — транзакции Та. Если всё нормально, информация транзакции Тб записывается в блок принадлежащей транзакции Та.

  7. Транзакция Та закрывает блок валидатора … (подробнее по аналогии в 10 пункте на примере закрытия блока Тх).

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

  9. Повторяется процесс в отношении транзакции Тв (с 2 по 6 пункт).

  10. С момента как Тв записалась в блок транзакции Тб. Тб осуществляет закрытие блока транзакции Тх. При этом также Тб и Тв проверяют транзакцию Тх.

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

Сложность подобного подхода заключается в том, что в блоке принадлежащей транзакции Тб все 5 транзакций валидаторов должны подтвердить Тб. Представим, что в блоке транзакции Тв, в момент его закрытия, Те отклонила валидность Тв. Это весомое «заявление», но как видите, Те уже была подтверждена транзакциями Тг и Тд, и более того, заключена ими в блок. Тг и Тд также являются валидаторами Тв. В таком случае Те также проверяют транзакции Та и Тб. Если она не подтверждается, Те отклоняется и блок транзакции Тд ищет иную транзакцию из ожидания. Если Те валидна, то происходит повторная проверка Тв всеми транзакциями и при повторном отклонении транзакцией Те или иной, блок Тв аннулируется. Тв признаётся не валидной. В следствии этого закрытые блоки Тх, Та и Тб содержат неактуальную информацию, т.е. ложь. Что бы это исправить, необходим обратный процесс — распад блока.

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

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

Теперь представим данный блокчейн графически. У нас есть различные сервисы (ось X) на блокчейне (разные криптовалюты — государственные или нет, платформы смарт-контрактов, приложения и т.п.) предоставляющие тем самым возможности (услуги и продукты) клиентам (ось Y), которыми являются как физ. лица, так и юр. лица. А также транзакции клиентов (ось Z). В итоге получается, что у одного лица в разных сервисах свой блокчейн, но при этом связан воедино с остальными. Иными словами Если пользователь Б зарегистрировался в сервисе 1 (например, криптовалюта ЦБ), то все транзакции порождённые пользователем Б в данном сервисе будут записываться последовательно цепочкой в его (пользователя) блокчейне, относящийся к данному сервису. При этом сервис 1 также будет вести последовательность цепочки, но чередуя транзакции от всех пользователей сервиса (т.е. своеобразно будет нодой, последовательно записывающая блоки порождённые пользователями данного сервиса), но при этом не является основным хранителем цепочки, а лишь представляется резервом. Это обусловлено тем, что исходя из схемы формирования блока, каждая транзакция порождённая пользователем Б также записывается в блоки иных шестерых участников (в их блокчейн), это принимающий транзакцию (пользователь С) и пять валидаторов (Та, Тх, Тв, Тг, Тд каждая из которых могла быть осуществлена в ином сервисе). Удивительно, это совпало с теорией шести рукопожатий. Если верить которой, то совершая все участники транзакции будут условно соединены друг с другом как одно целое. Это значит, если кото-то захочет изменить информацию в своём блоке, то данному лицу потребуется подговорить изменить её ещё у шестерых участников, те в свою очередь у своих и далее до конца.

Когда пользователь регистрируется в каком-либо из сервисов, порождается генезис блок. В результате есть два способа генерировать первые блоки транзакций:

  • Два генезис блока открывают блок чужой транзакции, тем самым становятся его валидаторами.

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

Далее всё по схеме формирования блоков.

Заключение


Бесспорно, многих может оттолкнуть подобный подход доказательства на лицо (Proof of Face), т.к. для его осуществления требуется верификация пользователя, включая биометрию, но которая послужит своеобразным закрытым ключом. (заметьте, биометрия в PoF не должна храниться в электронном виде где либо, она лишь является закрытым ключом для генерации публичного). Но с другой стороны, все страны (в том числе различные организации) сейчас ведут разработки по верификации посредством биометрии, и рано или поздно произойдёт переход с бумажного паспорта на цифровой. А его информация будет либо централизована (что уже мало вероятно), либо заключена в блокчейн, который вероятнее всего будет работать на Proof of Stake с криптовалютой от ЦБ, где полными нодами будут банки. Соответственно через них пойдут уже не только денежные транзакции, но и любые сделки. В общем и в целом всё это сугубо последствиями описанными выше, это зависимость от криптовалюты блокчейна, зависимость от стоимости транзакций, а также вероятность осуществления контроля (операторами — полными нодами) ввиду склонности к централизации в угоду экономических/политических интересов.

Тогда подход основанный на Proof of Face, который позволит пользователям быть собственниками своего блокчейна в каждом сервисе отдельно, выглядит более приемлемо. Окончательная невозможность централизации позволит любому оставаться в сети, т.к. сценарий, когда миллионы людей захотят одновременно не принимать транзакции от конкретного человека исключены. Бесплатность простых транзакций так, как это происходит в реальном мире при передаче наличных денег из рук в руки. Отсутствие платы для работы приложений, что действительно сократит издержки осуществляющим сервис. Независимость блокчейна от судьбы той или иной криптовалюты. Малый размер цепочки блоков, т.к. каждая цепочка формируется у каждого пользователя личная и отдельно по каждому сервису, что положительно скажется на скорости валидации. Соответственно и скорость транзакций теоритически будет выше, чем в ныне существующих блокчейнах. Сохранность данных цепочек обеспечивается в устройствах самих пользователей, где каждый блок пользователя синхронизирован с ещё 6 участниками. А также в нодах, записывающих блоки своих пользователей. Примените теперь принципы критографии к схеме формирования блоков и последовательности формирования цепочек, что в совокупе обеспечит помимо защищенности и сохранности информации ещё и конфиденциальность. Ведь не обязательно в каждом блоке сохранять всю информацию по каждому валидатору, а можно лишь её часть, применив например дерево Меркла.

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

  1. На государственном уровне, при переходе из бумажного паспорта на цифровой.
  2. Как Open Source проект отдельного блокчейна.
  3. В качестве Сайдчейна.

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

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

Третий способ подразумевает, что ныне существующие блокчейны — это сервисы в рамках данного подхода, предоставляющие различные IT решения для конкретных задач. А консенсус PoF позволит объединить их и породить полную взаимосвязь.

Есть истина истенней чем другая истина, но есть истина лучше, потому истинно то, что полезно.

P.S. В момент написания статьи, я к сожалению не был знаком с решениями основанными на DAG (направленный ациклический граф), реализованных в Byteball и в IOTA. Но суть от вышеизложенного не меняется. Вероятно, используя DAG, можно исключить такое свойство как распад блока и вообще создание блока, оставив лишь схему, заодно решив задачу с одновременной отправкой нескольких транзакций.

Список литературы
[1] Блокчейн
[2] Перевод статьи Сатоши Накомото. Биткойн: система цифровой пиринговой наличности
[3] Что такое Proof-of-Work и Proof-of-Stake
[4] Что такое Segregated Witness
[5] White Paper Ethereum перевод
Поделиться с друзьями
-->

Комментарии (26)


  1. tehSLy
    19.07.2017 17:12

    Эх, так и не смог соединить злополучные 9 точек =(


    1. Kain_Haart
      20.07.2017 06:29

      [deleted]


    1. Don_Eric
      20.07.2017 15:21

      4 линии
      image


  1. maslyaev
    19.07.2017 19:07
    +1

    Недавно здесь же на Хабре тоже постил статью с мыслями в похожем направлении: Альтернативы блокчейну для ведения защищённых реестров.

    Насчёт PoF. Чувствую, что идея интересная, но до конца в неё не врубаюсь. Поправьте, если всё не так понял.

    Получается, что валидность транзакций подтверждают сами пользователи, которые сами в этот данный конкретный момент решили что-то в блокчейн запостить. Так? Если так, то непонятна семантика этого действия — «подтвердить валидность транзакции». Допустим, узел «Х» должен подтвердить валидность транзакции «Та», в которой написано, что юзер «А» перечисляет юзеру «Ж» 100500 денег. Чтобы сказать «да», узел «Х», наверно, должен проверить, что на счету отправителя есть такие деньги. Но откуда это он может узнать, если он не есть полная нода? Видимо, в этой ситуации он должен спросить у старших товарищей. Например, у сервера Госкомблокчейна, ага? :))
    То есть в итоге «Х» или просто не глядя подмахивает все поступающие транзакции (смысла в этом не очень много), или упрямо вредничает (смысла ещё меньше), или всё равно в итоге делегирует принятие решения госконторе, где специально назначенные ответственные товарищи решают, кого казнить, а кого миловать.


    1. KaIN389
      23.07.2017 17:52

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

      Наоборот была попытка максимально отойти от этого… Т.к. убеждён, что если в среде присутствует система регулирования, то в этой среде есть средства манипулирования.

      В общем всё верно, кроме госкомблокчейна :) Видимо, мой малый опыт в написании статьи, отражается в сумбурности…

      Каждый пользователь ведёт собственный реестр своих сделок, в виде цепочки блоков в жанре классика. Где запечатлено: его личная/приходящая транзакция и информация валидаторов. При этом, каждая транзакция осуществляется в каком-то сервисе. Данный сервис ведёт свой реестр и также записывает в свою цепочку блоков, где отражаются транзакции их клиентов совместно с валидаторами. Обратите внимание, что каждая транзакция также является валидатором чужих транзакций.
      Иными словами получается, что бизнес ведёт собственный реестр по сделкам своих клиентов. Так и человек ведёт собственный реестр своих сделок. А сохранность и неизменность записанной информации достигается путём горизонтального взаимодействия, по схеме с валидаторами при осуществлении транзакций. Благодаря чему нет необходимости делать общую «колбасу», а потом из-за чрезмерной её длины пытаться всячески её поделить. Будь то легкие кошельки или иные решения в виде шардинга.

      Соответственно, с того момента, как в узле «Х» пользователя X отправленная транзакция «Тх» получило право стать валидатором транзакции «Та». Узел «Х» может обратиться к узлу «А», что бы узнать последнее состояние баланса пользователя А и далее проверить истинность, пробежавшись по реестрам, способами: по вертикали и горизонтали.
      По вертикали: обратиться к реестру пользователя А и/или обратиться к реестру сервиса, в котором осуществлена транзакция «Та».
      По горизонтали: обратиться к реестрам валидаторов запечатленных в предыдущих блоках пользователя А и/или к реестрам сервисов данных валидаторов.


      1. Hardcoin
        24.07.2017 11:18

        Общая "колбаса" имеет большой смысл — проверить, есть ли у человека те 1000 монет, которые он вам переводит. А то закрылся сервис, в котором была транзакция Та, а сам человек у себя из реестра ее удалил — и вот вам двойная трата, потому что проверить уже негде. Как предотвратить?


        1. KaIN389
          29.07.2017 18:12

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

          Странно, но человеку свойственно бросаться из одной крайности в другую. Выкидывать полностью в топку существующие решения ведения реестров, которые на сегодня относительно хорошо справляются, ни есть правильно. Например, все мы держим активы в банке и практически толком не задумываемся о том, что может произойти. Просто ориентируемся на: различные правила, репутацию банка, государственный контроль (за реестрами) со стороны ЦБ, страхование вклада или в крайнем случае на судебное исполнение.
          Да, происходят достаточно редкие казусы, от которых самым пиковым моментом является решение регулятора отозвать лицензию. Но какова первопричина? Разве в потере данных из реестра? Нет, эти данные постоянно бэкапятся! Первопричина в том, что эти самые данные владелец может ПРАВИТЬ. Глубина правки уже зависит от внутренних факторов (банальная человеческая ошибка или действие сотрудника, который не чист на руку) или внешних факторов, на сколько хорошо мониторятся данные регулятором, на сколько сильны связи и коррупция.

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

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

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


          1. Hardcoin
            29.07.2017 18:30

            Нельзя запретить редактировать реестр (разве что юридически). Но можно узнать, что тебе подсовывают отредактированную копию и отвергнуть ее. Шардить можно, но это все та же самая полная копия, разбитая на части. Т.е. опять же все транзакции публично доступны.


            Закрылся сервис — это, например, интернет-магазин (без своих особых токенов). Если он перестал вести реестр, как вы узнаете, что я все свои деньги вчера в нем потратил? В эфире или биткоине вы можете проверить у любой полной ноды, что на моем кошельке ноль. А в данном случае? У другого валидатора? Если закроются несколько валидаторов — то уже никак не проверите? В биткоине можно проверить, пока осталась хотя бы одна полная нода.


            Государственная криптовалюта — это обычные безналичные деньги. Зачем им публичный реестр? Показывать платежи всей страны? Зачем? А закрытый реестр от обычной базы отличается мало — клиентам все равно, да и проверить никак нельзя, нужно верить ЦБ на слово.


          1. Hardcoin
            29.07.2017 19:09

            Просто ориентируемся на: различные правила, репутацию банка

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


            Если кому-то все равно (он готов доверять банку и проходить проверки), то биткоин ему не нужен, вообще-то.


  1. Kain_Haart
    20.07.2017 06:38
    +3

    нельзя подговорить огромное кол-во людей на пагубные действия

    Но можно создать неограниченое число фейков если за каждый новый кошелек получаешь дополнительный голос


    верификация клиента (лица) посредством биометрии

    А если не давать возможность создавать неограниченное кол-во кошельков, а ограничивать «один физический человек — один кошелек» то биометрическое подтверждение наличие физического человека потребуется делегировать некой инстанции, в результате чего получаем обратно централизованность и необходимость доверия этой инстанции


    1. jamset
      20.07.2017 21:47
      +1

      потребуется делегировать некой инстанции


      а разве не может быть так, чтобы этой инстанцией выступал open source протокол?

      То есть когда только данное open source ПО и железо (распечатываемое на принтере или покупаемое, на свой страх и риск) считается валидным источником, и при этом сам процесс оценки валидности тоже p2p, на процессорах, в рамках IoT и распределенного/децентрализованного компьютера/ОС.


      1. Kain_Haart
        24.07.2017 07:14

        Как в таком случае определить что это реальный человек и его реальная биометрия, а не "нарисованный в фотошопе отпечаток пальца"


        1. KaIN389
          29.07.2017 17:12

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


          1. Hardcoin
            29.07.2017 18:33

            Как отличить пользователя от бота? Или не нужно отличать? 5 реальных валидаторов говорят, что я заплатил за товар (есть транзакция), а 500 тысяч фейков говорят, что транзакции нет — кому верить? Как найти консенсус в этом случае?


  1. FHUser
    20.07.2017 09:56

    нельзя подговорить огромное кол-во людей на пагубные действия

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


  1. thatsme
    20.07.2017 11:50

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


    Биометрия? Закрытым ключём? Та биометрия, что на вашем пасспорте, т.е. публичная?

    Идея с валидаторами не нова, однако есть проблема, — объём данных и синхронизация 6-ти цепочик Т.е. 5 валидаторов для 1-й цепочки, это 5х операций записи в цепочки с неизвестным временем синхронизации.

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

    И да… IMHO PoS это довольно однобокое решение. Всётаки смешанные PoS+PoW схемы, пока кажутся наиболее стабильными и саморегулируемыми.


  1. thatsme
    20.07.2017 11:54

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


    Самое вредное заблуждение, которое я уже устал замечать у 70% новых апологетов block chain.

    Ключевое слово trustless — без доверия. T.e. валидация (доказательsтво) всего, включая верность работы протокола, а не только самих данных. Proof vs Trust.


  1. Sklott
    23.07.2017 17:45

    Каким образом биометрические данные могут быть закрытым ключем? Их же кто угодно может «считать», а вы еще пишите что их невозможно украсть…

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


    1. KaIN389
      23.07.2017 18:11

      Благодарю за заданный вопрос и замечание.
      Действительно из-за того, что биометрические данные не являются абсолютными величинами они становятся не оптимальными для материала криптографического ключа. Но, являются не оптимальными, поскольку ставят перед ними задачу немного иного характера — определение личности. По этой причине дополнительно делают сопоставление с сохраненным образцом на сервере или ином устройстве.
      Я же исходил немного из других задач:
      — Устройство действует от лица человека (кого конкретно — это не важно).
      — Биометрия предполагается для защиты определения принадлежности данных самим пользователем.
      Иными словами, никто не знает чьё это, до тех пор пока действительный хозяин не скажет — это моё.
      Таким образом исходил из идеалистических представлений, как нужно бы чтоб выглядело.


      1. Sklott
        24.07.2017 11:01

        Если биометрические данные используются как закрытый ключ, то возникает ряд вопросов:
        1) Как определить что это вообще были биометрические данные, а не рандомные данные. Ведь они никуда не отправляются.
        2) Как определить что это «мои» данные? Может я пошел в морг и наснимал сотенку «отпечатков» мертвых душ?
        3) Как 100% защититься от «кражи» биометрических данных. Сейчас например в стольких местах снимают отпечатки пальцев, что украсть их при должной мотивации (а мотивация ломания блокчейна очень велика) очень легко.


        1. KaIN389
          29.07.2017 17:08

          1. Останется открытым, просто его решение не следует рассматривать как нечто отдельное, необходимо смотреть в рамках системы в целом
          2. В таком случае, когда Вам понадобится доказать обществу, что это принадлежит Вам — Вы не докажите
          3. Никак, всё что попадает в сеть может быть скомпрометировано. Поэтому бесспорно необходимы решения для предотвращения этого, но ведь также не мало важным вопросом является: что делать, если это произошло? В случае с тем же биткоином ничего, если потеряли ключ, значит потеряли все, это один из «камней» почему он не годится в массы. В случае же с биометрией этот сценарий восстановления возможен, ведь истинный ее источник является оригиналом. Сопоставить это можно с существующей практикой в области рукописной подписи на бумаге.


          1. Hardcoin
            29.07.2017 18:45

            Нужно не только восстановить, нужно, что бы другие не могли "восстановить" вместо вас. Рукописная подпись на бумаге, это надёжно. Бывают случаи, когда подпись подделывают. Зачем тащить такое же ненадёжное решение в 21-й век?


            Биометрию будут красть и это ещё хуже, чем пин-код. Можно выпустить новую карту, а биометрию у вас украдут на всю жизнь.


            Никогда не сможете больше заводить онлайн-деньги — с вашей биометрией их сразу же будут красть. Как минимум нужен дополнительный пароль (фактически, приватный ключ)


            1. Hardcoin
              29.07.2017 18:46

              Опечатался.
              *рукописная подпись на бумаге — это НЕ надёжно.


  1. Hardcoin
    24.07.2017 05:36

    Атаки также маловероятны

    Атаки крайне вероятны. В pow нужно купить половину мощности, в pos половину монет, в pof — забить на свою репутацию. Найдете ли вы людей, которые забьют на свою репутацию ради миллиона баксов? Легко. Даже ради 100$ легко найдете.


    1. KaIN389
      24.07.2017 05:38

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


      1. Hardcoin
        24.07.2017 11:22

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