Центробанки, биткоин, и за жизнь

1. Биткоин
2. Тёмный веб
3. Децентрализация и искусственный интеллект
4. Вилки биткоина и новогодняя история
5. Центробанки, биткоин, и за жизнь

Покер прошёл хорошо, людей было немного, в основном прекрасные дамы, посидели, соответственно, прекрасно. Хорошо нам здесь, в удобной и обустроенной Канаде. Почему хорошо? Потому что много здесь справедливости – так эволюционировало, что в коммунистическом Китае, в забитой Африке, в жаркой Латинской Америке, даже в любых Япониях и Швейцариях, везде хуже.

В основом хуже, потому что закон хуже работает. У нас тут реально все под законом.

Но так ли это?

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

Увлекаясь йогой легко потерять критическое мышление – хочешь научиться этому, спроси меня как.

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

Но странности, блин, есть. Давайте посмотрим полутрезво на деньги. Что есть деньги?

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

Отлично, будет использовать золото. Бартер перешёл в золотообмен.

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

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

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

От шашлыка до нашего  2018-го года не так далеко, как может показаться. Что такое наш доллар? Это долговая записка, что какой-то герцог в забытом году в Испании вложил килограмм золота (добытого ценой пары десятков жизней) в банк, и часть этой ценности принадлежит нам, потому что у нас есть эта купюра. Только всё немного не так. Всё немного совсем не так. Всё немного совсем fucked up.

К золоту валюты не привязаны ни коим образом на сегодняшний день. В 1971-м, чтобы не соврать, году, товарищ Никсон отсоединил американский доллар от золота. До этого момента все мировые валюты привязывались к баксу, а бакс вязался к доллару – таким образом хоть как-то была завязка на реал, есть металл, в нём 79 электронов, синтезировать такое не реал, выкопать сложно, в общем ограниченный ресурс, и к нему печатаем наличку. Но с 71-го года до свиданья – все валюты вяжутся исключительно друг к другу, цена золота летит как непойманная птица счастья, вверх, вверх, вверх. И все валюты туда же.

И вот, допустим, есть страна. Гордая страна Греция. Или просто страна Икс. И тут я такой весь красивый и улыбчивый, отец троих детей и спаситель нации, выигрываю на выборах, получаю большую власть в роли президента Болгарии/Кипра/Венесуэллы. Что я хочу? Счастья своему народу! Своей любимой нации!  И накажем коррумпированное прошлое! Но что обнаруживается? Что моя нация должна всем подряд, причём миллиарды долларов, дурные деньги.

Ерунда, справимся, нужно чуть поднапрячься. Мы просто напечатаем немного денег. Мы ведь у власти, дело молодое – малёшку баблеца поднапечатать, от кредиторов отобъёмся, а дальше только вверх!

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

И вот где полушаманские напевы конспиративных видео плохого качества сливаются с реальностью: ЦЕНТРОБАНКИ ЯВЛЯЮТСЯ ЧАСТНЫМИ БИЗНЕСАМИ. Они не принадлежат государствам, они ими (почти что) владеют.

Например, федеральный резерв США. Или банк Англии. Они принадлежат отдельным людям и вовсе не являются частью демократичской схемы, которая пытается нарисовать толковую систему самоуправления с честным голосованием, представлением в парламенте/думе и т.д.

Эта частная контора – включаем воображение! – не только не требует приказа или даже одобрения от “воли народной”, изъявленной через избранников народа, но её решения даже не могут быть оспорены каким-либо государственным институтом. Если центробанк решил, что пора напечатать очередные сто миллиардов долларов, то никто – никто! ни президент, ни глава ЦРУ, ни Опра, ни Цукерберг, – никто не может сказать нет, или хотя бы “чуть поменьше, плиз”. Это полная, безоговорочная власть.

Ладно, мне пора спать 😉 Покупайте биткоин!

Вилки биткоина и новогодняя история

1. Биткоин
2. Тёмный веб
3. Децентрализация и искусственный интеллект
4. Вилки биткоина и новогодняя история
5. Центробанки, биткоин, и за жизнь

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

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

Главной проблемой биткоина является масштабируемость. Идея блокчейна, амбарной книги, в которой хранятся все транзакции с 3-го января 2009-го года – кстати говоря, сегодня день рождения Битка, хэппи бёздэй! 🙂 – идея гениальная, но блокчейн-то растёт, уже 160 Гб файл, и ещё ведь особо никто как бы не пользуется. Ну то есть как никто, уже больше, чем сеть в состоянии через себя пропустить, на самом деле. Транзакции долгие и дорогие, и быстрыми и дешёвыми они не могут стать, если что-то не придумать срочно.

