Читать книгу Читай, пиши, управляй: блокчейн как новая эра интернета - Chris Dixon - Страница 5
Часть I. Читай. Пиши
Глава 2. Протокольные сети
ОглавлениеЛюдям было сложно понять, что Всемирная паутина состоит из URL-адресов, HTTP и HTML, вот и все. Ни тебе центрального компьютера, «контролирующего» все; ни какой-то одной сети, в которой работают эти протоколы; ни даже организации, которая откуда-то «управляла» бы паутиной. Она не была физической «вещью» в определенном «месте». Это было «пространство», в котором могла существовать информация.
Тим Бернерс-Ли[37]
Краткая история протокольных сетей
Осенью 1969 года американские военные запустили первую версию интернета – ARPANET, названную в честь Агентства перспективных исследовательских проектов Министерства обороны США (ARPA – Department of Defense’s Advanced Research Projects Agency)[38].
В последующие несколько десятилетий развитие интернета происходило под руководством широкого сообщества исследователей и разработчиков. Эти теоретики и практики принесли с собой традицию открытого доступа. Они верили в свободный обмен идеями, равные возможности и меритократию. По их мнению, контроль должен принадлежать людям, которые пользуются услугами интернета (их так и назвали – пользователями). Структура и управление первых исследовательских сообществ, консультативных и оперативных групп воплощали в себе эти ранние демократические идеалы.
И в начале 1990-х, когда интернет вышел из-под крыла правительственных и научных кругов к мейнстримным пользователям, он взял с собой эту культуру. К Сети присоединялось все больше людей, и они наследовали этот эгалитарный дух. Киберпространство было действительно открытым. Как писал в 1996 году в своей «Декларации независимости киберпространства» Джон Перри Барлоу, поэт-активист, а иногда и автор текстов группы Grateful Dead, «мы создаем мир, в который каждый может войти без каких-либо привилегий или предубеждений, обусловленных расой, экономическим положением, военной силой или местом рождения»[39]. Словом, интернет олицетворял свободу и новое начало.
Тот же дух пропитывал и саму технологию. интернет зиждился на публичных протоколах, которые представляли собой набор правил для компьютеров – участников сетей. В древности «протоколами» (от греч. prōtokollon) называли «первый лист тома», часто с оглавлением. Со временем это слово стало означать перечень «дипломатических условностей», а позже, уже в ХХ веке, – «технические стандарты для программного обеспечения». Этот последний, высокотехнологический, контекст широко распространился с появлением ARPANET, ведь протоколы – доступные и открытые для всех – легли в основу развития интернета.
Воспринимайте их как аналоги естественных языков, скажем, английского или суахили. Они позволяют компьютерам взаимодействовать друг c другом. Если вы станете говорить как-то иначе, есть шанс, что другие люди вас не поймут. Выражаясь техническим языком, вы прекратите взаимодействие с ними. А еще, имея достаточное влияние, вы можете изменить то, как говорят другие, ведь диалекты способны превращаться в новые языки, но только если к вашему сообществу присоединятся новые участники. Словом, для нормального функционирования и протоколов, и языков требуется консенсус.
Протоколы лежат слоями друг на друге и в итоге – на вычислительных устройствах, образуя так называемый стек[40]. Компьютерщику полезно знать все слои стека, как и нюансы между ними. Известная модель OSI (Open Systems Interconnection – модель взаимодействия открытых систем) идентифицирует семь слоев. Для нашего обсуждения достаточно представить себе три слоя. Самый нижний состоит из аппаратного обеспечения: серверов, ПК, смартфонов, подключенных к интернету устройств, таких как телевизоры и видеокамеры, а также сетевого оборудования, которое все это объединяет. Другие слои строятся на этом фундаменте.
Сразу поверх физического уровня идет сетевой, известный как интернет-протокол, или IP (internet protocol)[41]. Он определяет форматирование, адресацию и маршрутизацию пакетов информации между узлами первого уровня. Данный стандарт был разработан в 1970-х Винтоном Серфом и Робертом Каном, исследователями той же лаборатории, в которой создали ARPANET. (Позже ее переименовали в DARPA; она также участвовала в изобретении таких футуристических технологий, как транспорт-невидимка и GPS.)[42]. Сеть официально завершила внедрение интернет-протокола 1 января 1983 года; большинство людей считают эту дату днем рождения интернета.
Далее, над интернет-уровнем, находится уровень приложений, названный так потому, что именно здесь к сети подключаются пользовательские приложения. В основном он определяется двумя протоколами, первый из них – электронная почта. Протокол, управляющий ею, называется Simple Mail Transfer Protocol, или SMTP[43]. Джон Постел, исследователь из Университета Южной Калифорнии, создал его для стандартизации электронной почты в 1981 году, мощно поспособствовав ее широкому распространению. Как рассказывают Кэти Хафнер и Мэтью Лайон в своей истории интернета, книге «Там, где волшебники не спят допоздна» (Where Wizards Stay Up Late): «Точно так же, как пластинку первоначально изобрели для меломанов и аудиофилов, но потом она породила целую индустрию, электронная почта до поры до времени росла и крепла в ARPANET в среде элитного сообщества ученых-компьютерщиков, а потом расцвела, заполонив собой, словно планктон, весь интернет»[44].
Второй протокол, на почве которого тоже расцвели многие приложения, – Веб, или протокол передачи гипертекста, он же HTTP (hypertext transfer protocol). Британский ученый Тим Бернерс-Ли изобрел его – а также язык разметки гипертекста, или HTML (hypertext markup language), – для форматирования и рендеринга сайтов в 1989 году, когда работал в швейцарской физической лаборатории CERN. (Обратите внимание: люди часто используют понятия «интернет» и «Веб» как взаимозаменяемые, но это разные сети: первая соединяет устройства, а вторая связывает страницы.)
Благодаря простоте, универсальности и открытости электронная почта и Веб были приняты на ура. После создания этих протоколов программисты кодифицировали их в почтовые клиенты и браузеры, многие с открытым исходным кодом. В результате любой желающий мог загрузить такой клиент (сегодня большинство людей назвали бы это приложением) и присоединиться к сети. Клиенты базируются на протоколах и позволяют пользователям получать доступ к лежащим в их основе сетям и участвовать в их работе. Они похожи на порталы, или шлюзы, открывающие путь к сетям с протоколами.
Люди взаимодействуют с протоколами через клиенты. Например, Веб начал становиться массовым только после того, как в 1993 году дебютировал один из таких клиентов – удобный для пользователей браузер Mosaic[45]. Сегодня самыми популярными считаются проприетарные браузеры, такие как Google Chrome, Apple Safari и Microsoft Edge, а самыми популярными почтовыми клиентами – Gmail (проприетарный, размещенный на серверах Google) и Microsoft Outlook (загружаемый на локальные компьютеры). Широкий спектр ПО, как проприетарного, так и с открытым исходным кодом, также остается доступным для работы веб-серверов и серверов электронной почты.
Коммуникационная система, легшая в основу интернета, проектировалась как децентрализованная и благодаря этому достаточно устойчивая и надежная, чтобы пережить ядерный удар. Она трактовала все узлы как равноправные и в результате могла бы продолжать функционировать даже после уничтожения некоторых ее частей. Электронная почта и Веб унаследовали эту философию. Все узлы в них «одноранговые»; ни один не имеет никаких преимуществ перед остальными.
Протокольная сеть
Однако один компонент интернета спроектировали иначе. Он контролировал специальную функцию: присвоение имен.
Это обязательное требование для любой сети. Имена – базовые виды аватаров, важнейших компонентов для построения сообществ. В Twitter меня, например, зовут @cdixon, а мой сайт называется cdixon.org. Эти удобные и понятные имена облегчают другим людям задачу найти меня и связаться со мной. Если кто-то хочет на меня подписаться, добавить меня в друзья или прислать мне что-нибудь, он легко делает это по ссылке на одно из моих имен.
У машин тоже есть имена. В интернете компьютеры знают друг друга под так называемыми адресами интернет-протокола – наборами чисел, которые трудно запомнить человеку, но не машине. Представьте, что вам нужно набирать многозначное число для каждой веб-страницы, которую вы хотите посетить. Пролистываете «Википедию»? Вводите 198.35.26.96. Ищете видео на YouTube? Набирайте 208.65.153.238. Человеческой памяти не обойтись без каталогов, подобных спискам контактов в телефонах.
Одна организация на протяжении 1970–1980-х вела официальный интернет-каталог[46]. Сетевой информационный центр Стэнфордского исследовательского института собрал все адреса в один файл HOSTS.TXT, который постоянно обновлялся и распространялся по всей Сети. Каждый раз, когда менялся какой-то адрес или к Сети присоединялся очередной узел (что случалось часто), всем приходилось обновлять файл хостов. Сеть быстро росла, и со временем эта задача стала крайне сложной. Людям нужна была менее громоздкая система, способная служить единым источником истины.
Ею стала система доменных имен, или DNS (domain name system)[47]. Пол Мокапетрис, американский ученый-компьютерщик, предложил это решение в 1983 году[48]. Технически оно было сложным, но легшая в его основу идея отличалась удивительной простотой: преобразовать доменные имена, удобные для человеческого восприятия, в IP-адреса физического компьютера. Система эта была иерархической, но при этом распределенной. На верхнем уровне определенная совокупность международных институтов: правительственных организаций, университетов, компаний, некоммерческих организаций и т. д., – управляла набором из тринадцати корневых серверов, и по сей день являющихся высшими арбитрами системы.
Начиная с 1980-х и на протяжении всех 1990-х, в годы бурного развития коммерческого интернета, команда под руководством Джона Постела внедрила и способствовала развитию DNS в Университете Южной Калифорнии[49]. В 1997 году журнал The Economist определил роль этого человека так: «Если в Сети действительно есть бог, то его, вероятно, зовут Джон Постел»[50]. Но по мере дальнейшего развития интернета возникла потребность в более долгосрочном решении проблемы управления DNS. Осенью 1998 года правительство США инициировало передачу надзора за пространством имен в интернете новой организации – некоммерческой Корпорации по управлению доменными именами и IP-адресами (Internet Corporation for Assigned Names and Numbers), или ICANN. В 2016 году ICANN стала независимой и перешла на глобальную модель с распределенным участием; она осуществляет надзор над системой, которую мы используем сегодня[51].
Система DNS крайне важна для эффективной работы интернета. Когда вы ищете в браузере определенный сайт, скажем, google.com или wikipedia.org, ваш провайдер прогоняет запрос через специальный сервер, называемый DNS-преобразователем, который запрашивает дальнейшие указания у серверов домена верхнего уровня, ответственных за расширения, в данном примере.com или. org. Далее серверы верхнего уровня указывают на серверы более низкого уровня, которые предоставляют вашему браузеру соответствующие IP-адреса и приводят вас к цели. В целом этот процесс называется DNS-поиском, и вы проходите его буквально за мгновения каждый раз, когда хотите посетить какой-либо сайт. (Чтобы ускорить поиск, поставщики DNS также сохраняют, или, научно говоря, кэшируют, IP-адреса на серверах, расположенных ближе к пользователям.)
Протоколы, лежащие в основе электронной почты и Веба, бесплатны – за исключением DNS, которая взимает небольшую плату, идущую ICANN и интернет-регистраторам. Пользователь, который внес плату (обычно около 10 долл. в год) и не нарушает закон, может делать со своими доменными именами что угодно. Он может покупать и продавать их или оставлять себе бесконечно. По сути, это больше похоже на налог на собственность, чем на арендную плату.
Имена – важный рычаг контроля сетей. В Twitter и Facebook♦
37
Berners-Lee T., Fischetti M. Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web by Its Inventor. New York: Harper, 1999. P. 36.
38
Advancing National Security Through Fundamental Research, по состоянию на 1 сентября 2023 г., Defense Advanced Research Projects Agency.
39
Perry Barlow J. A Declaration of the Independence of Cyberspace // Electronic Frontier Foundation, 1996 // eff.org/cyberspace-independence.
40
Frystyk H. The Internet Protocol Stack // World Wide Web Consortium, July 1994 // w3.org/People/Frystyk/thesis/TcpIp.html.
41
Meynell K. Final Report on TCP/IP Migration in 1983 // Internet Society, Sept. 15, 2016 // internetsociety.org/blog/2016/09/final-report-on-tcpip-migration-in-1983/.
42
Sea Shadow / DARPA, darpa.mil/about-us/timeline/sea-shadow/; Alexandrow C. The Story of GPS // 50 Years of Bridging the Gap, DARPA, 2008 // darpa.mil/attachments/(2O10)%20Global%20Nav%20-%20About%20Us%20-%20History%20-%20Resources%20-%2050th%20-%20GPS%20(Approved). pdf.
43
Postel J.B. Simple Mail Transfer Protocol // Request for Comments: 788, Nov. 1981 // ietf.org/rfc/rfc788.txt.pdf.
44
Hafner K., Lyon M. Where Wizards Stay Up Late. New York: Simon & Schuster, 1999.
45
Mosaic Launches an Internet Revolution / National Science Foundation, April 8, 2004 // new.nsf.gov/news/mosaic-launches-internet-revolution.
46
Domain Names and the Network Information Center / SRI International, Sept. 1, 2023 // sri.com/hoi/domain-names-the-network-information-center/.
47
Brief History of the Domain Name System / Berkman Klein Center for Internet & Society at Harvard University, 2000 // cyber.harvard.edu/icann/pressingissues2000/briefingbook/dnshistory.html.
48
Metz C. Why Does the Net Still Work on Christmas? Paul Mockapetris // Wired, July 23, 2012 // wired.com/2012/07/paul-mockapetris-dns/.
49
Metz C. Remembering Jon Postel – and the Day He Hijacked the Internet // Wired, Oct. 15, 2012 // wired.com/2012/10/joe-postel/.
50
Jonathan B. Postel: 1943–1998 // USC News, Feb. 1, 1999, www.news.usc.edu/9329/Jonathan-B-Postel-1943-1998/.
51
Farrell M. Quietly, Symbolically, US Control of the Internet Was Just Ended // Guardian, March 14, 2016 // theguardian.com/technology/2016/mar/14/icann-internet-control-domain-names-iana.