В общем, за 2020 год я сделал Chronofold (статья и код), пару раз переписал движок, и поправил своё здоровье. В марте 2021 уже демку повесил на сервер, в наличии были RON store (тот движок без ненужных слагаемых) и игрушечная система контроля версий DaRWiN (на основе CRDT). Правда, разговор с JetBrains не получился, и я засел за третий перепис движка и одну статью, про которую я расскажу позже. DaRWiN получил пониженный приоритет, но я к нему вернусь. Чем же RON и DaRWiN так хороши? 3/4
RON позволяет распределённо работать со структурами данных (массивы, тексты, списки, словари) при ненадёжном интернете; local-first CRDT, всё мёржится. Это очень заманчивый субстрат для написания распределённых приложений. При этом, над RON определена криптография. Тот же git криптографию определяет по блобам; RON по операциям. Короче, это как паровоз и шинканшен. Про каждую операцию (в тексте - букву) известно, когда и откуда она пришла, кто подписал. Соответственно, апдейты могут литься в реальном времени, можно произвольно мержить и размерживать бранчи, итд. А поскольку оно realtime, его можно использовать прямо в редакторе для undo/redo, для совместной работы, итд. При этом оверхэды крайне небольшие, в докладе на HighLoad я рассказывал про некоторые фокусы. Блокчейн выглядит как каменный век по сравнению.
Сам RON довольно впрочем низкоуровневый. Примерно как WebAssembly для данных; так же есть текстовая и двоичная версии. При этом крипто считается от RONc - канонической двоичной версии, которая определена побитно (не мной, как правило). На этом уровне абстракции это нормально - two's complement INT, IEEE 754 FLOAT, UUID, UTF-8 STRING). Разработчик работает со структурой данных - допустим, текстом. Под ним chronofold, под ним RON, под ним просто поток бит. 4/4
Сам RON довольно впрочем низкоуровневый. Примерно как WebAssembly для данных; так же есть текстовая и двоичная версии. При этом крипто считается от RONc - канонической двоичной версии, которая определена побитно (не мной, как правило). На этом уровне абстракции это нормально - two's complement INT, IEEE 754 FLOAT, UUID, UTF-8 STRING). Разработчик работает со структурой данных - допустим, текстом. Под ним chronofold, под ним RON, под ним просто поток бит. 4/4
👍1
Соответственно, побитная идентичность нетривиальных форматов - текстового RONt и сжатых двоичных RONv RONp - достигается через сюръективное отображение на канонический двоичный формат RONc, f(RONx)->RONc, и обратное инъективное g(RONc)->RONx. Причём, g(RONc)=RONx' и f(RONx')<->RONc это биекция. Так мы контролируем вольности форматов - компрессию двоичного, whitespace и пунктуацию текстового, итд. Короче, фактически это всё проверяется на корректность фаззингом (кольцевое преобразование). Так решаются проблемки типа JSON и Markdown - канонический формат лишен вольностей и побитно точен, остальные представления эквивалентны ему. Хэши считаем по каноническому формату, и дальше плетём любые криптографические сети. Текстовый формат определяем через формальную грамматику (спасибо, ragel) 5/4
Лонгриды кто-то читает?
Anonymous Poll
84%
Больше лонгридов
9%
В пределах параграфа плиз
6%
Люблю картинки
Russ Cox тут твитнул интересное и внезапно оказалось, что моя работа над двоичными Меркелевыми деревьями (2009-2010), которая в результате стала RFC7574, вошла в DAT protocol и немножко в BitTorrent 2.0, очень сильно оверлапит с рядом современных ей и более поздних работ по криптографии
https://research.swtch.com/tlog
https://twitter.com/_rsc/status/1468260916902907914
А вот мой первый драфтик
https://datatracker.ietf.org/doc/html/draft-grishchenko-ppsp-swift-00
https://research.swtch.com/tlog
https://twitter.com/_rsc/status/1468260916902907914
А вот мой первый драфтик
https://datatracker.ietf.org/doc/html/draft-grishchenko-ppsp-swift-00
# Это называется credibility.
Если у меня есть 10 яблок, а у чувака из Google есть яблоко, то у чувака из Google больше яблок, и он изобрёл яблоки.
Если у меня есть 10 яблок, а у чувака из Оксфорда есть пол-яблока.... та же история.
Если я говорю непонятное - я псих; если чувак из Google говорит непонятное - он гений.
Ну и так далее...
С одной стороны, я привык. С другой стороны, я устал.
Если у меня есть 10 яблок, а у чувака из Google есть яблоко, то у чувака из Google больше яблок, и он изобрёл яблоки.
Если у меня есть 10 яблок, а у чувака из Оксфорда есть пол-яблока.... та же история.
Если я говорю непонятное - я псих; если чувак из Google говорит непонятное - он гений.
Ну и так далее...
С одной стороны, я привык. С другой стороны, я устал.
Сегодня день ностальгии, видимо; написал про мой rich text CRDT из 2012. https://github.com/gritzko/citrea-model/blob/master/story.md
GitHub
citrea-model/story.md at master · gritzko/citrea-model
A CRDT-based collaborative editor engine of letters.yandex.ru (2012, historical) - gritzko/citrea-model
# Rust
Неоднократно у меня возникал этот вопрос: писать на Rust или на C++? C++ я использую *очень* ограниченный, C++11 плюс пара забекпорченных фич из более поздних стандартов. Практически, это C с классами и шаблонами. И вот читаю я статью про внедрение Rust в Linux kernel и таки возникает у меня FOMO. Линус за Rust - говорит статья. Читаю чуть повнимательней и понимаю: Линус просто поработал над собой и теперь выражает свои сомнения в позитивном ключе. В духе "начните пока с чего-нибудь неважного, а через 10 лет поговорим".
Очевидные трудноразрешимые проблемы: сложность Rust, необходимость постоянной низкоуровневой работы в ядре, где особо не абстрагируешься, сопряжение с C кодом, отсутствие поддержки архитектур кроме Intel и ARM.
На мой взгляд, сложность кода может оказаться поважнее всего остального, в перспективе, и нивелировать выгоды от более строгой модели работы с памятью. Но результат будет понятен лет через k.
https://www.theregister.com/2021/11/10/where_rust_fits_into_linux/
Неоднократно у меня возникал этот вопрос: писать на Rust или на C++? C++ я использую *очень* ограниченный, C++11 плюс пара забекпорченных фич из более поздних стандартов. Практически, это C с классами и шаблонами. И вот читаю я статью про внедрение Rust в Linux kernel и таки возникает у меня FOMO. Линус за Rust - говорит статья. Читаю чуть повнимательней и понимаю: Линус просто поработал над собой и теперь выражает свои сомнения в позитивном ключе. В духе "начните пока с чего-нибудь неважного, а через 10 лет поговорим".
Очевидные трудноразрешимые проблемы: сложность Rust, необходимость постоянной низкоуровневой работы в ядре, где особо не абстрагируешься, сопряжение с C кодом, отсутствие поддержки архитектур кроме Intel и ARM.
На мой взгляд, сложность кода может оказаться поважнее всего остального, в перспективе, и нивелировать выгоды от более строгой модели работы с памятью. Но результат будет понятен лет через k.
https://www.theregister.com/2021/11/10/where_rust_fits_into_linux/
The Register
Keep calm and learn Rust: We'll be seeing a lot more of the language in Linux very soon
It's another string to your bow
# Разбор TON whitepaper
Для студентов разобрал TON whitepaper (блокчейн от не-Дурова); продублирую выводы здесь. Уязвимости порой находятся в коде, где казалось бы всё очень прямо и понятно (Diffie-Hellman logjam или на прошлой неделе log4j). А авторы предлагают реализацию трёхэтажного TON блокчейна с гиперкубическим раутингом, виртуальной машиной, цифровыми фонтанами и Kademlia DHT (да, всё сразу). Это имеет нулевую вероятность не только отсутствия уязвимостей, но и общей работоспособности.
Но динамика у whitepaper'а драматическая, конечно: сначала они предлагают крутой механизм... Но, есть маленькая очевидная проблемка. Тогда они предлагают добавить другой, часто более сложный, механизм, для её решения. Но... тут ещё проблемка... И эта история продолжается 120 страниц.
https://www.youtube.com/watch?v=L6DFGSY05IQ
Для студентов разобрал TON whitepaper (блокчейн от не-Дурова); продублирую выводы здесь. Уязвимости порой находятся в коде, где казалось бы всё очень прямо и понятно (Diffie-Hellman logjam или на прошлой неделе log4j). А авторы предлагают реализацию трёхэтажного TON блокчейна с гиперкубическим раутингом, виртуальной машиной, цифровыми фонтанами и Kademlia DHT (да, всё сразу). Это имеет нулевую вероятность не только отсутствия уязвимостей, но и общей работоспособности.
Но динамика у whitepaper'а драматическая, конечно: сначала они предлагают крутой механизм... Но, есть маленькая очевидная проблемка. Тогда они предлагают добавить другой, часто более сложный, механизм, для её решения. Но... тут ещё проблемка... И эта история продолжается 120 страниц.
https://www.youtube.com/watch?v=L6DFGSY05IQ
# Консенсус
Классические алгоритмы консенсуса подразумевают ограниченный круг участников. Это предположение, в частности, перешло из классических работ 1980-х в современные Proof of Stake и Паксосы.
А что если нам нужно достичь консенсуса в рое, где точное количество участников и топология сети неизвестны? Как оказалось решение есть и оно очень интересное - консенсус Шмебюлока. О чём мы с Мишей и написали статью.
Удивительно, но в ходе работы мы обнаружили концепцию куда более мощную, чем время Лампорта - время роя. Это логическое время для массивно параллельных само-синхронизирующихся систем.
Кто осилит текст - будем рады отзывам.
https://arxiv.org/abs/2112.07065
Классические алгоритмы консенсуса подразумевают ограниченный круг участников. Это предположение, в частности, перешло из классических работ 1980-х в современные Proof of Stake и Паксосы.
А что если нам нужно достичь консенсуса в рое, где точное количество участников и топология сети неизвестны? Как оказалось решение есть и оно очень интересное - консенсус Шмебюлока. О чём мы с Мишей и написали статью.
Удивительно, но в ходе работы мы обнаружили концепцию куда более мощную, чем время Лампорта - время роя. Это логическое время для массивно параллельных само-синхронизирующихся систем.
Кто осилит текст - будем рады отзывам.
https://arxiv.org/abs/2112.07065
Не очень грамотный обзор по Web 3.0 [1] от К.Сарханянца в Коммерсанте. Вот некоторые говорят, что нельзя журналистам давать что-то писать самим, потому что в чём они разбираются?
Попробую просуммировать эпический твиттер-срач последних двух недель и положение дел с "Web 3.0" в целом.
Центральный твиттер аккаунт в сраче - @kelseyhightower. Это вроде бы девопс в Гугле, большой influencer. Итак, он начал спрашивать в общем-то очевидные вещи относительно блокчейна и "Web 3.0" и поднял нешуточную волну. Включились и Grady Booch и Elon Musk и Jack Dorsey, только Elvis Presley почему-то молчал. Действительно, BitCoin-like блокчейн это принципиально немасштабируемая технология. То, что Джек Дорси - фанат именно BitCoin, это очень интересный факт. Упомянутый в статье "проект децентрализованных соцсетей Bluesky" - это просто одна приятная девушка, реальной работы там не происходит, только говорильня. Вообще, с инженерными успехами у Web 3 пока сложно. IPFS после 7 что ли лет разработки так толком и не используется. Я предлагал им пока выкинуть DHT в пользу Tiered Network [2] чтобы хоть что-то заработало. Поскрипели мозгами и стали искать, кто бы им сделал Tiered DHT. Не комментирую. Ethereum не то чтобы сильно лучше в плане масштабирования чем BitCoin, но там происходит всяческая движуха, по крайней мере. Про TON coin я уже высказывался. Вообще, эта блокчейн волна отличается очень шумным хайпом и очень маленьким выхлопом. Вот помню когда BitTorrent переехал на uTP/LEDBAT, до четверти траффика в интернете разом переключилось с TCP на UDP - а никто и не заметил. Прямая противоположность. Код вроде бы писали два человека - Шалунов и Норберг. Но возвратимся к чейнам. Вся эта тема мне напоминает диалог из фильма Sneakers (1992) [3].
"Not reality but the perception of reality" - это объяснение очень многого, что происходит.
[1]: https://www.kommersant.ru/doc/5152037
[2]: http://replicated.cc/netarch
[3]: https://www.youtube.com/watch?v=coDtzN6bXAM
Попробую просуммировать эпический твиттер-срач последних двух недель и положение дел с "Web 3.0" в целом.
Центральный твиттер аккаунт в сраче - @kelseyhightower. Это вроде бы девопс в Гугле, большой influencer. Итак, он начал спрашивать в общем-то очевидные вещи относительно блокчейна и "Web 3.0" и поднял нешуточную волну. Включились и Grady Booch и Elon Musk и Jack Dorsey, только Elvis Presley почему-то молчал. Действительно, BitCoin-like блокчейн это принципиально немасштабируемая технология. То, что Джек Дорси - фанат именно BitCoin, это очень интересный факт. Упомянутый в статье "проект децентрализованных соцсетей Bluesky" - это просто одна приятная девушка, реальной работы там не происходит, только говорильня. Вообще, с инженерными успехами у Web 3 пока сложно. IPFS после 7 что ли лет разработки так толком и не используется. Я предлагал им пока выкинуть DHT в пользу Tiered Network [2] чтобы хоть что-то заработало. Поскрипели мозгами и стали искать, кто бы им сделал Tiered DHT. Не комментирую. Ethereum не то чтобы сильно лучше в плане масштабирования чем BitCoin, но там происходит всяческая движуха, по крайней мере. Про TON coin я уже высказывался. Вообще, эта блокчейн волна отличается очень шумным хайпом и очень маленьким выхлопом. Вот помню когда BitTorrent переехал на uTP/LEDBAT, до четверти траффика в интернете разом переключилось с TCP на UDP - а никто и не заметил. Прямая противоположность. Код вроде бы писали два человека - Шалунов и Норберг. Но возвратимся к чейнам. Вся эта тема мне напоминает диалог из фильма Sneakers (1992) [3].
"Not reality but the perception of reality" - это объяснение очень многого, что происходит.
[1]: https://www.kommersant.ru/doc/5152037
[2]: http://replicated.cc/netarch
[3]: https://www.youtube.com/watch?v=coDtzN6bXAM
Коммерсантъ
Ничейная блокчейная
Каким может стать интернет будущего — Web 3.0
Новый драфт Swarm consensus уже на arxiv:
https://arxiv.org/abs/2112.07065
Добавлено: Византизм, объяснение swarm time, диаграмма Минковского, многое другое.
P.S. HackerNews: https://news.ycombinator.com/item?id=29711381
Собрал все очевидные вопросы, осталось поправить текст.
https://arxiv.org/abs/2112.07065
Добавлено: Византизм, объяснение swarm time, диаграмма Минковского, многое другое.
P.S. HackerNews: https://news.ycombinator.com/item?id=29711381
Собрал все очевидные вопросы, осталось поправить текст.
Local-first и децентрализация
Что ведёт нас к следующему шагу этой истории: может ли крипто вырасти в новую платформу, где начнёт резвиться новое поколение зайчиков? Писать на коленке маленькие программки, зарабатывать бабосики, кормиться и расти? В сегодняшнем виде - вряд ли. Тот же Ethereum…
Интересное мнение от ветерана Web 1.0, Web 2.0 и Web 3.0 Фреда Вилсона в общем близко к моему.
https://avc.com/2021/12/why-web3/
https://avc.com/2021/12/why-web3/
AVC
Why Web3? - AVC
Over the last month, there has been a ton of debate and conversation about web2 vs web3 with many leading voices raising doubts about web3. Debate and doubt are healthy. And web3 enthusiasts, particularly on Twitter, remind me of missionaries trying to recruit…
Полез искать новости про Казахстан, обнаружил, что Nexta не теряет времени даром - рекламируют NFT. https://t.me/nexta_live/15518
Telegram
NEXTA Live
Эту NFT-картинку купили за 100$, а перепродали за 6 МИЛЛИОНОВ долларов
Да, в это сложно поверить. Называется это преимущество первопроходца — тот, кто приходит первый снимает все сливки.
Автор канала «Конфетти из NFT» заработал уже не один миллион на картинках…
Да, в это сложно поверить. Называется это преимущество первопроходца — тот, кто приходит первый снимает все сливки.
Автор канала «Конфетти из NFT» заработал уже не один миллион на картинках…
Поправьте меня, если я что-то не понимаю, но ведь если "добыча биткойна" в Казахстане остановится, биткойн должен подорожать? 😋
Forwarded from РБК Крипто
За несколько часов отсутствия интернета в Казахстане хешрейт биткоина упал на 12%. На страну приходится 18,1% хешрейта биткоина.
Подробнее по ссылке:
https://www.rbc.ru/crypto/news/61d687eb9a79476bc3e2d035
Подробнее по ссылке:
https://www.rbc.ru/crypto/news/61d687eb9a79476bc3e2d035
РБК
Курс биткоина обновил месячный минимум на фоне событий в Казахстане
Стоимость первой криптовалюты опускалась до $42,5 тыс. Это произошло на фоне отключения интернета в ходе протестов в Казахстане, который является второй страной в мире по добыче биткоина
К слову вспомнилось. Был скандальчик небольшой некоторое время назад, когда выяснилось, что в Twitter модерацией по региону EMEA руководит офицер из подразделения по информационным войнам. Причём, он как-то глупо спалился, чуть не в LinkedIn всё указал.
Это я к тому, что любая "централизованная" сеть будет максимизировать выгоду для владельцев этого самого центра - через цензуру, управление нарративами, фильтрацию информации. Это неизбежно. А всяческие революции - это очень выгодно даже в банальном денежном смысле, десятки миллиардов долларов могут за ночь поменять хозяев.
https://www.ft.com/content/53017272-e37f-11e9-b112-9624ec9edc59
https://www.independent.co.uk/news/uk/home-news/twitter-executive-british-army-officer-psyops-gordon-macmillan-a9127036.html
Это я к тому, что любая "централизованная" сеть будет максимизировать выгоду для владельцев этого самого центра - через цензуру, управление нарративами, фильтрацию информации. Это неизбежно. А всяческие революции - это очень выгодно даже в банальном денежном смысле, десятки миллиардов долларов могут за ночь поменять хозяев.
https://www.ft.com/content/53017272-e37f-11e9-b112-9624ec9edc59
https://www.independent.co.uk/news/uk/home-news/twitter-executive-british-army-officer-psyops-gordon-macmillan-a9127036.html
Ft
Subscribe to read | Financial Times
News, analysis and comment from the Financial Times, the worldʼs leading global business publication
Кстати, помню в Копене когда работал, там в соседнем офисе был стартап, торгующий influencer-ами. Звонили серьёзным дядям постоянно, питчили своих подопечных. Не индивидуально, а сразу оптом. Индивидуально это будет муторно - instagram celebrity скупать, они мелкие слишком. Собственно, эту проблему стартап и решал.
Про пользователя бесплатных сервисов говорят "if you are not paying, you are the product". Наверное, это можно и для случая influencers переформулировать.
И вот ещё подумалось. Во всех мэйнстримовых социальных сеточках сейчас алгоритмические фиды. Соответственно, акт цензуры - это не когда гестаповцы в дверь стучат; это когда кто-то кликает мышкой - и урезает вам outreach, ну или добавляет. А может даже не человек, а алгоритм. И вы даже и не узнаете, что это произошло - никто тут не обязан вам что-либо сообщать. Но если вы influencer, то вы это точно *ощутите*. И, возможно, в следующий раз последите за базаром аккуратней.
Децентрализация конечно может помочь с цензурой... Теоретически, монетизация и токенизация медиа может даже решить проблему продажности influencer-ов. Но это, конечно, очень теоретически.
Про пользователя бесплатных сервисов говорят "if you are not paying, you are the product". Наверное, это можно и для случая influencers переформулировать.
И вот ещё подумалось. Во всех мэйнстримовых социальных сеточках сейчас алгоритмические фиды. Соответственно, акт цензуры - это не когда гестаповцы в дверь стучат; это когда кто-то кликает мышкой - и урезает вам outreach, ну или добавляет. А может даже не человек, а алгоритм. И вы даже и не узнаете, что это произошло - никто тут не обязан вам что-либо сообщать. Но если вы influencer, то вы это точно *ощутите*. И, возможно, в следующий раз последите за базаром аккуратней.
Децентрализация конечно может помочь с цензурой... Теоретически, монетизация и токенизация медиа может даже решить проблему продажности influencer-ов. Но это, конечно, очень теоретически.