Иван Ганев @IvanGanev
Фронтенд разработчик
Информация
- В рейтинге
- 3 411-й
- Откуда
- Москва, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность
Специализация
Frontend Developer
Senior
JavaScript
React
TypeScript
NextJS
Web development
По вашему диплом гос образца нельзя подделать?
Мне не важна ценность сертификатов, мне нужен просто механизм их выдачи. NFT дает такой механизм.
Впрочем когда я говорю о конкретном и работающем механизме решения проблемы, а мне в ответ говорят что это можно сделать "между делом" - ну так это при помощи NFT "между делом" и можно сделать. Ну то есть, есть ли реальный технический аргумент против NFT сертификатов, а не абстрактные рассуждения что эту проблему можно решить само собой?
Где они будут это кто они? NFT? И "где" это вы про что, про ETH мейннет? И что значит "название"? Мошенники смарт контракт с таким же адресом выпустят?
Ничего себе, ты есть вы уже за меня решили надо ли мне кому-то выдавать сертификаты и когда мне это делать?
Заспамят что? ETH Мейннет? Извините, но мне кажется что вы плохо понимаете о чем говорите.
И да такие сертификаты уже выдают, но пока что это делают да, только курсы связанные с блокчейном (хотя думаю уже в этом году NFT сертификаты начнут выдавать и другие онлайн курсы). Я не говорю о чем-то абстрактном, это уже работает.
Идея блокчейна именно в зеротраст. Криптообменники имеют смартконтракт с открытым кодом - при этом с гарантией что именно этот код и будет выполняться при обмене - на этом построены все свапы. Код гарантирует что за такую-то операцию твой кошелек получит столько-то, и кошелек с которым ты меняешься - столько-то. Никому из участников не нужно никаких гарантий ибо выполнение операции гарантирует код.
Но они конечно же работают только при обмене одной криптовалюты на другую.
То есть вот скажем я создал курс, и мне нужен какой-то способ выдавать сертификат по его окончанию ученикам - по вашему мне будет проще выпустить ЭЦП, а не NFT для этой цели?
Блокчейн заменяет такую инфраструктуру, уменьшает кол-во бюрократии и посреднеческих звеньев.
Вы путаете вопрос репутации и гарантии. Если вы зашли на сайт по протоколу https это не дает гарантию что этот сайт не мошеннический, но это же не значит что протокол https бесполезен?
Вообще конечно я преклоняюсь перед такими людьми как enovikov11 - вот у меня душевных сил спорить на такие темы нет - реально, пока инглишь сообщество изучает способы оптимизации solidity кода, у нас предлагают создавать централизованные государственные (!) базы данных вместо блокчейна.
Ну и выдавай. Блокчейн гарантирует что сертифткат выдал ты, кому выдал, и когда.
Открытая бд и логи измений дают вам тоже самое. Любое изменение видно роботам и можно поднимать шум. В блокчейне тоже самое. Государство говорит что с завтра вот эта ветка правильная, остальные неправильные. Вы должны принять правильную ветку, все госструктуры будут ей пользоваться. Почему так? Гостайна. Вы делаете дифф и поднимаете шум. Тоже самое.
Соха делает тоже самое что трактор, значи трактор не нужен?
Государство конечно же. Это копейки. Те кто делает любые курсы независимые от государства пусть крутятся как хотят. Их все равно никто не признаёт и не признает. Их не жалко.
ГосБД. Апишка. ФИО + дата рождения на вход, все официальные дипломы и подобное на выход. От учреждения конечно же полная независимость.
Это отличный пример того зачем нам для таких вещей нужен блокчейн. Гос-во в вашем примере это валидатор - тот кто подтверждает своим "авторитетом" что сертификат был выдан тем-то тогда-то кому-то. Но в случае с NFT нам не нужна эта третья сторона, вот и все - остаются только две стороны - кто выдал сертификат и кто получил. Без каких либо посредников.
Вы хотите обычные открытые гос базы данных. С открытым логом изменений конечно же. Не знаю хорошо это или плохо, но для этого блокчейн точно не нужен. Нужна открытая БД с открытым логом. И пусть вносят изменения за 2007. Они будут очень хорошо видны и отслеживаться пачкой роботов.
Блокчейн дает алгоритмическую гарантию. И не нужны никакие роботы. И да, он может быть и локальным, не обязательно это в мейннет класть, так что он может быть и приватным.
У криптоэтузиастов есть нездоровый энтузиазм по поводу того что блокчейн решит все проблемы - нет, не решит, но, вот нам нужна БД из которой ничего нельзя удалить, ничего нельзя изменить, и можно вносить только новые записи только по реальной нынешней дате - то почему бы и не заюзать для этого блокчейн? Это убирает гигантское количество звеньев которые могут дать сбой - существует огромный бюрократический аппарат который существует только для того что бы подтверждать отсутствие записей "задним числом", вместо всего этого довольно простое решение, которое, опять же, не обязательно даже должно быть в мейннете.
А вот тут сколько угодно. Дипломы так можно хранить. Скрывать диплом это что-то очень странное. Но нфт тоже не нужен. Обычная открытая БД всех устроит. Посмотреть черз апишку вот этого человека и получить авторитетный ответ. Это основной юзкейс. БД в нем отлично отработает.
Открытая БД? И где она будет крутиться? Чья она будет? Каждая платформа с курсами и каждый универ свою БД крутить? Со своим api? Знаете как онлайн курсы щас дают сертификаты? Дают картинку с именем (буквально) которая ничем не подтверждается и которую элементарно подделать, и, если очень повезет - код подтверждения. Но такой код подтверждения будет хоть что-то подтверждать пока организация его выдавшая продолжает поддерживать работу сайт/api который осуществляет подтверждение - чего далеко не факт они будут делать вечно.
Блокчейн же будет продолжать подтверждать что именно ты, в таком-то году, получил такой-то сертификат от такой-то организации. Да же если самой этой орги уже нет. При чем да же если какой-то злоумышленик захватит кошелек этой орги он все равно никак не сможет отобрать твой диплом - а вот сделать тоже самое с БД вполне могут (и все - досвидос сертификат?).
Право собственности это плохой пример - сейчас гос инфраструктура с таким просто не совместима. NFT отлично работает как, скажем, сертификат о прохождении обучения - при чем он может быть именным так что не имеет даже значения у кого в кошельке этот сертификат.
BugM прав в том что доверять людям доступ к кошелькам с такой инфой нельзя, но это и не нужно, польза блокчейна в случае с регистрацией права собственности НЕ в распоряжении собственностью, а в том что из блокчейна нельзя ничего удалить и нельзя сделать запись задним числом (и вообще ЛЮБЫМ числом кроме реальной даты внесения данных). Следовательно никто, ни хакер, ни мошенник, ни коррупционер, не сможет сделать в такую базу запись о том что это ему в 2007 году принадлежал такой-то автомобиль.
Требовать от реакта что бы он решал проблему обхода приложения ботами — это в целом требовать кардинальной смены подхода того как реакт и его экосистема вообще устроены. С такими предложениями вам не в комментариях на хабре нужно писать, а писать более чем обоснованные предложения команде реакта на гитхабе.
4) Если вы говорите про форму которая меняет весь стиль сайта — со светлой темы на темную, например — то да, такой стейт должен быть глобальным, провайдер этого стейта будет оборачивать все приложение так как он оказывает влияние на все приложение.
Но важно да же не это — если вы хотите сохранять данные юзера, то не надо юзать для этого стейты — они вообще не для этого созданы. Стейт это состояние интерфейса, а не инструмент для сохранения данных.
В данном случае — сохранения данных при рефреше логичнее было бы заюзать localStorage браузера.
В каких стилях? Можно задавать стили через пропсы, передавая в эти компоненты что нам нужно. Но вообще, в любом случае зачем:
вообще нужно делать этот стейт глобальным? Почему не обернуть в контекст провайдер компоненты? Хотя в данном случае вообще было бы достаточно сделать компонент со стейтом, внутри которого и использовать эти элементы. Вообще не понятно для чего тут нужна глобальность.
ну и не помещайте, данный способ не запрещает использовать любой уровень иерархии, включая глобальный.
Документация Реакта: «Компоненты позволяют разбить интерфейс на независимые части, про которые легко думать в отдельности.»
Зачем? Конечно такие кейсы возможны, но было бы интересно узнать при каких типовых сценариях это может пригодиться.
Вы же сами и говорили что: «а вот для фронтенда это — антипаттерн, так как интерфейс в каждый момент времени — цельная система, а синхронизация состояний — ключевой момент.»
Если использоваться может лишь в двух, то эти два и нужно оборачивать.
А если мы используем централизованный глобальный стейт то нам придется лезть в код реализации этого стейта и вычитывать от туда какой кусок кода относиться к нужным нам компонентам.
Да, так можно делать, но на мой взгляд это просто путь к описанному в статье варианту. Единый стор -> много централизованных сторов -> сторы разнесенные по приложению в соответствии с его бизнес логикой. Ментально это более простой способ мыслить о таком подходе если до этого приходилось работать только с централизованными состояниями.
Контексты в Реакте работают максимально предсказуемым образом, что бы мы, как разработчики, уже сами решали где нам нужно какое либо поведение.