децентрализованные приложения с равал

Книга «Децентрализованные приложения. Технология Blockchain в действии»

децентрализованные приложения с равал. 7936402294b7414b9c06c384353c7862. децентрализованные приложения с равал фото. децентрализованные приложения с равал-7936402294b7414b9c06c384353c7862. картинка децентрализованные приложения с равал. картинка 7936402294b7414b9c06c384353c7862.Технология Bitcoin показала, как можно использовать криптографически сохраненные записи, модель с ограниченными ресурсами, открытый исходный код и пиринговые сети для создания нового типа успешных приложений.

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

История появления децентрализованных приложений

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

Ответ прост: потому что этот путь проще и идеологически, и программно. Он оказался самым простым в реализации, и он работал. Один человек или группа оплачивали содержание сервера и получали прибыль от пользователей их программного обеспечения. Одними из первых популярных централизованных приложений стали MySpace и Yahoo. Более современные приложения, такие как Uber и Airbnb, децентрализуют отдельные сегменты бизнеса, предоставляя централизованное и доверенное хранилище данных. Они одними из первых позволили извлекать прибыль в разных сферах экономики. Их децентрализованная бизнес-модель предвещает появление еще более децентрализованных приложений.

На некотором этапе развития Всемирной паутины появился новый протокол, разработанный Брэмом Коэном, получивший название BitTorrent. Этот протокол был создан для решения проблемы длительности загрузки огромных медиафайлов через HTTP и как усовершенствование некоторых одноранговых (P2P) предшественников вроде Gnutella, Napster и Grokster. Проблема заключалась в том, что загрузка огромных файлов занимала очень продолжительное время, а с ростом Всемирной паутины увеличивались и размеры самих файлов. В то же время росла емкость жестких дисков и увеличивалось количество людей, подключенных к Интернету. BitTorrent решил проблему, превратив загружающих в раздающих.

Если вам требовался некоторый файл, вы могли загрузить его не из одного, а сразу из нескольких источников. Чем популярнее файл, тем больше пользователей загружало и, соответственно, раздавало его. А чем больше источников, тем быстрее осуществляется загрузка. Сидеры (seeders)1 вознаграждались более высокими скоростями загрузки, а личеры (leechers)2, напротив, наказывались ограничением скорости. Система передачи данных, организованная по принципу «ты — мне, я — тебе», доказала свою эффективность для распространения медиафайлов большого размера, таких как фильмы и записи телевизионных передач.

Протокол BitTorrent продолжает развиваться и для многих является основным способом загрузки огромных файлов, таких как игры или фильмы. Благодаря скорости, устойчивости и наличию механизма вознаграждения протокол BitTorrent лучше подходит для загрузки больших объемов данных, чем HTTP.

Тогда почему развитие Всемирной паутины не пошло по этому пути?

Вероятно, из-за того что HTTP оказался первым, а также благодаря его инфраструктуре и потраченным на его развитие средствам и времени. В настоящее время активно ведутся исследования в направлении модернизации Всемирной паутины с применением BitTorrent-подобной технологии, и они почти наверняка увенчаются успехом, потому что BitTorrent имеет неоспоримые преимущества. Как только появилась технология BitTorrent, разработчики стали использовать ее для создания некоммерческих децентрализованных приложений. Давайте познакомимся с некоторыми примерами последних децентрализованных приложений.

PopcornTime использует протокол BitTorrent для передачи потокового видео между пользователями в режиме реального времени, действуя подобно BitTorrent-клиенту Netflix. Это настоящий кошмар для американской ассоциации кинокомпаний (Motion Picture Association of America, MPAA). Никакой регулятор не способен установить свои ограничения, и теперь любой может получить свободный доступ к фильмам. PopcornTime оказался практичным децентрализованным приложением, действующим как децентрализованная версия Netflix. Создатели утверждают, что их приложение используется во всех странах и даже в двух странах, где нет Интернета. В PopcornTime отсутствует внутренняя конкуренция, и в нем не требуется поддержка децентрализованного консенсуса, поэтому нет необходимости использовать цепочки блоков. Это приложение просто передает потоковое видео, и тем самым обеспечивается его немалая ценность.

Целью разработки OpenBazaar было создание децентрализованной версии Ebay. В приложении OpenBazaar отсутствуют посредники, которые указывали бы продавцам, что они могут продавать, а что — нет, или взимали бы плату за услуги. Оно основано на протоколе BitTorrent, однако проблема заключается в том, что продавцы должны иметь собственные хранилища. Они вынуждены настраивать собственные серверы, чтобы пользователи могли видеть продаваемые товары. В идеале продавцы могли бы просто выгружать свою информацию в сеть, возможно, за небольшую плату, и избавиться от лишнего беспокойства. Но для этого необходима децентрализованная система заинтересованных хранителей (майнеров в терминологии Bitcoin), о которых подробнее рассказывается в главе 4. Для передачи данных в OpenBazaar используется протокол BitTorrent, а для расчетов — криптовалюта Bitcoin.

