Прикиньте, блокчейн в браузере

Демка, https://nimiq.com/betanet/
И ее код https://github.com/nimiq-network/core

2 лайка

Вот это прикол. Можно помайнить пока цепочки несложные. Если выстрелит, через пару лет (когда курс вырастит) можно будет купить себе домик на берегу моря )

Это демка, которую выключат. Да и не работает мир так что сидение за компом приносит деньги.

Многоинтереснее в этом явлении то что вместе с развитием webassembly и с тем как распространены браузеры, браузер может становиться клиентом блокчейн приложений. Блокчейн не только про деньги. Он про любые трансзакции. Блокчейн позволяет убрать посредника, который валидирует корректность трансзакций. Меньше посредников - меньше шансов на вмешательство, ноль соблазна посреднику воспользоваться силой.

Здравствуй e-government, распределенные социальные сети, распределенная разработка приложений.

Почему нет? Именно так когда-то и майнили биткоин, когда еще цепочки были не настолько сложные, чтобы нужно было покупать отдельные майнеры и объединяться в пулы для их решения. Интересно также как смогли организовать все так, что биткоин начали менять на реальные деньги. Это же, условно, обычная голда как в игре. Как смогли создать такой бешеный спрос на виртуальную валюту?

Блокчейн очень интересное явление. Только мы живем в век, когда правительства уже начали считаться с силой интернета и уже начались первые попытки его контролировать. Доберутся и до блокчейнов. Потому что блокчейн – это независимость, а независимость это опасно для власть-держащих.

Вообще, свобода интернета это больная тема.

1 лайк

[quote=“dmitry, post:4, topic:1754”]
браузер может становиться клиентом блокчейн приложений
[/quote]А сервером? Возможен ли блокчейн, хостящийся только на браузерах? С учётом его тенденции к росту полагаю что нет, но всё равно интересно спросить.

[quote=“dmitry, post:4, topic:1754”]
не работает мир так что сидение за компом приносит деньги
[/quote]Но работу компа, получается, уже можно продавать.

Приложение парней как раз про это: браузер может и майнить и проводить трансзакции. Тут словами описано устройство решения https://medium.com/nimiq-network/nimiq-a-peer-to-peer-payment-protocol-native-to-the-web-ffd324bb084

Я спрашиваю не столько об этой реализации, сколько об абстрактном. Как минимум, там есть TURN сервер, который, как я понял, выходит за пределы браузер онли (можно ли без него обойтись, интересно). Кроме того, там предполагается существование сущности Storage - чтобы простому юзеру хранить не цепочку блоков, а только заголовки.

Мне бы хотелось такой блокчейн, в котором вместо выкачивания всех блоков было бы позволено хранение только тех из них, в которых встречается информация про мою собственность (либо движение моих средств, либо мой информационный вклад в БД). Это бы подошло для распределённого хранения (вместо централизованного списка трансзакций) чего-нибудь огромного, но ценного и не подлежащего цензуре (гитхаб, википедия, пресса). Если получится придумать экономическую модель для стимуляции избыточного хостинга, разумеется.

Представляю себе такой сервис как-то так: я захожу (допустим) на Вики и скачиваю оттуда пару страниц - теперь (в отличии от настоящей Вики) я тоже их храню. Если я их храню - значит, мне позволено их у себя править, а так же выпускать правки в сеть или скачивать чужие. Процесс децентрализованного аппрува правок я бы сделал похожим на биржу предсказаний - чем больше я уверен в целесообразности своего вклада, тем большим количеством средств я бы рискнул, отправляя его на рассмотрение другими участниками сети.

При всей недодуманости моей идеи, мне всегда казалось, что кроссплатформенный браузер с persistent кэшированием - самая нереальная её часть. Например, изредка мой Хром может так сильно упасть, что не остаётся возможности заставить его вспомнить, что за вкладки были открыты. И конечно же, если я и получу типа offline-first страницу в Хромовском кэше - я не смогу ни извечь её оттуда (чтобы открывать вне конкретного инстанса Хрома), ни вычистить ненужные скрипты, ни даже просто переместить на другой диск. Странная идея использовать такую среду для хранения чего-нибудь важного, но у проекта по ссылке как раз ничего важного там и не хранится.

1 лайк

В реализации 2p2 в браузере нужен 3-d party server чтобы передать информацию. Меня расстроило, что концептуальной децентрализованности не получается. Ограничения реализованных API.

Парни решали проблему лимита indexedDb. Хранилища браузеров не вместят гигабайты цепочек. Снова ограничение API.

Я не уверен в том что скажу. Суть блокчейна в том что список трансзакций есть у каждого участника. Если у тебя нет информации об всех трансзакциях по сохраненным страницам Вики, то твои правки не произойдут для актуальной версии страницы.

Думаю что дело в корректной реализации API для persistant storage. Упавшие вкладки - больше часть UI и логики браузера. В приложении ты будешь работать с indexedDB и опираться на качество ее API.

Возможно. Придумываешь формат и экспорт-импорт между браузерами.

Поддерживаю.