Транзакции складываются в блоки, блоки добавляются в цепочку шахтёрами, размер блока фиксирован размером около 2Мб, и новый блок добавляется только один раз в 10 минут – константы 2Мб и 10 минут являются свойствами системы, которые поменять нельзя, не сломав обратную совместимость. Если бы можно было блоки создавать почаще, или сделать их размер побольше, то можно было бы, хотя бы временно, решить проблему со слишком медленными и слишком дорогими транзакциями. Кардинально, правда, это проблему не решит – лишь отодвинет её на пару метров вперёд, но ведь понятно, что снова упрёмся и в размер блока и в скорость их создания, как только размер сети вырастет.

Это не остановило две вилки, которые сделали в точности то, что я только что описал: Litecoin уменьшил время между блоками, Bitcoin Cash увеличил размер блока. Если у тебя был 1 биткоин на момент создания вилки, то в следующий момент у тебя автоматически появился еще и 1 Litecoin в октябре 2011-го года и 1 коин Bitcoin Cash в августе 2017, когда эти независимые блокчейны ответвились от главной цепи. (На момент ответвления создаётся полная копия всего блокчейна.)

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

Таким решением является “Молния” – The Lightning Network, не уверен, как по-русски её называют правильно. Это второй уровень, который использует безопасность, обеспечиваемую криптографией блокчейна первого уровня – это Биткоин и Лайткоин, оба блокчейна совместимы с Лайтнингом, потому что поддерживают концепции множественных подписей и временных хэш-замков. Этот второй уровень Молнии создаёт платёжные каналы между участниками, замораживая средства участников на нижнем блокчейне в специальных транзакциях, к которым нет необходимости возвращаться, но которые дают гарантии сотрудничества, потому что в случае нарушения правил игры, нарушитель теряет замороженные деньги. Об этой структуре удобно думать, как о суде – участники передают транзакции другу другу, обмениваясь частично подписанными и ограниченными по времени обещаниями, и если кто-то пытается обманывать или просто умер – то всегда можно пойти в суд, предъявить подписанные обещания, и по истечению нужного времени забрать свои деньги (плюс деньги нарушителя). Подробности этой идеи гениальны и довольно тяжелы, без иллюстраций не объяснить, причем чтобы разобраться в сценариях общения между участниками, нужно сначала понять несколько криптографических строительных блоков, таких как временные хэш-замки и всякое такое, – достаточно понимать, что это решение позволит обрабатывать миллионы транзакций в секунду с настоящими битками, при этом записывая в нижний блокчейн только пару записей в секунду, что вполне терпимо. Над реализацией этого нового протокола трудятся как минимум три не связанные между собой команды, были пройдены успешные тесты на тестовой сети, и совсем недавно была совершена первая реальная транзакция через Молнию. Кроме быстрых и почти бесплатных транзакций Молния также обещает быстрые и почти бесплатные гарантированные обмены межды блокчейнами, пока что только между Биткоином и Лайткоином, но потенциально это означает, что централизованные биржи обмена тоже не понадобятся в будущем.

Я думаю, что благодаря Молнии, Биткоин станет массово применяться для онлайн платежей, и в частности для микро-транзакций, уже в этом году. Когда можно будет заплатить меньше цента бесплатной, почти мгновенной транзакцией, это будет иметь огромные последствия. Вилки должны умереть – и Litecoin, и Bitcoin Cash, я не вижу в них будущего. Этот подход к решению проблем, он в корне не правильный – отодвинуть проблему на завтра, вместо того, чтобы решить её кардинально, это не решение, а отказ от решения, оно ж завтра будет ещё больнее, так лучше поскорее взяться за настоящее решение. И вообще, я против переписывания с нуля – всегда, без исключения, лучше взять работающий код, и неспеша его модифицировать маленькими изменениями, обтянув системой автоматических тестов, чтобы ничего не поломать на каждом шагу. Софт он потому и “софт”, потому что мягкий, бесконечно модифицируемый.

