В Берлине лопнул гиганский аквариум
"Прозрачный цилиндр высотой 16 и шириной 12 метров является крупнейшим в мире отдельно расположенным аквариумом. Миллион литров морской воды, общий вес 2000 тонн."
Являлся. Сегодня в шесть утра аквариум лопнул и затопил близлежащую округу. Хорошо, что все это случилось рано утром когда вокруг не было людей. В дневное время там полно туристов. Пострадало два человека. Обитателям аквариума повезло меньше — почти вся рыба погибла.
Дофаминовая аффирмация
Нам часто приходится делать то, что мы должны делать — работать, учиться, делать домашние дела и тому подобное. Когда мы что-то делаем, и у нас это получается — мы получаем положительные эмоции. Нам нравится получать положительные эмоции. Мы продолжаем делать то что нам нравится. Чем больше мы практикуемся в чем-то, тем лучше у нас это получается. Мы получаем еще больше положительных эмоций. Получается замкнутый круг. Все то что вызывает положительные эмоции мы запоминаем лучше, а значит мы быстрее учимся и качественнее запоминаем новую информацию. По-научному это называется дофаминовая аффирмация.
Существует также и кортизоловая аффирмация. Допустим, мы сделали что-то, что у нас получилось не очень хорошо. Нам это не понравилось. Мы испытываем беспокойство и волнение. Чтобы не испытывать беспокойства и волнения мы начинаем избегать делать то, что у нас не получается. Но делать это нам все равно приходится. Мы продолжаем учить уроки, работать работу, убираться в доме, но стараемся делать это реже, с неохотой и всячески саботируем процесс если возможно. У нас снижается успеваемость, появляются проблемы на работе, а дома образуются горы мусора. Все это еще больше вызывает в нас чувство недовольства. Мы еще больше ненавидим нашу жизнь, школу, работу, семью и себя.
Дофамин — гормон и нейромедиатор играющий в головном мозге важную роль в запоминании информации. Нашим предкам для выживания было важно запомнить безопасные и богатые едой места. Человек в дофаминовой петле будет лучше запоминать каждый свой маленький успех и ему будет казаться, что его память становится лучше.
Кортизол — гормон стресса, он заставляет нас чувствовать тревогу. Кортизол помогает мозгу забывать информацию. Негативный опыт лучше забыть, чтобы он не мешал нам радоваться жизни. Человек попавший в кортизоловую петлю будет жаловаться на плохую память и все забывать.
Вывод. Лучше радоваться своим маленьким успехам каждый день, вместо того чтобы корить себя за то, что ты что-то сделал хуже чем ожидал.
Что такое кошельки TON?
Описание Telegram Open Network если его внимательно читать со временем начинает затягивать все сильнее и сильнее.
Еще только вчера задавал себе вопросы - как же так получается, что адрес смарт-контракта оказывается известен до его публикации? Как на свежеопубликованном контракте уже есть транзакции недельной давности? Если кошелек пользователя и смарт-контракт это одно и тоже, а за хранения смарт-контракта сеть берет комиссию, то кто платит комиссию если я только что создал кошелек баланс на котором ноль?
Оказывается, кошелек в сети TON это действительно смарт-контракт, причем довольно простой.
Чтобы понять как адресуются данные в блочейне TON нужно знать как они хранятся. Для хранения всех данных TON использует дерево ячеек. Каждая ячейка может хранить до 1023 бит информации и до четырех ссылок на другие ячейки. Адресом ячейки является ее sha256 хеш. То есть для содержимого ячейки, находится sha256 хеш, этот хеш и является адресом ячейки. Если две ячейки содержат одинаковые данные, то они имеют одинаковый адрес. Это позволяет экономить место не сохраняя дублирующиеся данные. Такой способ хранения информации называется направленным ациклическим графом.
Часть ячеек хранят код смарт-контракта, а часть ячеек хранят данные смарт-контракта. Поскольку для большинства кошельков в сети используется один и тот же смарт-контракт, то получается для его хранения используются одни и те же ячейки!
Адрес смарт-контракта это sha256 хеш от кода смарт-контракта и его исходных данных. Когда пользователь устанавливает приложение кошелька, при первом запуске приложение предлагает создать пользователю пару ключей - закрытый и открытый. В этот момент смарт контракт кошелька еще не опубликован в сети TON. Однако, адрес будущего смарт контракта приложение уже знает - поскольку код смарт контракта и публичный ключ уже известны. Этот адрес пользователь может использовать, чтобы послать не него криптовалюту.
Когда на адрес, который еще не был инициализирован в блокчейне приходит перевод, то создается пустой смарт контракт, который и хранит баланс адреса. Код смарт контракта нужен только для совершения перевода, для хранения баланса он не обязателен. Пользователь может сколько угодно долго использовать "пустой" кошелек для получения платежей не инициализируя код смарт контракта в блокчейне.
Как только приложение кошелька видит, что баланс адреса ненулевой оно посылает в сеть сообщение с кодом смарт контракта вместе с публичным адресом пользователя. Только в этот момент в блокчейне сохраняется публичный ключ пользователя с привязанным к нему кодом смарт-контракта.
Как только у пользователя возникнет необходимость заплатить со своего адреса пользователь посылает в свой смарт контракт сообщение кому и сколько нужно перевести средств. Если на смарт-контракте достаточный баланс и сообщение пришло от владельца смарт-контракта, то смарт-контракт инициирует перевод по запрошенному адресу.
Смарт-контракт может не иметь уникальной части в виде публичного ключа пользователя, в этом случае код смарт контракт однозначно определяет свой адрес. Например, вот этот простейший смарт-контракт может быть опубликован только на одном уникальном адресе так как его код является единственной уникальной характеристикой.
Примечательно, что если кошелек не используется долгое время, то с него начинает браться повышенная комиссия и как только баланс кошелька становится нулевым смарт-контракт сначала замораживается а потом и вовсе удаляется из блокчейна.
Третий Конкурс Смарт-Контрактов от TON
Ребята из TON Foundation опять устраивают конкурс в денежными призами и ценными подарками. На этот раз это соревнование по написанию смарт контрактов на языке Func.
Хотя конкурс рассчитан на новичков, хочу честно признаться - я не могу даже приблизительно понять ЧТО нужно сделать, не говоря уже о том КАК.
Например в задании 4 нужно реализовать операцию по сложению двух эллиптических кривых Curve25519.
Наверно, среди тех, кто читает эти строки найдутся те, кто складывает каждый день перед завтраком пару десятков эллиптических кривых в уме, но, лично я, совершенно не знаю пока как это делается.
Ловлю себя на мысли, что мне нравится в этом копаться. Николай Дуров проделал колоссальную работу собирая вместе эту систему. Некоторые называют TON следующим Биткойном.
Пока у меня больше вопросов чем ответов. Например, Смарт Контракты TON можно модифицировать после публикации, как при этом можно защититься от скама? Или, например кошельки в сети TON это смарт контракты, при этом часть кошельков написана на Func а часть на Fift. На сайте утверждается, что они практически идентичны, тогда почему у кошельков второй версии нет кода на Func? Это все равно как привести две программы - одну на Си а вторую на Ассемблере и сказать что они практически идентичны...
Для того чтобы понять как это работает нужно прочитать сотни страниц спецификации. Документация вроде есть, но ее нужно прочитать, а это сотни страниц. Уже есть первые Step-by-step руководства, но они, как правило поломаны из-за изменений в коде системы, и чтобы понять как их пройти, все равно приходиться читать документацию.
Если кому-то нравятся головоломки, то смело могу порекомендовать этот конкурс. Первая фаза уже прошла, для тех кого это не смущает еще есть время до 23 декабря, чтобы разобраться в теме.