Приложение FireChat появилось в связи с известными событиями — демократическими протестами в Гонконге в 2014 году. Печально известный «Великий китайский файервол» (Great Firewall) блокирует доступ к продемократическим сайтам или к сайтам, распространяющим информацию, идущую вразрез с интересами китайского правительства. Протестующие боялись, что правительство попытается закрыть доступ к различным социальным сетям, чтобы лишить их общения посредством протокола HTTP. Поэтому они применяли FireChat, приложение, использующее новую возможность iOS 7 с названием Multipeer Connectivity (многосторонние соединения), позволяющую телефонам связываться друг с другом без посредников. Из-за отсутствия центральной точки отказа правительству пришлось бы вручную отключать каждый узел, что практически невозможно, поэтому протестующие могли уверенно общаться друг с другом.

Децентрализованный протест в лучшем его проявлении.

Мы подробно обсудим Lighthouse в главе 5, а пока отмечу, что это кошелек для Bitcoin с набором встроенных умных контрактов. Умные контракты помогают вкладывать деньги в определенные проекты, так же как, например, Kickstarter. Когда проект достигает своей цели, появляется возможность вернуть средства из кошелька Lighthouse проекта, собирающего средства. Вкладчик может в любой момент отозвать свой вклад без уведомления создателя проекта. Lighthouse — отличный пример использования существующей инфраструктуры Bitcoin для создания своего децентрализованного приложения. Lighthouse — это всего лишь пользовательский интерфейс с несколькими встроенными умными контрактами Bitcoin. Приложение работает, опираясь на круг пользователей Bitcoin. Оно открыто, полагается на поддержку децентрализованного консенсуса, не имеет центральной точки отказа, но использует не собственную валюту, а Bitcoin. Это очень полезное приложение, но оно не приносит коммерческой выгоды создателям.

Gems — это приложение-мессенджер, разработанное с целью создания более справедливой бизнес-модели, чем WhatsApp. Gems выпускает собственную валюту и позволяет рекламодателям платить пользователям напрямую за свои данные, без участия посредников, получающих свою долю. Пользователи тоже могут зарабатывать гемы, привлекая новых пользователей в сеть. Гемы — это метамонеты валюты Gems, основанной на Bitcoin, которые разработчики также получают за разработку и сопровождение программного обеспечения. Круг пользователей Gems постоянно расширяется, поэтому растет ценность валюты. Пользователи заинтересованы в расширении сети и получении дохода, как и разработчики. Gems можно рассматривать как пример долевого участия в развитии децентрализованного приложения. Его исходный код закрыт, поэтому у пользователей нет возможности убедиться в отсутствии единственной точки отказа. Gems — это коммерчески выгодное приложение, но, на мой взгляд, оно не обладает достаточным запасом надежности, чтобы выдержать конкуренцию с продуктами, отвечающими трем другим критериям.

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

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

Для Хаброжителей скидка 25% по купону — Applications

Источник

Децентрализованные приложения. Технология Blockchain в действии (pdf+epub)

Те, кто искали эту книгу – читают

децентрализованные приложения с равал. z. децентрализованные приложения с равал фото. децентрализованные приложения с равал-z. картинка децентрализованные приложения с равал. картинка z.

Эта и ещё 2 книги за 299 ₽

Технология Bitcoin показала, как можно использовать криптографически сохраненные записи, модель с ограниченными ресурсами, открытый исходный код и пиринговые сети для создания нового типа успешных приложений.

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

Держим курс на открытость и децентрализацию!

Отзывы 4

Книга не для начального уровня. Материал изложен не системно, скорее напоминает справочник. Возможно будет интересна разработчикам, которые решили освоить децентрализацию.

Книга не для начального уровня. Материал изложен не системно, скорее напоминает справочник. Возможно будет интересна разработчикам, которые решили освоить децентрализацию.

децентрализованные приложения с равал. 260148572 40. децентрализованные приложения с равал фото. децентрализованные приложения с равал-260148572 40. картинка децентрализованные приложения с равал. картинка 260148572 40.

Не понятно на кого рассчитана книга – то ли на программиста, то ли на того, кто хочет разобраться как технологию блокчейн можно использовать в своем бизнесе или какие это дает возможности. Нет четкого позиционирования.

Источник

децентрализованные приложения с равал. userinfo v8. децентрализованные приложения с равал фото. децентрализованные приложения с равал-userinfo v8. картинка децентрализованные приложения с равал. картинка userinfo v8.dzeso

dzeso

децентрализованные приложения с равал. 368378 original. децентрализованные приложения с равал фото. децентрализованные приложения с равал-368378 original. картинка децентрализованные приложения с равал. картинка 368378 original.

Bitcoin — децентрализованная электронная криптовалюта, созданная Сатоши Накамото в 2008 году. Под словом «децентрализованная» понимается, что Bitcoin не имеет каких-либо централизованных серверов для обработки транзакций или хранения средств.

Криптовалюта — вид цифровой валюты, эмиссия и учёт которой основаны на криптографических методах, например методе защиты Proof-of-work и асимметричному шифрованию, а функционирование системы происходит децентрализовано в распределённой компьютерной сети.

Block chain (произносится, как «блок чейн«) – публичная база всех транзакций, когда-либо совершенных в системе. Используя эту базу, например, каждый пользователь имеет возможность узнать, какое количество криптовалюта принадлежало какому-либо конкретному адресу в определенный отрезок времени. База поддерживается с помощью распределённых усилий множества майнеров.

Майнинг (англ., «mining») — это процесс записи транзакций с криптовалютой в блокчейн, общедоступную базу данных по всем операциям, которая отвечает за подтверждение транзакции.

Правда, немного обескураживало то, что вполне серьезные люди из моего окружения темой блокчейна занялись вплотную. Но и это я себе объяснял тем, что раз они биржевые игроки, то спекуляция «цифровыми луковицами» носит профессиональный интерес, а мне туда лезть нечего. Однако что-то продолжало беспокоить и поэтому когда увидел книгу Равал С. «Децентрализованные приложения. Технология Blockchain в действии», мимо пройти не смог.

О чем книга
Формально книга совсем о другом, она о децентрализованных информационных системах. Едва ли, кроме довольно узкой группы специалистов, это тема кому-то будет интересна и, наверное, будь речь только о децентрализованных системах, то и не стоило бы о ней писать. Но это не так. Рассказывая о децентрализованных системах, автор довольно детально описывает основы технологии блокчейнов, что и оказалось наиболее интересным.

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

Об авторе
децентрализованные приложения с равал. 368559 original. децентрализованные приложения с равал фото. децентрализованные приложения с равал-368559 original. картинка децентрализованные приложения с равал. картинка 368559 original.
«Сираж Равал (Siraj Raval) — разработчик децентрализованных приложений, предприниматель и технический писатель по велению души. Звезда YouTube, он все свое время посвящает собственному каналу Sirajology. Основал краудфандинговую платформу для разработчиков с названием Havi, создал несколько приложений для iOS, включая Meetup, работал в сфере хостинга для проектов с открытым исходным кодом. Сираж не только программист, но также путешественник, музыкант, постмодернист и аквалангист»

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

Источник

Как создать децентрализованное приложение, которое масштабируется? Используйте меньше блокчейна

Нет, запуск децентрализованного приложения (dapp) на блокчейне не приведет к успешному бизнесу. На самом деле, большинство пользователей даже не задумывается работает ли приложение на блокчейне — они просто выбирают продукт, который дешевле, быстрее и проще.

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

децентрализованные приложения с равал. image loader. децентрализованные приложения с равал фото. децентрализованные приложения с равал-image loader. картинка децентрализованные приложения с равал. картинка image loader.

Довольно часто в whitepaper’ах приложений, которые построены на блокчейне, можно найти параграф, в котором сказано: «блокчейн дорогой и не способен поддерживать требуемое число транзакций в секунду. К счастью, много умных людей работает над масштабированием блокчейна и к моменту запуска нашего приложения он станет достаточно масштабируем».

В одном простом параграфе, разработчик dapp’а может отказаться от более глубокого обсуждения проблем масштабируемости и альтернативных решений проблем. Это часто приводит к неэффективной архитектуре, где бэкендом и ядром приложения служат смарт-контракты, работающие на блокчейне.

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

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

Подход #1: Блокчейн как бэкенд

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

В любой ситуации, когда мы хотим одолеть такого посредника, используя этот подход, мы будем пытаться повторить его бизнес логику, используя смарт-контракты на таком блокчейне, как, например, Ethereum.

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

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

децентрализованные приложения с равал. image loader. децентрализованные приложения с равал фото. децентрализованные приложения с равал-image loader. картинка децентрализованные приложения с равал. картинка image loader.

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