С этими вилками ещё не совсем понятны некоторые политические моменты. Главный чел в Лайткоине взял и продал все свои Лайткоины недавно. Ну и о чём это говорит? Он там что-то чешет про то, что его это освободило и позволит сфокусироваться лучше, но я не верю словам, я верю поступкам – если ты продаешь свою криптовалюту, то значит сам в неё не веришь, я лично так это понимаю. С Bitcoin Cash ещё хуже, там, мне кажется, вообще идут грязные махинации. На рынках ценных бумаг существуют специальные органы, выдающие лицензии, занимающиеся аудитом и сертификацией, антимонопольные комиссии и прочая бюрократия, призванная защищать людей от “китов” – от миллиардеров, которые в состоянии манипулировать рынком. Но мир криптовалют является Диким Западом современного финансового пространства, и никто не запретит китам создавать панику, ложные индикаторы, и пользоваться реакцией мелкой рыбёшки и планктона. За “би-кэшем” стоит человек, получивший прозвище “Иисус Биткоина” – Роджер Вер. Это миллиардер, который продвигает Bitcoin Cash как “настоящий” биткоин. Вообще, Bitcoin Cash стоит рассматривать как “атаку вилкой” (fork attack) на сеть биткоина – теоретически эту атаку рассматривали давно, вот недавно она, наконец, произошла. Би-кеш нагло взял имя биткоина (слово “Биткоин” в названии новой криптовалюты), логотип – они просто наклонили букву в другую сторону, причём под тем же углом! Это просто копия кода, в котором поменяли одну константу, грубо говоря. То, что творилось с ценой би-кеша, явно выглядит как манипуляция рынком – дело подсудное в устоявшемся мире ценных бумаг, но совершенно не запрещённое (некому запрещать) в мире криптовалют. Часть шахтёров перешла на майнинг би-кеша – шахтёры народ простой, где больше прибыль, там и копают.

Но этот “Исус Биткоина” он фальшивый. Настоящим исусом, или как минимум, апостолом, является Андреас Антонополус – грек, буквально посвятивший свою жизнь образованию публики на тему Биткоина, децентрализации, криптовалюты и т.д. Он действительно прекрасно рассказывает и про существующую финансовую систему со всеми её проблемами, и о том, как его мама избежала нищеты после обвала в Греции, послушавшись сына и переведя часть сбережений в неподвластный центробанку биток, и о технологических нюансах, и о всём на свете. Роджер Вер – ложный исус, – недавно оскорбил Андреаса на Твиттере, когда Андреас признался, что он не является богатым человеком, и даже испытывал некоторые финансовые трудности. Роджер пристыдил Андреаса, что мол если б тот купил битка в 2013-м году, был бы уже миллионером. Адреас не ответил – ответило сообщество, которое самоорганизовалось и закидало Андреаса пожертвованиями. В результате он стал таки миллионером – сумма переводов, спровоцированных враждебной репликой лже-исуса, составила чуть менее 2-х миллионов долларов.

Вот это, я понимаю, Новогодняя История! 🙂

Децентрализация и искусственный интеллект

1. Биткоин
2. Тёмный веб
3. Децентрализация и искусственный интеллект
4. Вилки биткоина и новогодняя история
5. Центробанки, биткоин, и за жизнь

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

Первым приложением стал сам биткоин – валюта этого нового мира. О биткоине, кстати, удобней всего думать именно как об иностранной валюте – это как йена какая-нибудь, только она не из страны Японии, а из “страны интернет”, или из “страны будущее”. Когда едешь в эту “страну”, с собой удобно иметь местную валюту. А если там живёшь, то другая валюта и не нужна.

Валюта – лишь первое приложение. В 2014-м году появился Ethereum – по сути это децентрализованный компьютер, на котором можно запускать программы. Это Тьюринг-полная система с памятью, т.е. на ней можно писать любые программы. Самой популярной программой на “Эфириуме” являются “Крипто-котята” – здесь пользователи продают, покупают, и скрещивают виртуальных котят. Самые дорогие стоят сотни тыщ долларов. Куда ж без котят, котята милые 🙂 Более серьёзной темой являются так называемые ICO – Initial Coin Offerings, по-русски не уверен, как это переводят, “начальное предложение токенов”? Это новый способ сбора начального капитала. Компания запускает свой “токен”, за который они обещают потом что-то хорошее в будущем, и токен предлагается на продажу – таких токенов уже больше тысячи, и в сумме было собрано около двух миллиардов долларов таким образом. Так выглядит экспоненциальный рост на практике.

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

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

Чем это кончится? Та понятно, чем кончится, искусственный интеллект эволюционирует, научится программировать, и всё перепишет нафиг 😉 Отсюда не видно, конечно, что конкретно там будет, но будет круто, и ждать недолго.

Тёмный веб

1. Биткоин
2. Тёмный веб
3. Децентрализация и искусственный интеллект
4. Вилки биткоина и новогодняя история
5. Центробанки, биткоин, и за жизнь

