Мне лично в Blazor не нравится четкое разделение на или все на сервере, или все на клиенте. Вариант все на клиенте не рассматривается, ибо килограммы кода тащить, потом ждать компиляцию, бета-тестировать WebAssembly.
Т.е. остается только сервер. Но даже тот сайт, который они сделали (themesof.net) заметно лагает на открытии узлов дерева. Каждый клик мыши идет на сервер по веб-сокетам и получает UI дельту.
Я понимаю, что в некоторых случаях это даже неплохо, но для современного веба, такая заторможенная реакция UI — не айс.
Плюс, Microsoft такой Microsoft. Когда написание компонентов на Blazor можно было сделать реально легковесным, типо
Они пошли по дороге — опишите все поля как свойства, навешайте на них специальных атрибутов, ведь так не понятно, что публичные свойства они на то и публичные, что они отовсюду видны, а вот мы в Blazor Team не понимаем.
Короче, как обычно. Можно было сделать зашибенный React для C#, а получился восьминогий семихрен…
Для простых смертных блокчейн, конечно, иммутабелен. Но есть случаи, когда и в нем можно удалять или блокировать транзакции.
Откат транзакции выполняется простым blacklist-ом целевых счетов.
По этому вопросу есть отличное видео от Сатоши, в котором он четко по полочкам раскладывает, как тот же интерпол спокойно может откатывать любые транзакции.
Ключевой момент в том, что ордер на откат должен быть получен во всех юрисдикциях, где есть майнеры. А это возможно только тогда, когда иск признают критическое большинство юрисдикций. Т.е. арест счетов по политическим мотивам не прокатит, а вот воровство — запросто.
Какие есть возможности у валидаторов проверять эмиссию, неизменность протокола, обеспечивать устойчивость сети (ну для гарантии своих инвестиций)? Какие у них стимулы для обеспечения технического преимущества перед другими блокчейн-продуктами?
Или от них требуются только бабульки, а остальное сделает за них кто-то другой?
Децентрализация, это когда протокол взаимодействия жестко зафиксирован. И у всех участников поэтому одинаковые возможности. Когда никто больше не контролирует протокол, все равны и могут только конкурировать между собой.
А когда протокол рисует Дуров, это 100% централизация с липовым консенсусом по второстепенным решениям для любителей демократии.
Блокчейн биткоина мутабелен. Государства могут издавать международные Seize&Desist ордера, которые обязывают майнеров блокировать доступ к определенным транзакциям.
Это достаточно напряжно, но возможно. Если у вас стырят биткоинов на миллиард, вам их вернут, blockchain это просто бухгалтерская книга, в которой прописаны все транзакции.
Если майнерам придет международный ордер на откат транзакции, они обязаны будут подчиниться, иначе их просто закроют за противодействие закону.
Чтобы передать налик из точки А в точку Б нужно чтобы кто-то из физически перевез.
Это затратно. И чем больше расстояние, тем затратнее. А если грабанут по дороге?
Вопрос микроплатежей за десятую долю центов уже решен и работает в Bitcoin SV. Там есть все, нужно просто брать и делать поверх свои сервисы, а не изобретать очередной Betamax.
Поддержание сети — это затратная задача. Чтобы не было 51% атаки на сеть, она должна поддерживаться несколькими участниками, которые должны конкурировать между собой, постоянно улучшая свою технологию, что ведет к улучшению качества и производительности сети.
Если поддержание сети — централизовано, владелец сети может: крутить-вертеть эмиссию, стейкхолдеров, содержимое блокчейна, банить и все что угодно. Немаловажно также, кто и как будет оплачивать поддержание серверов?
Тут говорили, что асик-фермы — это промежуточное звено. На самом деле, промежуточным звеном в этом являются стейкхолдеры (PoS), которые замораживают свои деньги в сети под обещания. Не инвестируют их в железо, R&D, технику, а просто замораживают. Они как бы инвестируют их, но не напрямую, а через посредника в виде хозяина сети, который как бы обещает поддерживать сеть и выплачивать проценты.
PoS это что-то типо акции с дивидендами, которые не регулируются финансовыми институтами. Обычные акции подлежат жесткому финансовому законодательству, отчетности, аудиту. Чтобы вывести акцию на биржу — надо столько всего сделать, кучу гарантий, законов и прочее. А в PoS, как и любое другое ICO, это 100% дикий запад, где вас кинут, как только появится возможность. Ни один PoS проект, как и ни одно ICO, не окупили вложенные в них деньги. PoS/ICO синонимы слову кидалово.
Хотите проценты по вкладам, идите на нормальную биржу, покупайте честные акции и получайте дивиденты.
Вот чего не понимаю, так это зачем или накуа изобретать очередной шиткоин/велосипед?
Есть Bitcoin SV, которые все это уже делает: и микротранзакции, и токены, и скрипты turing-complete, и неограниченный размер блока, и SPV (упрощенная проверка p2p платежей), и конвертация в fiat, и майнинг…
И вместо того, чтобы взять готовое, проверенное временем решение, давайте потратим миллионы на очередной клон мертворожденного BTC Lightning Network…
Может у Дурова это фишка такая, переизобретать колесо?
Решения по суду еще нет. Есть рекомендации, так что никто пока никому ничего не отдаст.
Потом последуют апелляции, и истец должна будет доказать % участия покойного напарника в майнинге.
А тут у них все плохо, потому как у Райта есть богатая история майнинга в Австралии, когда он вложился на миллион. Так что, брату напарника светит не так много из кубышки Сатоши.
Можно и Task.Run, а можно и new Thread(). Вопрос, что дороже. Месить ThreadPool кусками кода, или в одном параллельном потоке сделать все, что можно и вернуть результат работы.
ConfigureAwait(false) отрывает Task от изначального синхронизационного контекста, бросая продолжения на ThreadPool, я так понимаю. Это значит, аллокировать делегат продолжения, зафиксировать все используемые локальные переменные из окружения, найти в ThreadPool свободный поток (а это thread safe, значит лочить надо), заинициализировать все статические переменные потока, чтобы Task-и работали нормально. Плюс там все через StateMachine сделано, т.е. каждый await это switch по int.
Надо замерять производительность. Меня сильно беспокоит то, что в UWP они начинают все API асинхронным делать, без альтернативных синхронных методов. Добавить сюда еще постоянный COM marshalling в сишное ядно, так недолго добиться JavaScript производительности. :)
Нисколько не приуменьшаю этот новый функционал в C#. Для полноты картины от нужен 100%.
Но практика для десктопных приложений показывает, что отгрузка в параллельный поток и чтение обычным синхронным способом работает в разы быстрее. Особенно на слабом железе типо IoT или телефон. Плюс в параллельном потоке можно еще что-то поделать, посчитать там что-то полезное, данные преобразовать, не нагружая при этом основной поток.
А основной поток засирается диспетчингом всех этих асинков очень неслабо.
Т.е. остается только сервер. Но даже тот сайт, который они сделали (themesof.net) заметно лагает на открытии узлов дерева. Каждый клик мыши идет на сервер по веб-сокетам и получает UI дельту.
Я понимаю, что в некоторых случаях это даже неплохо, но для современного веба, такая заторможенная реакция UI — не айс.
Плюс, Microsoft такой Microsoft. Когда написание компонентов на Blazor можно было сделать реально легковесным, типо
Они пошли по дороге — опишите все поля как свойства, навешайте на них специальных атрибутов, ведь так не понятно, что публичные свойства они на то и публичные, что они отовсюду видны, а вот мы в Blazor Team не понимаем.
Короче, как обычно. Можно было сделать зашибенный React для C#, а получился восьминогий семихрен…
https://youtu.be/ruGxgffb6C8
Если по-английски понимаете. Один из многочисленных пруфов
Более того, когда 51% сети подчинится S&D ордеру (а это один Китай), остальные майнеры никого не волнуют. Сеть пересчитает блоки и вуаля
Причем здесь код? Когда к вам приходит налоговая и говорит, что вы должны денег, их абсолютно не волнует какой-то там код.
Вы или подчиняетесь или вас закрывают.
Так и с майнерами. Международный S&D order и закроют любую распределенную сеть. Liberty Reserve тому пример
Для простых смертных блокчейн, конечно, иммутабелен. Но есть случаи, когда и в нем можно удалять или блокировать транзакции.
Откат транзакции выполняется простым blacklist-ом целевых счетов.
По этому вопросу есть отличное видео от Сатоши, в котором он четко по полочкам раскладывает, как тот же интерпол спокойно может откатывать любые транзакции.
Ключевой момент в том, что ордер на откат должен быть получен во всех юрисдикциях, где есть майнеры. А это возможно только тогда, когда иск признают критическое большинство юрисдикций. Т.е. арест счетов по политическим мотивам не прокатит, а вот воровство — запросто.
Или от них требуются только бабульки, а остальное сделает за них кто-то другой?
А когда протокол рисует Дуров, это 100% централизация с липовым консенсусом по второстепенным решениям для любителей демократии.
Это достаточно напряжно, но возможно. Если у вас стырят биткоинов на миллиард, вам их вернут, blockchain это просто бухгалтерская книга, в которой прописаны все транзакции.
Если майнерам придет международный ордер на откат транзакции, они обязаны будут подчиниться, иначе их просто закроют за противодействие закону.
Блокчейн здесь прикручен исключительно для bullshit-bingo, тем более, такой корявый клон LN и PoS.
Это затратно. И чем больше расстояние, тем затратнее. А если грабанут по дороге?
Вопрос микроплатежей за десятую долю центов уже решен и работает в Bitcoin SV. Там есть все, нужно просто брать и делать поверх свои сервисы, а не изобретать очередной Betamax.
Если поддержание сети — централизовано, владелец сети может: крутить-вертеть эмиссию, стейкхолдеров, содержимое блокчейна, банить и все что угодно. Немаловажно также, кто и как будет оплачивать поддержание серверов?
Тут говорили, что асик-фермы — это промежуточное звено. На самом деле, промежуточным звеном в этом являются стейкхолдеры (PoS), которые замораживают свои деньги в сети под обещания. Не инвестируют их в железо, R&D, технику, а просто замораживают. Они как бы инвестируют их, но не напрямую, а через посредника в виде хозяина сети, который как бы обещает поддерживать сеть и выплачивать проценты.
PoS это что-то типо акции с дивидендами, которые не регулируются финансовыми институтами. Обычные акции подлежат жесткому финансовому законодательству, отчетности, аудиту. Чтобы вывести акцию на биржу — надо столько всего сделать, кучу гарантий, законов и прочее. А в PoS, как и любое другое ICO, это 100% дикий запад, где вас кинут, как только появится возможность. Ни один PoS проект, как и ни одно ICO, не окупили вложенные в них деньги. PoS/ICO синонимы слову кидалово.
Хотите проценты по вкладам, идите на нормальную биржу, покупайте честные акции и получайте дивиденты.
Можно дальше не продолжать
Есть Bitcoin SV, которые все это уже делает: и микротранзакции, и токены, и скрипты turing-complete, и неограниченный размер блока, и SPV (упрощенная проверка p2p платежей), и конвертация в fiat, и майнинг…
И вместо того, чтобы взять готовое, проверенное временем решение, давайте потратим миллионы на очередной клон мертворожденного BTC Lightning Network…
Может у Дурова это фишка такая, переизобретать колесо?
Потом последуют апелляции, и истец должна будет доказать % участия покойного напарника в майнинге.
А тут у них все плохо, потому как у Райта есть богатая история майнинга в Австралии, когда он вложился на миллион. Так что, брату напарника светит не так много из кубышки Сатоши.
ConfigureAwait(false) отрывает Task от изначального синхронизационного контекста, бросая продолжения на ThreadPool, я так понимаю. Это значит, аллокировать делегат продолжения, зафиксировать все используемые локальные переменные из окружения, найти в ThreadPool свободный поток (а это thread safe, значит лочить надо), заинициализировать все статические переменные потока, чтобы Task-и работали нормально. Плюс там все через StateMachine сделано, т.е. каждый await это switch по int.
Надо замерять производительность. Меня сильно беспокоит то, что в UWP они начинают все API асинхронным делать, без альтернативных синхронных методов. Добавить сюда еще постоянный COM marshalling в сишное ядно, так недолго добиться JavaScript производительности. :)
Но практика для десктопных приложений показывает, что отгрузка в параллельный поток и чтение обычным синхронным способом работает в разы быстрее. Особенно на слабом железе типо IoT или телефон. Плюс в параллельном потоке можно еще что-то поделать, посчитать там что-то полезное, данные преобразовать, не нагружая при этом основной поток.
А основной поток засирается диспетчингом всех этих асинков очень неслабо.