Список трансзакций нужен для доказуемой проверки корректности следующих трансзакций. Основанием для прироста цепочки есть нахождение цифровой подписи для блока, который будет самым удачным с точки зрения следующего.

Мне кажется прикольной идеей прикрепить содержимое полезной правки к блокчейну с информацией о проведённых трансзакциях (точнее, наоборот). В таком случае, старые блоки со знаниями и трансзакциями будет смысл хранить только до тех пор, пока информация из правки актуальна (даже научные знания устаревают). Но хранение наших unspent outputs есть самое главное что мы хотим от блокчейна, может быть главнее чем любой кусок знаний. Поэтому, хотелось бы попробовать сделать основным источником консенсуса цепочку из хэшей от хэшей блока - чтобы получить возможность удалять блоки из цепочки без нарушения целостности.

Ясное дело, что если можно будет провалидировать цепочку от генезис блока до текущего состояния, не выкапывая каждую первую трансзакцию сделанную миллион лет назад, то так никто не захочет хранить никаких ни знаний, ни цепочек. Но если простимулировать хранение актуальных блоков наградой хостеру за скачивание, а взамен заставить пользователей платить микроплатежи за каждый скачанный блок с патчами до актуальной версии. Тогда пользователи смогут у себя на компьютере составить из блоков-патчей такую же энциклопедию, но не всю, а только те части, в которых они нуждаются, получая платежи от сети за хостинг… нет, это невозможно без persistent storage на всю память на стороне клиента, вместо жирного и забывчивого веб-браузера.

1 лайк

Не выстрелит, и непонятно почему это программистам сразу не понятно стало, максимум стрельнет как временное явление, за счет вложенной рекламы. Но опчемуто понял почему только @dmitry в этой теме.

Блокчейн в браузере, понятное дело браузер не умеет оптимально решать такие задачи. Потому максимум что будет это браузерный интерфейс.

Справедливости ради @eimrine высказал те же сомнения того же уровня что и я.

Конкретный проект навряд выстрелит если развитие браузеров останется на текущем уровне. Но я хотел бы видеть браузер как универсальную машину для приложений. В том числе blockchain-based приложений.

1 лайк

Для этого браузер должен стать ос.

Браузер уже имеет все признаки ОС: предоставляет доступ и управление к ресурсам . Но на сегодня хромают реализации API и производительность. Вектор развития браузеров такой что производительность чинят (webassembly), новые API реализуют. Так получилось из-за того что браузеры задуманы как универсальное средство доставки текста. Развитие шло со стороны “загружаем текст и интерпретируем”, до сегодняшнего “поиграй в webgl игру в браузере”.

Поэтому я вижу дружбу браузеров и блокчейна в будущем.

Браузер не является доступным интерфейсом по умолчанию, это вопрос юзабилити.

Вы имеете в виду, что по умолчанию браузер не доступен для пользователя до тех пор, пока он не запустит скачивалку браузера (Internet Explorer) с целью сделать интерфейс браузера “доступным”? Слишком бессмысленно чтобы быть правдой…

Самая большая (ИМХО) проблема браузера в том, что слепок веб-приложения браузера (то, что находится в моей RAM пока я пишу это сообщение) не есть для меня доступным - хоть по умолчанию, хоть вообще как-нибудь. Например, когда я покупал доступ к одному ресурсу с новостями, и на правах легитимного подписчика открыл в последний день несколько сотен страниц (чтобы читать, когда закончится подписка) - у меня не было и нет надёжного способа сохранить все эти странички на диск, хоть сколько бы дискового пространства у меня не было.

Просто скачать веб-страницу, на данном этапе развития браузеров скорее нельзя чем можно (конкретно на сайте из моего примера раньше было можно, но к моменту окончания моей подписки на этом специальном сайте сделали так, чтобы во время сохранения хоть html, хоть mht картинки не сохранялись; впрочем, их всё ещё можно скачать с помощью платной программы teleport вместо привычного браузера). Я считаю проблемой, что страница, которую я уже открыл, может самопроизвольно уничтожиться по разным техническим причинам (коротко говоря: браузеру наплевать как на то, что я за неё заплатил, так и на то, что на моём диске полно свободного места).

Вот тема, в которой я 2+ года назал выразил сильную фрустрацию точно по тем же апихам, только без блокчейна. Там я пришёл к выводу, что раз я не могу ни перекомпилировать браузер с целью отключить мой нелюбимый метод onBlur (не хватает знаний системного прогаммирования), ни вырезать все упоминания onBlur из приходящих скриптов (лень настраивать Fiddler) - остаётся только смириться с тем, что жизнь - боль, и просто терпеть её каждый раз, когда мой DOM оказывается не моей крепостью.

Это так, я бы сказал пользователь проводит очень много времени в браузере, потмоу идея сакмих браузерных апликейшенов имеет место быть, но много причин почему они не достают до уровня обычно программ для ос.

Насчет скачивания, в этом плане хорошо ведет себя оффлайн версия, но разработчики редко ею заморачиваются, а должны бы.