Благодаря изобретениям в криптографии, сейчас расцвёл так называемый “тёмный веб” – это набор сайтов, доступ к которым осуществляется через анонимную, закодированную “луковую” сеть. Доступ в эту сеть осуществляется с помощью специального браузера Тор, поставить который так же легко, как Хром, Файрфокс или Оперу. Пакеты в этой сети кодируются и пересылаются не напрямую между клиентом и сервером, а через эту луковую сеть, где каждый пакет совершает 3 или более “прыжка”, и компьютеры, передающие пакеты, не знают об этих пакетах ничего, кроме куда его дальше нужно передать. Криптография железная, ни отследить, ни раскодировать невозможно.

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

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

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

Избранной валютой тёмного веба является биткоин, конечно.

Но, кстати, биткоин не идеально для этого дела подходит – сейчас новые криптовалюты делают с большим упором на анонимность, Monero, в частности. У биткоина все транзакции доступны в открытом доступе, поэтому если твой номер кошелька каким-то образом засветился в криминальной транзакции, то тебя могут принять, как недавно приняли хозяина The Silk Road, самого крупного веб-магазина тёмного веба на тот момент. Его арестовали с лэптопом на пляже, и на этом лэптопе был кошелёк, куда он принимал деньги за наркоту или что-то в таком духе, и это было использовано как улика в суде – чел в тюрьме сейчас.

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

Две вещи можно утверждать с уверенностью: 1) скучно в ближайшем будущем точно не будет, и 2) надо запасаться биткоинами 🙂

Биткоин

1. Биткоин
2. Тёмный веб
3. Децентрализация и искусственный интеллект
4. Вилки биткоина и новогодняя история
5. Центробанки, биткоин, и за жизнь

Биткоин это первая криптовалюта. Создал её анонимный чел подписавшийся как Сатоши Накамото – гений, пропавший в ночи по правилам японского аниме. Он соединил воедино несколько идей из современной криптографии, сделал изобретение, оформил научную статью и кроме того написал код, который запустил в 2009-м и открыл все исходники. Результатом стала децентрализованная база данных “блокчейн”, которая по моему мнению приведёт к очень серьёзным изменениям в структуре общества, в экономике и т.д.

Блокчейн это по сути амбарная книга, в которой записаны транзакции. Каждая транзакция это дата и время, сумма в биткоинах, счёт отправителя и счёт получателя. Изобретение заключается в том, что для записи в эту базу данных не нужно спрашивать разрешения – эта база данных никому не принадлежит, её полная копия находится на тысячах компьютеров, каждый может получить копию и просмотреть все транзакции. У каждого счёта, или как их ещё называют, кошелька, есть текущий баланс. Благодаря криптографической системе, основанной на “доказательстве работы”, система гарантирует целостность базы данных: если на счету есть 1 биткоин, потратить его дважды невозможно. Уровень безопасности, обеспеченный блокчейном, совершенно непробиваемый – это и математически доказано, если не ошибаюсь, и за 8 лет существования сети никто ни разу её не смог обмануть.

Обеспечивают безопасность так называемые “шахтёры” (miners). Блокчейн это, вообще, цепочка блоков. Блоки состоят из транзакций, и каждые 10 минут добавляются на блокчейн одним из шахтёров – этот процесс называется “майнингом” (mining). Суть процесса в том, что шахтёр должен предъявить решение криптографической задачки, и через распределённый алгоритм другие шахтёры приходят к консенсусу и добавляют новый блок в цепь. Криптографическая задачка, которую необходимо решить, имеет два свойства: решить её можно только перебрав огромное количество вариантов, для чего требуется вычислительная мощность, и во-вторых, проверить решение можно почти мгновенно. Конкретно, задачка выглядит похоже на нахождение двух простых чисел, произведение которых даст в результате заданное число X – чем больше этот X, тем дольше нужно перебирать варианты, чтобы найти подходящую пару, и перепроверить ответ элементарно: нужно просто перемножить два числа, предъявленные как решение.

Технические детали не так важны, важен здесь результат: децентрализованная база данных, которая никому не принадлежит. Чтобы открыть кошелёк, нужно поставить программку на компьютер или на телефон. Программок таких уже десятки, если не сотни – в основном все они бесплатные и с открытым кодом. Как и сам Биткоин – в разработке участвуют сотни (тысячи?) людей, по тем же правилам, по которым создали Линукс, Вордпресс и т.д.

