Получается, это НЕ КОНКУРС РАЗРАБОТЧИКОВ, которые могут показать уровень своих компетенций через реализацию высокопроизводительных приложений / алгоритмов, а скорее КОНКУРС ДИЗАЙНЕРОВ? Или это максимум конкурс UI девелоперов, которые способны пользоваться стандартными средствами UI-проектирования, а так же попрогать в canvas на этом же UI?
Нет, это был не конкурс дизайнеров, задачи создать дизайн не стояло, была задача его реализовать. Более точно — создать работающий компонент в соответствии с макетами. То, что у вас на скринах показано, никак на это претендовать не может.
Рассыпанные по тексту смайлики, капс, «смешные» картинки и видео намекают, что он написан в основном на эмоциях от неудачи. Я могу посочувствовать, проигрывать неприятно, но подобный стиль мешает серьёзно воспринимать вашу критику судейства.
Все данные, хранимые в блокчейне, будут упорядочены в хитрую структуру — дерево Меркла. Это штука, сама по себе похожая на блокчейн, только он линейные, а эта структура — ветвящаяся. Благодаря ей вводится понятие «доказательств Меркла» (Merkle proofs). Вкратце — если мы знаем хэш корня дерева, то чтобы подтвердить, что какой-то кусочек дерева действительно ему принадлежит, не нужно целиком иметь доступ к дереву — нужны только хэши, ведущие от корня к искомой ветке.
Чтобы определить, допустимо ли было включать какую-то транзакцию в блок, нужно получить состояние шардчейна, из которого она отправлена. Например, если на балансе исходного аккаунта было недостаточно средств — транзакция невалидна, в блок её нельзя было добавлять. Но переслать проверяющим узлам (валидаторам) всё состояние шардчейна тяжело — поэтому как раз полезно прислать только часть шардчейна, соответствующую одному аккаунту, и вместе с ней — доказательство Меркла, которое подтверждает подлинность этой части.
Дальше это заявление обрабатывает текущий набор валидаторов, проверяя корректность доказательства. Если они коллективно согласятся с тем, что транзакция включена в блок неправомерно, то добавят новый корректирующий блок.
Отрицательный баланс — это невалидное состояние блокчейна. Никакая транзакция к нему приводить не должна (иначе она тоже невалидна).
Если в результате корректировки какой-то транзакции у получателя станет баланс слишком мал, чтобы прошла следующая транзакция от него — она тоже будет отменена. И так далее, по цепочке.
Если же средств достаточно (у вас, магазина, поставщика), то на этом распространение коррекций оборвется и в соответствующем кошельке просто станет меньше денег.
В общем-то, эти проблемы никак не характерны для полудецентрализованной системы. Со всяким фродом, насколько я понимаю, и централизованным системам приходится бороться примерно такими же способами.
Разница станет понятнее, когда я разберу разделение ответственности между узлами. В каждый момент времени есть группы узлов, которые ответственны за добавление блоков в конкретный шардчейн. В группе таких узлов относительно немного (скажем, от десятков до сотни — в зависимости от того, на сколько шардов поделён блокчейн).
Чтобы появилась некорректная транзакция, нужно, чтобы мошенник смог вмешаться в действия этой рабочей группы. Если он сделает так, что две трети узлов проголосуют за включение в блок некорректной транзакции, она туда попадет.
Только тогда может в этот процесс может включиться (почти) кто угодно — и призвать к созданию корректирующего (вертикального) блока, да. Но, насколько я понимаю, тут уже потребуется одобрение двух третей не от рабочей группы, а от всех узлов-валидаторов, добавляющих новые блоки (их количество будет ближе к тысяче). Поэтому сжульничать на этом этапе становится ещё сложнее.
В конечном итоге ваш вопрос аналогичен вопросу «а что будет, если мошенник сможет провести атаку 51%?». Ну, если в какой-то момент времени мошенник сможет воздействовать на подавляющее число ключевых узлов сети, то понятно, что ничего хорошего из этого не выйдет. Идея в том, чтобы сделать такими узлами не один-два сервера, как в централизованных системах, а чуть побольше.
А что сложного в создании открытых/закрытых ключей? Закрытый ключ это же просто случайный набор байт — достаточно использовать хороший ГПСЧ, как это уже сейчас делается. Открытый ключ вычисляется на основе закрытого. С точки зрения блокчейна, можно «застолбить» аккаунт, соответствующий любому открытому ключу — они все по умолчанию имеют нулевой баланс.
По поводу создания блоков — кажется, у вас не совсем правильное понимание процесса (или, возможно, я не до конца в нём разобрался). Никто не кидает «стейк» на создание блока — люди просто платят комиссию за транзакции, которые они ходят провести (и которые однозначно будут добавлены в какой-то из следующих блоков), а узлы-валидаторы выбирают из них наиболее приоритетные (по времени появления и по размеру комиссии); договариваются между собой о том, какие попадут в следующий блок; подписывают и добавляют его в блокчейн (забирая комиссию с попавших в него транзакций).
Есть ещё другой тип узлов — collator (в своей статье я планирую перевести этот термин как подборщик). Они действительно смогут собирать за валидаторов подходящие транзакции, проверять их корректность (сверяясь с полным состоянием блокчейна), дополнять минимумом данных, достаточным для валидации — и передавать их валидаторам для включения в следующий блок. Конечно, если предложенный список транзакций окажется невалидным, подборщик просто не получит свой кусочек комиссии за них. Впрочем, такое разделение ролей (подборщики отдельно от валидаторов) на первых порах не планируется использовать.
Учитывая тенденции, есть вероятность, что в России не только покупать граммы, но и продолжать находиться скоро станет нецелесообразно (особенно тем, кто интересуется прогрессивными вещами типа криптовалют и мессенджеров с шифрованием).
Но это уже мое субъективное мнение. Ни к чему не призываю :)
В общем-то все те же вопросы применимы и к любой другой крипте. Здесь, я думаю, будет встроенный от самого Телеграма сервис для обмена (по крайней мере на первых порах). «Официальная» цена 1 грама тоже определена (точнее определена формула, по которой она будет расти со временем).
Не думаю, что какая-то из ныне существующих фич внезапно станет платной. Если хранение файлов и затронет, то, скорее всего, очень больших.
А вот сервисы, сделанные сторонними разработчиками — вполне могут (точнее, и там рекомендуется фримиум модель). Плюс рекламная платформа для владельцев каналов.
Честно говоря, зная амбиции Павла, я бы ничему не удивлялся. Как он там в ВК говорил, «сначала вы будете нас ненавидеть, а потом полюбите ещё сильнее».
Именно так. Но про сервисы не совсем — кроме внутренних, утилитарных, среди них будут и вполне доступные рядовому пользователю. Наподобие ботов сейчас — но с возможностью легко принимать оплату в тех же грамах (плюс, как я понял, появится нечто вроде «внутреннего аппстора» для всего этого — наподобие того, что есть в WeChat). А для владельцев каналов — возможность публиковать рекламные посты с оплатой за клики/просмотры.
У них в данной ситуации есть самый важный козырь по сравнению с другими криптовалютам — продукт, популярный среди обычных пользователей (не гиков, интересующихся криптой). Мне кажется, это действительно даст большое преимущество перед другими коинами.
Примерно любой веб-сервис или мобильное приложение можно представить себе в виде сервиса TON (точнее там и предполагается браузер-подобный интерфейс).
Хостинг понадобится скорее всего, так как я предполагаю, что код самих узлов (реализующих эти сервисы) надо будет поднимать на своих серверах (грубо говоря — некий демон, принимающий запросы из сети TON и передающий обратно ответы).
Когда читаю «каждое клиентское приложение Телеграма будет включать в себя узел TON», задумываюсь о том, как это будет сказываться на конечных пользователях. Окей, майнить на наших смартфонах никто не собирается, но воображение все равно рисует картины, где это ест у пользователя интернет-трафик, заряд аккумулятора и место в постоянной памяти. Что ты можешь сказать по этому поводу?
Не думаю, что это будет значительно отличаться от того трафика и потребления аккумулятора, которые есть сейчас. По сути будет возможность делать те же запросы, но по новому протоколу. Единственное, что немного беспокоит — поддержание в актуальном состоянии таблицы маршрутизации (остальные вещи не нужно постоянно синхронизировать). В любом случае, надо будет смотреть, как реализуют.
Как потенциальная децентрализация сказывается на (не)возможности заблокировать Telegram? Станет ли он резко на порядки неблокируемее?
В документе про сервис TON Proxy заявлено, что он может сделать Телеграм “effectively unblockable”. Но мне все равно видится проблема начального поиска узлов сети — кажется, что какие-то IP-адреса в клиенте должны быть захардкожены, чтобы с них началось обнаружение других соседей. Кажется, что для десктопных клиентов будет возможно искать друг друга мультикастом, но для мобильных — сомнительно. Возможно, тут ошибаюсь и меня поправят.
Впрочем, как мы видим, у Телеграма и без всего этого получается быть довольно-таки unblockable.
Если ты продолжаешь смотреть Silicon Valley, то скажи, насколько корректно проводить параллели между TON Services и текущей версией Pied Piper? :)
Стыдно признаваться, но за пятый сезон ещё не брался, поэтому не могу сказать. К выходу следующей части статьи постараюсь исправиться :)
По сути так, да. Они должны будут вкладываться в мощное оборудование (кроме того, что вносить залог), а взамен получать комиссию, взимаемую за транзакции с пользователей.
Нет, это был не конкурс дизайнеров, задачи создать дизайн не стояло, была задача его реализовать. Более точно — создать работающий компонент в соответствии с макетами. То, что у вас на скринах показано, никак на это претендовать не может.
Рассыпанные по тексту смайлики, капс, «смешные» картинки и видео намекают, что он написан в основном на эмоциях от неудачи. Я могу посочувствовать, проигрывать неприятно, но подобный стиль мешает серьёзно воспринимать вашу критику судейства.
Чтобы определить, допустимо ли было включать какую-то транзакцию в блок, нужно получить состояние шардчейна, из которого она отправлена. Например, если на балансе исходного аккаунта было недостаточно средств — транзакция невалидна, в блок её нельзя было добавлять. Но переслать проверяющим узлам (валидаторам) всё состояние шардчейна тяжело — поэтому как раз полезно прислать только часть шардчейна, соответствующую одному аккаунту, и вместе с ней — доказательство Меркла, которое подтверждает подлинность этой части.
Дальше это заявление обрабатывает текущий набор валидаторов, проверяя корректность доказательства. Если они коллективно согласятся с тем, что транзакция включена в блок неправомерно, то добавят новый корректирующий блок.
Если в результате корректировки какой-то транзакции у получателя станет баланс слишком мал, чтобы прошла следующая транзакция от него — она тоже будет отменена. И так далее, по цепочке.
Если же средств достаточно (у вас, магазина, поставщика), то на этом распространение коррекций оборвется и в соответствующем кошельке просто станет меньше денег.
В общем-то, эти проблемы никак не характерны для полудецентрализованной системы. Со всяким фродом, насколько я понимаю, и централизованным системам приходится бороться примерно такими же способами.
Чтобы появилась некорректная транзакция, нужно, чтобы мошенник смог вмешаться в действия этой рабочей группы. Если он сделает так, что две трети узлов проголосуют за включение в блок некорректной транзакции, она туда попадет.
Только тогда может в этот процесс может включиться (почти) кто угодно — и призвать к созданию корректирующего (вертикального) блока, да. Но, насколько я понимаю, тут уже потребуется одобрение двух третей не от рабочей группы, а от всех узлов-валидаторов, добавляющих новые блоки (их количество будет ближе к тысяче). Поэтому сжульничать на этом этапе становится ещё сложнее.
В конечном итоге ваш вопрос аналогичен вопросу «а что будет, если мошенник сможет провести атаку 51%?». Ну, если в какой-то момент времени мошенник сможет воздействовать на подавляющее число ключевых узлов сети, то понятно, что ничего хорошего из этого не выйдет. Идея в том, чтобы сделать такими узлами не один-два сервера, как в централизованных системах, а чуть побольше.
По поводу создания блоков — кажется, у вас не совсем правильное понимание процесса (или, возможно, я не до конца в нём разобрался). Никто не кидает «стейк» на создание блока — люди просто платят комиссию за транзакции, которые они ходят провести (и которые однозначно будут добавлены в какой-то из следующих блоков), а узлы-валидаторы выбирают из них наиболее приоритетные (по времени появления и по размеру комиссии); договариваются между собой о том, какие попадут в следующий блок; подписывают и добавляют его в блокчейн (забирая комиссию с попавших в него транзакций).
Есть ещё другой тип узлов — collator (в своей статье я планирую перевести этот термин как подборщик). Они действительно смогут собирать за валидаторов подходящие транзакции, проверять их корректность (сверяясь с полным состоянием блокчейна), дополнять минимумом данных, достаточным для валидации — и передавать их валидаторам для включения в следующий блок. Конечно, если предложенный список транзакций окажется невалидным, подборщик просто не получит свой кусочек комиссии за них. Впрочем, такое разделение ролей (подборщики отдельно от валидаторов) на первых порах не планируется использовать.
Учитывая тенденции, есть вероятность, что в России не только покупать граммы, но и продолжать находиться скоро станет нецелесообразно (особенно тем, кто интересуется прогрессивными вещами типа криптовалют и мессенджеров с шифрованием).
Но это уже мое субъективное мнение. Ни к чему не призываю :)
А что в РФ это всё могут порезать для пользователей — конечно, могут. Но это уже вопрос другой.
А вот сервисы, сделанные сторонними разработчиками — вполне могут (точнее, и там рекомендуется фримиум модель). Плюс рекламная платформа для владельцев каналов.
Честно говоря, зная амбиции Павла, я бы ничему не удивлялся. Как он там в ВК говорил, «сначала вы будете нас ненавидеть, а потом полюбите ещё сильнее».
Хостинг понадобится скорее всего, так как я предполагаю, что код самих узлов (реализующих эти сервисы) надо будет поднимать на своих серверах (грубо говоря — некий демон, принимающий запросы из сети TON и передающий обратно ответы).
Не думаю, что это будет значительно отличаться от того трафика и потребления аккумулятора, которые есть сейчас. По сути будет возможность делать те же запросы, но по новому протоколу. Единственное, что немного беспокоит — поддержание в актуальном состоянии таблицы маршрутизации (остальные вещи не нужно постоянно синхронизировать). В любом случае, надо будет смотреть, как реализуют.
В документе про сервис TON Proxy заявлено, что он может сделать Телеграм “effectively unblockable”. Но мне все равно видится проблема начального поиска узлов сети — кажется, что какие-то IP-адреса в клиенте должны быть захардкожены, чтобы с них началось обнаружение других соседей. Кажется, что для десктопных клиентов будет возможно искать друг друга мультикастом, но для мобильных — сомнительно. Возможно, тут ошибаюсь и меня поправят.
Впрочем, как мы видим, у Телеграма и без всего этого получается быть довольно-таки unblockable.
Стыдно признаваться, но за пятый сезон ещё не брался, поэтому не могу сказать. К выходу следующей части статьи постараюсь исправиться :)