temmokan: (Default)
[personal profile] temmokan
Дня не проходит, чтобы не появилось десятка-двух панегириков блокчейну (так и тянет дописать: "Великому и Ужасному"). Чтобы лишний раз вызвать скуку у тех, кто в курсе, и лёгкое непонимание у тех, кто нет, вначале вкратце о том, что такое блокчейн. Совсем вкратце: "распределённое хранилище (в оригинале: "distributed ledger", т.е., распределённая бухгалтерская книга, гроссбух) записей, позволяющее эффективно, достоверно и на постоянной основе фиксировать транзакцию между любыми двумя участниками". Блокчейн - цепочка записей, в которой каждая следующая хранит контрольную сумму (точнее, хэш) предыдущей - таким образом, с высокой вероятностью подделать уже попавшие в цепочку записи не получится.

Однако до того, как попасть в цепочку, транзакция должна пройти подтверждение несколькими владельцами копий этой самой цепочки (не забыли слово "распределённая"?). Достижение согласия участников достигается разработанным в 1999 году алгоритмом PBFT ("Practical Byzantine Fault Tolerance", в примерном переводе "Практическое решение задачи византийских генералов"). Интересующимся: почитайте про эту задачу - это само по себе интересно.

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

Очевидно, теперь я должен сказать "биткойн" и пояснить, отчего это революционно, круто и неизбежно (голосом Агента Смита). Ну, сказать мне не жалко: биткойн, биткойн, биткойн! Могу ещё упомянуть алгоритм "Proof of work" - то, что используется для того, чтобы участники сети не слали безвозмездно свои транзакции сколько хотят - пусть сперва потратят ресурсы на сложные мат.вычисления в большом объёме - т.е., потратят свои ресурсы, включая время.

Ничего не случилось? Не раздался стук в дверь, не ударила молния, по спине не пробежали мурашки, а на вашем биткойн-счету не появилось, внезапно, сотник-другой этих дивно дорогих криптомонет? Какая жалость. Ударение в первом слове предыдущей фразы на второе "а".

То, что предложена технология условно вечного хранения информации (не забыли: "на постоянной основе") во множестве копий по всему свету - это хорошо (хотя позже я расскажу о чудовищных возможных неприятностях, с этим связанных). Что нас раздражает в современной экономике (прикинусь, что у нас всех есть то единственное, что раздражает)? Например, то, что экономику очень легко прогнуть под неэффективные или неэтичные способы использования.

Когда (пофантазируем) у нас есть "Great Distrubuted Ledger" ("Великий Гроссбух"), не будет ничего проще задачи отследить транзакции. Скажем, я, честнейший и преданнейший слуга народа ("я" в данном случае говорит лирический герой моей публикации, а не её автор - прим. автора), решаю помочь своему народу в решение одной из фундаментальных его проблем - например, починить дороги. Я создаю компанию, которая предлагает наилучшие условия для освоения бюджета (вы правильно поняли слово "освоение" - прим. лирического героя), и небольшую часть полученных от бюджета средств перевожу, через десяток фирм-однодневок куда-нибудь на счета цюрихских гномов. А что? Все так делают. Всё равно то, что удастся купить на оставшееся, разворуют уже в материальном виде. А так деньги целее будут. И главное, при использованных отработанных механизмах передачи уже не понять никогда, куда именно делись деньги.

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

Улавливаете позитивные последствия для экономики (ничего позитивного - прим. лирического героя; тебя не спрашивают - прим. автора)? Забавно, когда слуги народа всерьёз говорят о "государственном блокчейне". Сейчас все до единого документы можно подделать и заменить, и прощайте, шансы найти истину - кто именно куда именно что именно дел. Блокчейн будет это всё фиксировать. Если дать возможность Кому Положено модифицировать записи задним числом - это уже не блокчейн, а ещё одна чёрная бухгалтерия в электронном виде. Если не дать - ещё смешнее. Как если бы коррумпированный чиновник крал деньги, чтобы с их помощью противостоять коррупции.

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

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

Первый пункт для орингинального блокчейна оригинального биткойна уже не представляется возможным решить; предельное число транзакций для биткойна порядка 7 в секунду (этого всегда и всем хватит для всех потребностей бизнеса - голосом Билла Гейтса). Да-да, продвинутый читатель уже знает про BIT 91, про SegWit и Lightning Network. Но пока всего этого нет, плюс неизбежные для любого ПО ошибки и проблемы безопасности... словом, желающие видеть блокчейн на горе пока могут развлечься, спекулируя на возникающих и сдувающихся ICO.

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

Для нужд учебных заведений (на основе протокола "Proof of brains").
Для нужд медицинских учреждений ("Proof of health").
Для духовных организаций и учреждений (семейство протоколов "Proof of faith").
Для гос.учреждений и органов власти ("Proof of bribe").
Для политических партий и объединений ("Proof of lies").
Для СМИ и примкнувших к ним ресурсов ("Proof of buzz").
Для всех, кто участвует в культурно-массовых мероприятиях ("Proof of clap").
Для математических сообществ разного рода ("Proof of proof").
Для всех творческих людей и выдающихся деятелей в целом ("Proof of fame").
Для соц.сетей ("Proof of like").
Для работников автоинспекции ("Proof of fine").

И так далее. Вас может ограничить только ваше воображение.

lion_casserole: (Default)
From: [personal profile] lion_casserole
.
Выигрышная стратегия в такой постановке: независмо от приказа от Алекса, взять командование на себя и сообщить всем, что нужно наступать. Поскольку все верные генералы понимают, что их совместное наступление приведет к победе, противник обречен. Даже если все остальные - продались, наступление единственного верного Юстаса приведет к победе.

С блокчейном документооборота не все так просто. Допустим, что условный Витя договорился и отстегнул условному Вове какие-то 146 процентов за красивые глаза. В блокчейне окажется запись о таком поступке, всего-и-делов-то. Транзакция состоялась, а спросить не с кого, поскольку Витя благополучно уехал к Вове в Тамбов.

Block-chain and Version Control

Date: 2017-12-25 02:10 am (UTC)
lion_casserole: (Default)
From: [personal profile] lion_casserole
.
Мне однажды пришлось решать следующую задачу. В общих библиотеках находились исходные модули программ, которые были доступны для просмотра и модификации программерам на трех континентах. Обычно программер получал задание и имел возможность забрать необходимый модуль ( как правило - совокупность модулей, макросов и файлов конфигурации ) в свою личную или общую рабочую библиотеку, и заниматься корректировками, модификациями и тестированием автономно, то есть независимо от других сотрудников.

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

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

Вот этот Fork-Fork-Fork-Join-Fork...Join-Join процесс было не сравнить с задачей ведения учета изменений, когда новое звено можно присоединять к цепи только после как остыло предыдущее.
Edited Date: 2017-12-25 02:18 am (UTC)
lion_casserole: (Default)
From: [personal profile] lion_casserole
.
Иной раз вендор меняет что-то в своем коде и непокобелимые, казалось бы, устои, на которых базируется, например, перехват и обработка прерываний, идут под три черты... Или в компиляторе под новую операционную среду вдруг запрещают применение оператора goto и забывают реализовать inline-вставки в машинном коде и на языке Ассемблера...

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

Был у меня один работодатель, который от безрыбья запряг в реализацию проекта полтора десятка IBM-ских кобольщиков, наскоро перезаточенных для кодирования на языке Ассемблера, а потом два десятка лет запрещал вносить изменения в несопровождаемый код, мотивируя это тем, что не следует инвестировать в инспекцию и стандартизацию, пока Заказчик не видит проблем. А вот когда Заказчик жаловался и открывал рот, вот тогда приходилось фокусничать и ставить заплатки на лету, потому что we have no chose, we need introduce a fix sofort.

(no subject)

Date: 2017-12-24 07:41 pm (UTC)
rasta: (Default)
From: [personal profile] rasta
/Если дать возможность Кому Положено модифицировать записи задним числом - это уже не блокчейн, а ещё одна чёрная бухгалтерия в электронном виде. Если не дать - ещё смешнее. Как если бы коррумпированный чиновник крал деньги, чтобы с их помощью противостоять коррупции./

По-моему в отношении блокчейна в принципе не существует такой постановки вопроса.

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

Каким образом вы можете "дать" в такой системе "возможность Кому Положено модифицировать записи задним числом"?

(no subject)

Date: 2017-12-25 03:10 am (UTC)
rasta: (Default)
From: [personal profile] rasta
Только доступа недостаточно.

Для подсовывания фальшивых блоков и переписывания всех протоколов на всех устройствах, по той же "византийской задаче", должны быть скомпрометированы (инфицированы ложной базой) больше 2/3 всех устройств.

Edited Date: 2017-12-25 03:14 am (UTC)

(no subject)

Date: 2017-12-25 10:12 pm (UTC)
rasta: (Default)
From: [personal profile] rasta
Даже если доступ к майнингу только у госструктуры и все несколько миллионов устройств по всему миру получают обновления только от государственных структур (хотя майнинг и синхронизация протокола это не одно и то же).

