![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Дня не проходит, чтобы не появилось десятка-двух панегириков блокчейну (так и тянет дописать: "Великому и Ужасному"). Чтобы лишний раз вызвать скуку у тех, кто в курсе, и лёгкое непонимание у тех, кто нет, вначале вкратце о том, что такое блокчейн. Совсем вкратце: "распределённое хранилище (в оригинале: "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").
И так далее. Вас может ограничить только ваше воображение.
Однако до того, как попасть в цепочку, транзакция должна пройти подтверждение несколькими владельцами копий этой самой цепочки (не забыли слово "распределённая"?). Достижение согласия участников достигается разработанным в 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").
И так далее. Вас может ограничить только ваше воображение.
Решение задачи о византийцах
Date: 2017-12-24 04:14 pm (UTC)Выигрышная стратегия в такой постановке: независмо от приказа от Алекса, взять командование на себя и сообщить всем, что нужно наступать. Поскольку все верные генералы понимают, что их совместное наступление приведет к победе, противник обречен. Даже если все остальные - продались, наступление единственного верного Юстаса приведет к победе.
С блокчейном документооборота не все так просто. Допустим, что условный Витя договорился и отстегнул условному Вове какие-то 146 процентов за красивые глаза. В блокчейне окажется запись о таком поступке, всего-и-делов-то. Транзакция состоялась, а спросить не с кого, поскольку Витя благополучно уехал к Вове в Тамбов.
Re: Решение задачи о византийцах
Date: 2017-12-25 12:13 am (UTC)Если в Гроссбухе не публикуются все документы, касающиеся сделок, то максимум, что удастся отследить - движение средств. Естественно, что для правления под девизом "Учёт и Контроль" нужно, чтобы в блокчейне фиксировались все до единого действия, публикация которых поможет если не раскрыть сговор, то как минимум обнародовать его.
Block-chain and Version Control
Date: 2017-12-25 02:10 am (UTC)Мне однажды пришлось решать следующую задачу. В общих библиотеках находились исходные модули программ, которые были доступны для просмотра и модификации программерам на трех континентах. Обычно программер получал задание и имел возможность забрать необходимый модуль ( как правило - совокупность модулей, макросов и файлов конфигурации ) в свою личную или общую рабочую библиотеку, и заниматься корректировками, модификациями и тестированием автономно, то есть независимо от других сотрудников.
Обычно такие корректировки и модификации занимали пару дней, но бывало, что до освобождения модулей и возвращения их в боевую библиотеку проходила пара-другая месяцев. Тестирование, сертификация, деплоймент, и прочие дела.
При этом от заказчиков могли поступать запросы-сообщения о проблемах с production-кодом, которые требовалось устранять как только, так сразу. В таком случае, для срочного исправления бага ( или паньскых вытрэбэнек заказчика по случаю изменений в интерпретации спецификаций третьей стороной или конкурентами-контрагентами ) модули из боевых библиотек приходилось экстренно править программерам, служившим на первой линии обороны. А в результате довольно часто возникала задача сведения нескольких вариантов чертовой прорвы модулей в окончательный вариант, учитывающий все сделанные, иногда конфликтующие изменения, да еще а дух-трех одновременно сопровождаемых версиях-поколениях кода.
Вот этот Fork-Fork-Fork-Join-Fork...Join-Join процесс было не сравнить с задачей ведения учета изменений, когда новое звено можно присоединять к цепи только после как остыло предыдущее.
Re: Block-chain and Version Control
Date: 2017-12-25 03:56 am (UTC)В реальности же всё совсем не так, и даже фомральные парвила зачастую идут к чёрту.
Но это у людей. Программы, по счастью, таки свободой воли не обладают.
Как сказать... Иные программы - от лукавого.
Date: 2017-12-25 05:12 am (UTC)Иной раз вендор меняет что-то в своем коде и непокобелимые, казалось бы, устои, на которых базируется, например, перехват и обработка прерываний, идут под три черты... Или в компиляторе под новую операционную среду вдруг запрещают применение оператора goto и забывают реализовать inline-вставки в машинном коде и на языке Ассемблера...
Программы ведь нынче все чаще производят такими же умелыми ручками, что и прочую халтуру. Хотят стать незаменимыми, и иной раз лучше свою версию системной утилиты написать, чем регулярно маяться в догадках, почему стандартная работает не так, как это было в прежнем релизе.
Был у меня один работодатель, который от безрыбья запряг в реализацию проекта полтора десятка IBM-ских кобольщиков, наскоро перезаточенных для кодирования на языке Ассемблера, а потом два десятка лет запрещал вносить изменения в несопровождаемый код, мотивируя это тем, что не следует инвестировать в инспекцию и стандартизацию, пока Заказчик не видит проблем. А вот когда Заказчик жаловался и открывал рот, вот тогда приходилось фокусничать и ставить заплатки на лету, потому что we have no chose, we need introduce a fix sofort.
Re: Как сказать... Иные программы - от лукавого.
Date: 2017-12-25 11:00 pm (UTC)Зато когда прижало... разверзлась бездна, явила чудеса свои непрошеные, и был нам глас: переписывайте всё это нафиг. И пришлось.
Несопровождаемый код, который к тому же никогда не проходил даже статический анализ - жуткое зло.
(no subject)
Date: 2017-12-24 07:41 pm (UTC)По-моему в отношении блокчейна в принципе не существует такой постановки вопроса.
Если все транзакции протоколируются, причём не только номерами, а хештегами предыдущей транзакции с записью этого хештега вместе с данными актуальной транзакции и весь протокол синхронизируется на огромном количестве устройств по всему миру, то "модификация задним числом" невозможна.
В этом и смысл блокчейна, что если кто-то попытается изменить какие-то данные о предыдущих транзакциях, то это приведёт к несоответствию новых данных и вычисленного хештега, т.е. придётся пересчитывать и хештег и затем подсовывать ложные данные и ложный хештег в систему, в которой на огромном количестве устройств у всех записана иная информация, т.е. такой ложный блок, как в "византийской задаче", будет выкинут из системы, как ошибочный или скомпрометированный.
Каким образом вы можете "дать" в такой системе "возможность Кому Положено модифицировать записи задним числом"?
(no subject)
Date: 2017-12-25 12:00 am (UTC)Однако, если блокчейн у нас государственный (доступ к майнингу в руках у властных структур), подмена всей БД становится возможным действием.
(no subject)
Date: 2017-12-25 03:10 am (UTC)Для подсовывания фальшивых блоков и переписывания всех протоколов на всех устройствах, по той же "византийской задаче", должны быть скомпрометированы (инфицированы ложной базой) больше 2/3 всех устройств.
(no subject)
Date: 2017-12-25 03:54 am (UTC)(no subject)
Date: 2017-12-25 10:12 pm (UTC)Даже в таком случае липу они могут подсунуть только в "новых" блоках. Но не в уже записанных "старых".
В блокчейне, протоколы, уже занесённые на устройства, не подлежат изменению.
Именно в этом и заключается смысл сохранения базы в виде последовательного протокола на всех устройствах блокчейна, чтоб избежать подделок уже записанных блоков.
(no subject)
Date: 2017-12-25 11:01 pm (UTC)Для госструктуры не бывает невозможного.
Это не блокчейн
Date: 2017-12-25 11:16 pm (UTC)Это не блокчейн.
Re: Это не блокчейн
Date: 2017-12-26 03:21 am (UTC)Тот же случай. В любой данный момент времени каждая такая копия - полноценный блокчейн. И до замены, и после.
Data integrity
Date: 2017-12-27 06:06 am (UTC)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")
Кстати, если вы сами понимаете, что в такой "центрально-государственной" системе эти основные принципы блокчейна не будут выполняться. То есть фактически это будет НЕ блокчейн, то почему вы не считаете разумным не позволять им подсунуть подобную липу под видом блокчейна, и (хотя бы по возможности) обращать внимание людей на эту подмену?
Re: Data integrity
Date: 2017-12-27 02:14 pm (UTC)У меня ощущение, что сама идея криптоденег заинтересовала государство тем, что можно намайнить новых "фантиков", но - внимание - до большинства почуявших новый источник распилов пока не дошло, что слово "неизменный" в случае блокчейна надо понимать буквально: что туда записано, уже не исправить.
В таком случае есть единственный вариант: государство полностью управляет майнингом, не допуская частных лиц или негосударственные организации, а при необходимости подмены заменяется весь блокчейн - по сути, производится подлог.
Понятно, что полная прозрачность операций (если брать за основу исторически первый блокчейн, BTC) казнокрадам нафиг не нужна: она хоть и не позволит однозначно всё найти и вернуть, но как минимум оставит много следов. Так что они просто не поняли ещё, что это не фиатные деньги и не ЦБ, который печатает или изымает нал тогда, когда захочет.
(no subject)
Date: 2017-12-27 10:39 pm (UTC)Но в блокчейне подобные манипуляции невозможны.
Помимо прочего блокчейн интересен для реализации прямой демократии и механизма отзыва не оправдавших доверие избранников и чиновников.
(no subject)
Date: 2017-12-28 05:15 am (UTC)(как, и ничего переписать нельзя?!)
(no subject)
Date: 2017-12-29 02:21 am (UTC)(no subject)
Date: 2018-01-08 11:18 am (UTC)Для госструктуры невозможного - мало.
Date: 2017-12-26 01:19 am (UTC)Когда-то давно мой приятель рассказывал историю о том, как у них в школе старшекласники ввели внутришкольную валюту. Такие купоны можно было применить для приобретения самых разных пряников, обменять купоны на жвачку или масштабную модельку автомобиля, купить решение задачи из учебника и так далее. Услуги старшекласников стоили очень дорого, младших - очень дешево, но эта школьная биржа функционировала почти что целый год. А потом, когда младшеклассникам непосильным трудом удалось скопить практически все купоны, старшекласники сказали, что они в эту игру больше не играют. Так вот, приятель рассказал мне об этом, когда вдруг понял, что эти самые старшекласники, которые были лет на пять-восемь старше его, теперь повадились играть в подобные игры в масштабах страны.
Мне так видится, что эта эпопея с криптовалютами - это вариант пирамиды. В конце концов окажется, что криптовалюта не обеспечена ничем, кроме как верой в ее ликвидность.
Организаторы пирамиды могут оказаться относительно чисты перед законом, как те германцы, раскрутившие первую пирамиду. Организаторы согласны были выполнять свои обязательства, но на каждом следующем этапе выполнить условия для получения выигрыша становилось все труднее. Классика жанра - за десять тугриков участник получает купонную книжку с дюжиной десятитугриковых купонов. Каждый такой купон мог был обменян на другую книжку купонов, а, продав купоны участникам следующего уровня пирамиды, участник мог получить средства для приобретения вожделенного велосипеда.
Re: Для госструктуры невозможного - мало.
Date: 2017-12-26 03:18 am (UTC)Показательный пример. Печальный, увы, но, возможно, кому-то дал понять, как на самом деле устроен "мир взрослых"...