Имея кошелёк, пользователь может принимать платежи. Кошелёк выглядит вот так: 12ZPuV6ua53rRrHxDvkXPZV48nufBfJkP1. Принятие платёжа это создание входящей транзакции: Алиса даёт свой номер кошелька Борису (можно послать сообщением, можно сосканировать одним телефоном с другого), Борис создаёт транзакцию, которая переведёт указанную сумму в биткоинах с кошелька Бориса на кошелёк Алисы. Эта запись пойдёт к шахтёрам, которые будут соревноваться, кому повезёт первому добавить блок в блокчейн – победитель получает награду, входящую транзакцию “из ниоткуда” на его кошелёк. Результатом этого процесса является новый блок в блокчейне, который становится доступен во всем мире, и который криптографически подтверждён и подписан шахтёрами. Теперь у Алисы на кошельке есть биткоины, и она может создавать исходящие транзакции.

Центром всего этого изобретения является тот факт, что Алисе и Борису в данном примере не нужно спрашивать разрешения, не нужно нанимать третье лицо для того, чтобы иметь гарантии. Нет банка, который отчитыватся о транзакциях в налоговую службу, имеет возможность заморозить или просто отобрать деньги. Нет центрального банка, который имеет возможность печатать деньги. Общее количество биткоинов строго ограничено: всего их будет около 21 миллиона, из них уже создано около 16 миллионов, и новые биткоины выдаются шахтёрам с конкретной скоростью, обеспечивающейся математикой системы. Блок создаётся примерно раз в 10 минут, и за каждый блок выдаётся 12.5 биткоинов, если не ошибаюсь. Никакое коррумпированное правительство не сможет “напечатать” дополнительные биткоины. Этим биткоин напоминает золото.

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

Запретить эту систему практически невозможно – на мой взгляд, это также невозможно, как запретить полностью закодированное общение. Был не так давно очень живой конфликт между ФБР и компанией Эппл, когда у какого-то террориста конфисковали телефон, в котором по разведданным была важная информация, и ФБР требовало от Эппла, чтобы те, во-первых, взломали этот телефон, и во-вторых, поставили “заднюю дверь” на будущие модели, чтобы правительство могло, при необходимости, залезть в телефон любого пользователя. На оба запроса ФБР было послано, потому что криптография, её невозможно сломать. Когда общаешься через WhatsApp, или Telegram, или Signal и т.д., то соединение шифруется таким образом, что прочитать сообщения просто невозможно, математически. И то же самое обеспечивает блокчейн, только в этот раз речь идёт о деньгах. Вьетнам, например, запретил использование биткоинов – ну и что? Всем плевать. Китай запретил там что-то, результатом стало кратковременное падение текущей цены биткоина на биржах обмена, и все продолжили себе дальше, особо не обратив внимания. Индонезия тоже, вроде, запретила биткоины – но реально это не важно, что там правительство говорит, невозможно это запретить, не изменив коренным образом структуру интернета. Только через цензуру на уровне провайдеров это можно было бы как-то запретить, наверное, но это была бы тоталитарная слежка, может быть что-то такое возможно в Северной Корее, но больше нигде это невозможно.

Что происходит сейчас, так это самый большой трансфер имущества за историю человечества – оно только началось, но уже не остановить. Молодые технари, смущающиеся в обществе, люди с низким социальным статусом, вдруг оказываются новыми богачами – те, которые “копали биток” на домашнем компьютере в 2010-м, когда об этом ещё вообще никто не слышал, те, которые покупали первые пиццы за тысячи биткоинов (сегодняшний эквивалент десятков миллионов долларов), те, которые поднимали первые майнинговые фермы рядом с дешёвой электроэнергией, те, которые напрямую участвуют в разработке этой новой экономической машины будущего – они выходят из неизвестности миллионерами и миллиардерами новой эпохи. 2010-й уже ушёл, конечно, но 2017-й это ещё далеко не конец пути, это по-прежнему самое начало. Это как в начале 90-х, когда интернет уже как бы был, но о нём ещё толком никто не знал, и уж точно никто не представлял, как эта технология изменит мир… Изменения, которые принесёт в мир изобретение блокчейна, будут ещё более крутыми, и ещё более стремительными. Новый мир, хочется верить, будет лучше: люди в бедных странах получат возможность участвовать в мировой экономике, распределённые вычислительные системы позволят считать и хранить файлы на гигантском глобальном облаке, состоящим из всех вычислительных машин, объединённых в сложную, живую систему, идентификация людей и подтверждение прав собственности на землю, деньги, и прочую собственность будет осуществляться способами, которые не требуют доверия к органу власти, который имеет права на цензуру и искушение воровать и печатать деньги… Роботы между собой будут расплачиваться микротранзакциями, страховые услуги будут децентрализованы и люди, нуждающиеся в помощи, будут эту помощь получать намного быстрее и надёжнее…

И если роботы, раслачивающиеся друг с другом звучат чем-то очень далёким, то это зря: уже в следующем году выходит на рынок третья модель Теслы, это относительно недорогая электрическая машина, которая через пару-тройку лет получит новое программное обеспечение – которое реально прилетит к ней по воздуху и само себя поставит, после чего машина обретёт способность к самостоятельному передвижению. Хозяин машины сможет настроить часы, когды его машина будет для него таксерить – другие люди смогут вызвать “такси” с телефона, и к ним приедет самодвижущаяся машина без водителя, одна из целого флота таких самостоятельных роботов на колесах, и отвезёт куда надо по адресу, и деньги возьмёт. Поначалу эти деньги будут сниматься по старинке с кредитной карточки, но недалёк тот день, когда эти платежи будут перетекать через независимую криптосистему. И машина сама будёт заправляться, и сама платить за электричество, и сама подписываться на услуги страхования, которые будут оплачиваться поминутно. И голосовать будем по-другому, и концепция “правительства” изменится, и отсохнет старая система, при которой люди иногда возят бумажные деньги тележками и принимают их на вес, как в Зимбабве, или остаются поколением безработных, как в Греции, или умирают от голода в нашем высокотехнологичном современном мире, как в Венесуэле. Или имеют более 20-ти ТРИЛЛИОНОВ баксов национального долга, как в США.

Мой прогноз по поводу цены биткоина: я думаю до 50-100 тысяч американских долларов за биткоин вырастет цена до конца следующего года. Я исхожу из ожидания, что биткоин начнёт постепенно замещать золото как способ хранения ценности – вместо слитков золота в бронированных комнатах с гигантскими замками банки, корпорации, и богатые люди всё большую часть резерва будут хранить “в криптЕ”. Единственной угрозой для биткоина может быть другая, более успешная, криптовалюта – но об этом, мальчики и девочки, в нашей следующей передаче.

WebStorm (or Visual Studio Code), React, Redux and jsdoc

When I started using PhpStorm many years ago, it changed the way I experience coding. The project started feeling differently: instead of a multitude of text files, where I had to use global search, global replace a lot – I used TextPad back then, great tool it was, considering Macros feature that worked really well actually, – that changed completely when the code became clickable, it started feeling like an interconnected entity, a single unit where files, classes, interfaces, variables, namespaces – all of this vocabulary was really understood by the IDE, and it supported you with features like Go To Declaration and Find Usages. It’s completely indispensable when writing in modern PHP, which is a great object-oriented language in my, however unpopular opinion.

There’s no more money in PHP though, all web in mobile and probably even VR and data and robotics and AR and 3D-modelling – as someone wise said, “if it can be rewritten in Javascript, it will be, soon”.

Javascript is really great nowadays with ES6 standard – still a pretty weird language with all `this` nonsense, and a few other quirks, but overall is increasingly enjoyable to work with, because of the thriving ecosystem, built with the brain-power of the tech giants involved in the Browsers War competition for years.

I started working with this new framework called Electrode, and it’s basically a powerful opinionated build tool around React, Redux, Webpack, SSR, PWA. Nice combination. A little rough around the corners, but gets the job done. Wasn’t my decision to use, but seems like great stuff indeed. All for free of course, but we’re kind of used to that by now, don’t we? Telling you, us tech geeks have taken over the world and just piling up the shared wealth now.

In Meteor, I always insisted on writing clickable code – makes maintenance a no-brainer even when you feel a little slow at the moment, it’s just so easy when you have your API one keystroke away at all times, and you can travel in and out, back and forth. Maps it out in my brain better than a visual diagram, it’s almost a visceral feeling.

Anyway, here’s the way I write my React and Redux.

TODO: code and links.

Why Kanban is better than Scrum

I think Kanban is much superior to Scrum. This position sometimes is attacked so viciously, that it’s hard to have a productive conversation about it – at least some people defending Scrum remind me of believers, who will protect their dogma at all costs. But this debate doesn’t have to be unfriendly, it’s just a rational decision that every project has to make, and my personal opinion is that Kanban beats Scrum in every respect we should care about. Which is to say, just two things: productivity and predictability. I would argue that nothing else is important, and whichever management framework gives us better productivity while providing enough predictability – wins.

Before comparing the 2 systems, let me just make it clear that it’s not only my opinion. Kanban is the framework of choice in many software projects. Here’s a great short article, here’s a longer and more detailed success story, and here’s a talk on Iterationless Kanban and Continuous Deployment that blew my mind many years ago.

Productivity

What gives business a competitive advantage is ability to be nimble. Software project mutates continuously and it goes basically like this:

  1. Business stakeholders come up with an idea
  2. The team gets it done
  3. Implementation code gets pushed to production
  4. Business gathers feedback
  5. Go to 1

Clearly, in any given project, what we want our management framework to improve is the speed of 2. I would argue that Kanban ensures the lowest possible time spent in step 2, which makes it the best system. Here’s why.

In Scrum, we try to time-box work into Sprints – artificial iterations of a fixed length, normally 1 or 2 weeks. The idea is that by time-boxing we can commit to delivering certain stories. This commitment idea is an illusion, but let’s look at the cost we have to pay for time-boxing in terms of productivity loss first.

So we have a team, and developers are in the time-boxed iteration. No matter how good your estimates are, some devs will finish their tasks before the sprint is over, and some devs will fail to deliver their tasks on time. Both cases are inevitable, will happen on almost every sprint, and both have an associated cost.

For the dev who finished the work earlier, he or she will have to pull a task he never really looked into deeply enough, because the task was never assigned to him, he never really took ownership. In Kanban, as a developer, you always work on the highest-priority task in your pipeline – the one you take responsibility to estimate carefully, so you get familiarised with every task and make sure that if there are any questions you iron them out with the product owner and other team members well before it hits your “In Progress” column. By contrast, in Scrum, as a developer you inevitably end up having to start on tasks that are, firstly, not ideal for you (it’s just a random leftover task from the current iteration), and secondly, are not familiar to you. This contrast is especially stark when seen through the eyes of a developer. The lateral movement of tickets kills motivation to familiarise oneself with tasks – what’s the point figuring it out carefully, if it’s going to be taken away from you and assigned to someone else by the end of sprint? This never happens in Kanban, because your task is your task.

By the way, the very term Sprint illuminates the flawed nature of Scrum philosophy – software development should not resemble sprinting. Sprinting is high-intensity, short exertion of energy – you basically run for 50 meters and then you rest. Sprinting is only done in the context of exercise or athletic competition. I’d say hiking is a much better analogy – you have a long way to go to reach your goal, you walk for 8+ hours every day, and you have to sustain the pace and direction for months and years at a time. Sprinting won’t get you far! Another useful analogy is gardening – software development is very much like gardening, you cultivate it, it grows, it evolves into sometimes strange shapes that you have to trim, and you plant some seeds into prepared soil, and you give it your caring attention every day, and you enjoy the flowers and harvest the fruits, and protect it from the bugs. Sprinting is just the worst analogy ever. Anyway…

For the second situation, when we have tasks not finished during the sprint, there’s a managerial cost involved – those tasks have to be moved to the next sprint and possibly re-prioritized, re-estimated, and some of the previously planned work for the upcoming sprint has to be squeezed out from the sprint. Not a lot of effort, but 100% of it is waste, with no benefit to the project.

The idea that the team will commit to the tickets is also flawed. You can call it “commitment”, but it’s not really it – there are no rewards, no punishments, no dev really cares if some tasks have to be pushed to the next sprint, or some tasks have to be pulled from the next sprint, what’s the difference? The best we can ever do as a team, and what this “commitment” is in reality, is we break the work down into tickets, we try to estimate them to the best of our ability, we prioritise them – and then we can predict the future with some degree of confidence. Both Scrum and Kanban frameworks do this similarly, the practical difference is in the way those predictions are made available to the business people: Scrum can only say at the beginning of every iteration “we will deliver tickets A, B, C by date D” (D being the end of the sprint), and Kanban can provide exactly the same reporting format, but it’s more flexible: it can also give an expected date of delivery for any specific ticket on the board (and therefore, any specific story). From my experience, this is a much more useful format. All estimates are always up-to-date, every day. When things change – some task takes longer to finish, developers take unexpected days off, urgent tasks come up, – the board changes basically in real-time, so the feedback loop is as short as it can ever be. It also allows for true continuous delivery – we can push to production every day and be the most Agile possible. Anything less than this is artificial reduction of team productivity and goes against the Lean philosophy that we all know and love. Or at least we should.

There’s also, of course, a stream of high-priority tasks, usually bugs, that have to be squeezed in and fixed as high-priority items. This doesn’t disturb Kanban process one bit, Kanban is made for this: just put the ticket on the board, assign it to the best developer in the right priority, and the management effort is done. For Scrum though, this can be a source of much stress, because of the perceived danger: omg we are not going to follow through on our commitment! Management goes into fire-fighting mode, puts unnecessary pressure on the team, makes panicked decisions of all sorts and renders the whole process unfun. Happy developers are more productive, so this can be a huge productivity and motivation killer. Also, it burns you out and when the real fires come, you have no energy to fight them anymore.

Predictability

It is true that Scrum process can be a little more predictable. I would argue that the degree of just how much more predictable is very low, and the impact of this small improvement in predictability is also quite small, certainly not worth the cost lost in productivity.

The reason Scrum can be more predictable is because it has the concept of “protecting the Sprint” – the idea that the team (represented by Scrum Master) should resist putting more tasks into the sprint so as to not disturb the flow of development. Team should also “under-commit and over-deliver”. So we can predict with a slightly higher degree of confidence which tasks will get done within an iteration.

It’s important to understand just where exactly this slight increase in predictability is coming from: we have to say no to unexpected high-priority tasks that come up during the sprint. This makes the business slower, less Agile, less Lean. Let me repeat this so it resonates: to “protect the Sprint” we knowingly ignore high-priority tasks in favour of lower-priority tasks. This is almost the definition of sabotage.

And how important is predictability anyway? You have to have some predictability, just to be able to plan public releases, presentations, meetings, marketing campaigns and so on. But what is more important, the ability to predict the future with slightly higher level of accuracy, or that the future is actually good? Would you rather predict with high degree of confidence that you’re going to get 30 tasks done within a week – and deliver exactly that, making your prediction 100% accurate, or would you rather predict with low degree of confidence that you will deliver 60 tasks (including the 30 from previous example, twice as much business value) and than end up delivering 75, making your prediction quite inaccurate in fact? Clearly the latter situation is preferable.

Conclusion

Kanban wins if you want to build software fast and be happy doing it. Scrum provides slightly better predictability at the cost of lost productivity and often times unnecessary stress.

Битва: видео

Я с копьём и щитом против меча и щита – в шлемах, в окружении факелов и под звуки барабана. Меня вызвали неожиданно, и поставили биться с незнакомым человеком – сижу, никого не трогаю, тут диджей (друг) объявляет. Биться пришлось с чемпионом Германии. Я победил – соперник поскользнулся в грязи, и я его радостно затоптал. (Чемпион Германии по танцам, но так ли важны детали?)

А это, пожалуй, самый агрессивный бой.Копьё против меча.

Posted by Symposium X. Качественный отдых, позитивное общение, знакомства. on Wednesday, June 28, 2017

Битва

На вечеринке “Взятие Трои 2017” посреди вечера был неожиданно вызван на поединок с неизвестным соперником – это шанс быть втоптанным в грязь, только в этот раз в грязь был втоптан мой противник. Очень весело 🙂

Документальный фильм “Акт убийства”

Документальный фильм “Акт убийства” это что-то из ряда вон. В Индонезии в 1965-м произошёл военный переворот, закончившийся периодом жёсткой зачистки коммунистов. Победители призвали на помощь бандитов, которые оформились в политическое движение. Фильм снят в 2012-м году, и ребята, которые в те далёкие годы убили тысячи людей – лично, собственными руками, – рассказывают о своём прошлом. В обществе произошло какое-то невообразимоё сквозное промывание мозгов, и эти люди живут без угрызений совести и без каких-либо упрёков со стороны, партия по-прежнему поёт гимны и пользуется уважением. Так вот, эти ребята, которые с готовностью и гордостью рассказывают о том, как они экономили время, научившись душить металлической проволокой – вот к этому столбу я её привязывал, вот сюда усаживал коммуниста, и вот так затягивал, получился кадр? – эти ребята согласились о своей истории снять правдивый документальный фильм. А пока они сами этот фильм снимали, Джошуа Оппенхаймер снимал их. Результатом и является “Акт убийства”. Снимал он их не только в процессе съёмки их документального фильма, но и в процессе просмотра и обсуждения отснятого материала. Рекурсия такая. Гениальный фильм, совершенно не помещающиеся в голове сцены, события, истории, люди… Тяжёлый. Уникальный. Производящий неизгладимое впечатление. Очень рекомендую.