Даже в таком случае липу они могут подсунуть только в "новых" блоках. Но не в уже записанных "старых".

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


Edited Date: 2017-12-25 10:17 pm (UTC)

Это не блокчейн

Date: 2017-12-25 11:16 pm (UTC)
rasta: (Default)
From: [personal profile] rasta
Вы описываете просто очередной онлайн бэнкинг с нагрузкой в виде непонятно для чего сгружаемой базой транзакций, в которой неизвестно сколько липовых данных.

Это не блокчейн.

Data integrity

Date: 2017-12-27 06:06 am (UTC)
rasta: (Default)
From: [personal profile] rasta
Основные принципы блокчейна
1. Децентрализация
2. Неизменность протокола "прошлых" транзакций
3. Анонимность пользователей
4. Невозможность "размывания капитала" дополнительными эмиссиями.

(Если липовый хеш в блоке не отбраковывается, как ошибочный, то не выполняется пункт 1, и это уже не блокчейн, а очередной онлайн бэнкинг с нагрузкой в виде липовой базы - "Once recorded, the data in any given block cannot be altered retroactively... Each block includes the hash of the prior block in the blockchain, linking the two. The linked blocks form a chain.[1] This iterative process confirms the integrity of the previous block, all the way back to the original genesis block")


Кстати, если вы сами понимаете, что в такой "центрально-государственной" системе эти основные принципы блокчейна не будут выполняться. То есть фактически это будет НЕ блокчейн, то почему вы не считаете разумным не позволять им подсунуть подобную липу под видом блокчейна, и (хотя бы по возможности) обращать внимание людей на эту подмену?



Edited (опечатка) Date: 2017-12-27 06:42 am (UTC)

(no subject)

Date: 2017-12-27 10:39 pm (UTC)
rasta: (Default)
From: [personal profile] rasta
Именно. Как сейчас центробанки развитых и недоразвитых демократий создают инфляцию денежной эмиссией - обесценивают фиатные деньги, осуществляют снижение их покупательной способности и таким образом "суверенно" проводят постоянное ограбление-обеднение демократических подданных, они попытаются перенести эту схему на блокчейн.
Но в блокчейне подобные манипуляции невозможны.

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

(no subject)

Date: 2017-12-29 02:21 am (UTC)
rasta: (Default)
From: [personal profile] rasta
Скорее всего споткнутся об это уже в процессе внедрения. Но это никого не смутит, ибо выделенные "на блокчейн" бюджеты будут уже освоены по офшорам, а под видом блокчейна в итоге подпихнут обычный онлайн бэнкинг (с довеском) и запретят пользование всеми прочими системами, так как теперь будет свой "отечественный блокчейн".

Edited Date: 2017-12-29 02:23 am (UTC)
lion_casserole: (Default)
From: [personal profile] lion_casserole
.
Когда-то давно мой приятель рассказывал историю о том, как у них в школе старшекласники ввели внутришкольную валюту. Такие купоны можно было применить для приобретения самых разных пряников, обменять купоны на жвачку или масштабную модельку автомобиля, купить решение задачи из учебника и так далее. Услуги старшекласников стоили очень дорого, младших - очень дешево, но эта школьная биржа функционировала почти что целый год. А потом, когда младшеклассникам непосильным трудом удалось скопить практически все купоны, старшекласники сказали, что они в эту игру больше не играют. Так вот, приятель рассказал мне об этом, когда вдруг понял, что эти самые старшекласники, которые были лет на пять-восемь старше его, теперь повадились играть в подобные игры в масштабах страны.

Мне так видится, что эта эпопея с криптовалютами - это вариант пирамиды. В конце концов окажется, что криптовалюта не обеспечена ничем, кроме как верой в ее ликвидность.

Организаторы пирамиды могут оказаться относительно чисты перед законом, как те германцы, раскрутившие первую пирамиду. Организаторы согласны были выполнять свои обязательства, но на каждом следующем этапе выполнить условия для получения выигрыша становилось все труднее. Классика жанра - за десять тугриков участник получает купонную книжку с дюжиной десятитугриковых купонов. Каждый такой купон мог был обменян на другую книжку купонов, а, продав купоны участникам следующего уровня пирамиды, участник мог получить средства для приобретения вожделенного велосипеда.
Edited Date: 2017-12-26 01:21 am (UTC)

Profile

temmokan: (Default)
Konstantin Boyandin

June 2022

S M T W T F S
   1 234
5 67891011
12131415161718
19202122232425
2627282930  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags