Читай, пиши, управляй: блокчейн как новая эра интернета
Шрифт:
Воспринимайте их как аналоги естественных языков, скажем, английского или суахили. Они позволяют компьютерам взаимодействовать друг c другом. Если вы станете говорить как-то иначе, есть шанс, что другие люди вас не поймут. Выражаясь техническим языком, вы прекратите взаимодействие с ними. А еще, имея достаточное влияние, вы можете изменить то, как говорят другие, ведь диалекты способны превращаться в новые языки, но только если к вашему сообществу присоединятся новые участники. Словом, для нормального функционирования и протоколов, и языков требуется консенсус.
Протоколы лежат слоями друг на друге и в итоге – на вычислительных устройствах, образуя так называемый стек [40] . Компьютерщику полезно знать все слои стека, как и нюансы между ними. Известная модель OSI (Open Systems Interconnection – модель взаимодействия открытых систем) идентифицирует семь слоев. Для нашего обсуждения достаточно представить
40
Frystyk H. The Internet Protocol Stack // World Wide Web Consortium, July 1994 // w3.org/People/Frystyk/thesis/TcpIp.html.
Сразу поверх физического уровня идет сетевой, известный как интернет-протокол, или IP (internet protocol) [41] . Он определяет форматирование, адресацию и маршрутизацию пакетов информации между узлами первого уровня. Данный стандарт был разработан в 1970-х Винтоном Серфом и Робертом Каном, исследователями той же лаборатории, в которой создали ARPANET. (Позже ее переименовали в DARPA; она также участвовала в изобретении таких футуристических технологий, как транспорт-невидимка и GPS.) [42] . Сеть официально завершила внедрение интернет-протокола 1 января 1983 года; большинство людей считают эту дату днем рождения интернета.
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.
Далее, над интернет-уровнем, находится уровень приложений, названный так потому, что именно здесь к сети подключаются пользовательские приложения. В основном он определяется двумя протоколами, первый из них – электронная почта. Протокол, управляющий ею, называется Simple Mail Transfer Protocol, или SMTP [43] . Джон Постел, исследователь из Университета Южной Калифорнии, создал его для стандартизации электронной почты в 1981 году, мощно поспособствовав ее широкому распространению. Как рассказывают Кэти Хафнер и Мэтью Лайон в своей истории интернета, книге «Там, где волшебники не спят допоздна» (Where Wizards Stay Up Late): «Точно так же, как пластинку первоначально изобрели для меломанов и аудиофилов, но потом она породила целую индустрию, электронная почта до поры до времени росла и крепла в ARPANET в среде элитного сообщества ученых-компьютерщиков, а потом расцвела, заполонив собой, словно планктон, весь интернет» [44] .
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.
Второй протокол, на почве которого тоже расцвели многие приложения, – Веб, или протокол передачи гипертекста, он же HTTP (hypertext transfer protocol). Британский ученый Тим Бернерс-Ли изобрел его – а также язык разметки гипертекста, или HTML (hypertext markup language), – для форматирования и рендеринга сайтов в 1989 году, когда работал в швейцарской физической лаборатории CERN. (Обратите внимание: люди часто используют понятия «интернет» и «Веб» как взаимозаменяемые, но это разные сети: первая соединяет устройства, а вторая связывает страницы.)
Благодаря простоте, универсальности и открытости электронная почта и Веб были приняты на ура. После создания этих протоколов программисты кодифицировали их в почтовые клиенты и браузеры, многие с открытым исходным кодом. В результате любой желающий мог загрузить такой клиент (сегодня большинство людей назвали бы это приложением) и присоединиться к сети. Клиенты базируются на протоколах и позволяют
пользователям получать доступ к лежащим в их основе сетям и участвовать в их работе. Они похожи на порталы, или шлюзы, открывающие путь к сетям с протоколами.Люди взаимодействуют с протоколами через клиенты. Например, Веб начал становиться массовым только после того, как в 1993 году дебютировал один из таких клиентов – удобный для пользователей браузер Mosaic [45] . Сегодня самыми популярными считаются проприетарные браузеры, такие как Google Chrome, Apple Safari и Microsoft Edge, а самыми популярными почтовыми клиентами – Gmail (проприетарный, размещенный на серверах Google) и Microsoft Outlook (загружаемый на локальные компьютеры). Широкий спектр ПО, как проприетарного, так и с открытым исходным кодом, также остается доступным для работы веб-серверов и серверов электронной почты.
45
Mosaic Launches an Internet Revolution / National Science Foundation, April 8, 2004 // new.nsf.gov/news/mosaic-launches-internet-revolution.
Коммуникационная система, легшая в основу интернета, проектировалась как децентрализованная и благодаря этому достаточно устойчивая и надежная, чтобы пережить ядерный удар. Она трактовала все узлы как равноправные и в результате могла бы продолжать функционировать даже после уничтожения некоторых ее частей. Электронная почта и Веб унаследовали эту философию. Все узлы в них «одноранговые»; ни один не имеет никаких преимуществ перед остальными.
Однако один компонент интернета спроектировали иначе. Он контролировал специальную функцию: присвоение имен.
Это обязательное требование для любой сети. Имена – базовые виды аватаров, важнейших компонентов для построения сообществ. В Twitter меня, например, зовут @cdixon, а мой сайт называется cdixon.org. Эти удобные и понятные имена облегчают другим людям задачу найти меня и связаться со мной. Если кто-то хочет на меня подписаться, добавить меня в друзья или прислать мне что-нибудь, он легко делает это по ссылке на одно из моих имен.
У машин тоже есть имена. В интернете компьютеры знают друг друга под так называемыми адресами интернет-протокола – наборами чисел, которые трудно запомнить человеку, но не машине. Представьте, что вам нужно набирать многозначное число для каждой веб-страницы, которую вы хотите посетить. Пролистываете «Википедию»? Вводите 198.35.26.96. Ищете видео на YouTube? Набирайте 208.65.153.238. Человеческой памяти не обойтись без каталогов, подобных спискам контактов в телефонах.
Одна организация на протяжении 1970–1980-х вела официальный интернет-каталог [46] . Сетевой информационный центр Стэнфордского исследовательского института собрал все адреса в один файл HOSTS.TXT, который постоянно обновлялся и распространялся по всей Сети. Каждый раз, когда менялся какой-то адрес или к Сети присоединялся очередной узел (что случалось часто), всем приходилось обновлять файл хостов. Сеть быстро росла, и со временем эта задача стала крайне сложной. Людям нужна была менее громоздкая система, способная служить единым источником истины.
46
Domain Names and the Network Information Center / SRI International, Sept. 1, 2023 // sri.com/hoi/domain-names-the-network-information-center/.
Ею стала система доменных имен, или DNS (domain name system) [47] . Пол Мокапетрис, американский ученый-компьютерщик, предложил это решение в 1983 году [48] . Технически оно было сложным, но легшая в его основу идея отличалась удивительной простотой: преобразовать доменные имена, удобные для человеческого восприятия, в IP-адреса физического компьютера. Система эта была иерархической, но при этом распределенной. На верхнем уровне определенная совокупность международных институтов: правительственных организаций, университетов, компаний, некоммерческих организаций и т. д., – управляла набором из тринадцати корневых серверов, и по сей день являющихся высшими арбитрами системы.
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/.