В этом подходе есть две стороны проблемы масштабируемости. Во-первых, максимальное число транзакций в секунду. Во-вторых, объем данных, который может храниться в блокчейне.

Давайте сделаем примерные расчеты. Booking.com заявляет, что у них зарегистрировано почти 2 миллиона отелей. Предположим, что в среднем у отеля есть 10 номеров и каждый бронируется всего 20 раз в году — это дает нам в среднем 13 бронирований в секунду.

Для оценки этого числа стоит отметить, что Ethereum может обрабатывать примерно 15 транзакций в секунду.

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

Здесь также проблем размера — вес блокчейна Ethereum недавно перешел отметку в 2TB. Если бы приложения с подобным подходом стали бы действительно популярны, то сеть Ethereum стала бы крайне нестабильной.

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

Поэтому разработчики dapp’ов должны тщательно оценить действительно ли каждой фиче, использующей блокчейн, нужна распределенность и неперезаписываемость.

Например: в чем преимущество распределения данных каждого отеля по сотням машин по всему миру и постоянного хранения их там? Действительно ли важно, чтобы исторические данные по ценам и доступности номеров всегда были включены в блокчейн? Наверное, нет.

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

Подход #2: Архитектура, вдохновленная Blockstack’ом

Хотя основной упор Blockstack на приложениях, в которых пользователи являются владельцами своих данных (например, таких как Airtext, BentenSound, ImageOptimizer или Graphite), у blockstack также есть философия малого использования блокчейна — только тогда, когда это абсолютно необходимо. Их основной аргумент в том, что блокчейн медленный и дорогой, а значит должен использоваться только для одиночных или нечастых операций. Остальное взаимодействие с приложениями должно происходить через peer-to-peer, т.е. пользователи децентрализованных приложений должны делиться данными напрямую друг с другом, а не через блокчейн. В конце концов, самые старые и успешные децентрализованные приложения, такие как BitTorrent, емейл и Tor были созданы еще до создания самого концепта блокчейна.

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

Давайте вернемся к примеру с бронированием отелей. Мы хотим беспристрастный, независимый и открытый протокол для связывания гостей с отелями. Другими словами, мы хотим убрать централизованного посредника. У нас нет необходимости, например, постоянно хранить цены номеров в общем распределенном реестре.

Почему бы нам просто не позволить гостям и отелям взаимодействовать напрямую, а не через блокчейн. Отели могут хранить их цены, доступность номеров и любую другую информацию где-нибудь, где они будут доступны для всех — например, IPFS, Amazon S3, или даже их собственный локальный сервер. Это как раз то, что предоставляет децентрализованная система хранения от Blockstack под названием Gaia. Она позволяет пользователям выбрать, где они хотят хранить их данные и контролировать, у кого может быть доступ к ним через подход, называемый многопользовательским хранилищем.

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

В случае с Blockstack, в блокчейне хранится только ваша идентификационная информация. Информация о том, как получить данные каждого пользователя, хранится в файлах зоны (zone files) и распространяется через пиринговую сеть с помощью нод. И еще раз — вам не нужно верить данным, которые отдают ноды, потому что вы можете проверить их подлинность, сравнив их с хешами, которые хранятся в блокчейне и у других пользователей.

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

Эта архитектура сложнее, чем первый подход, и требует более комплексной инфраструктуры. На самом деле, это как раз то, где приходит Blockstack, предоставляя все необходимые компоненты для создания такой децентрализованной системы.

децентрализованные приложения с равал. image loader. децентрализованные приложения с равал фото. децентрализованные приложения с равал-image loader. картинка децентрализованные приложения с равал. картинка image loader.

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

Более того, логика приложения, в противоположность первому подходу, работает на стороне клиента, а не на смарт-контрактах. Это позволяет разработчику изменять эту логику без дорогостоящих или иногда даже невозможных обновлений смарт-контракта. А держа данные и логику приложения не в блокчейне, децентрализованные приложения могут достигнуть уровня производительности и масштабируемости традиционных централизованных систем.

Заключение

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

Например, если децентрализованное приложение работает не на смарт-контрактах, то это уменьшает необходимость в утилити-токенах. Это может вызвать проблемы для бизнеса, если учитывать, что ICO были основным источником финансирования для децентрализованных приложений (включая сам Blockstack)

Здесь также есть технические проблемы. Например, относительно просто реализовать функцию бронирования отелей в смарт-контракте, где при атомарной операции бронирование номеров производится в обмен на токены. И не очень очевидно, как бронирование будет работать в Blockstack приложении без смарт-контрактов.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *