Какво е peer-to-peer (P2P)?
В компютърните науки мрежата peer-to-peer (P2P) се състои от група устройства, които колективно съхраняват и споделят файлове. Всеки участник (възел) действа като отделен партньор. Обикновено всички възли имат еднаква мощност и изпълняват едни и същи задачи.
Във финансовите технологии терминът peer-to-peer обикновено се отнася до обмен на криптовалути или цифрови активи чрез разпределена мрежа. P2P платформата позволява на купувачите и продавачите да извършват сделки без нужда от посредници. В някои случаи уебсайтовете могат също да предоставят P2P среда, която свързва заемодатели и заемополучатели.
P2P архитектурата може да бъде подходяща за различни случаи на употреба, но тя стана особено популярна през 90-те години, когато бяха създадени първите програми за споделяне на файлове. Днес P2P мрежите са в основата на повечето криптовалути, съставлявайки голяма част от блокчейн индустрията. Те обаче се използват и в други разпределени компютърни приложения, включително уеб търсачки, платформи за стрийминг, онлайн пазари и уеб протокола InterPlanetary File System (IPFS).
Как работи P2P?
По същество P2P системата се поддържа от разпределена мрежа от потребители. Обикновено те нямат централен администратор или сървър, тъй като всеки възел съдържа копие на файловете - действайки едновременно като клиент и като сървър за други възли. Така всеки възел може да изтегля файлове от други възли или да качва файлове в тях. Това е, което отличава P2P мрежите от по-традиционните системи клиент-сървър, при които клиентските устройства изтеглят файлове от централизиран сървър.
В P2P мрежите свързаните устройства споделят файлове, които се съхраняват на техните твърди дискове. Използвайки софтуерни приложения, предназначени да посредничат при споделянето на данни, потребителите могат да правят запитвания към други устройства в мрежата, за да намерят и изтеглят файлове. След като потребителят изтегли даден файл, той може да действа като източник на този файл.
Казано по друг начин, когато даден възел действа като клиент, той изтегля файлове от други мрежови възли. Но когато работи като сървър, той е източникът, от който други възли могат да изтеглят файлове. На практика обаче и двете функции могат да се изпълняват едновременно (напр. изтегляне на файл A и качване на файл B).
Тъй като всеки възел съхранява, предава и получава файлове, P2P мрежите са склонни да бъдат по-бързи и по-ефективни, тъй като тяхната потребителска база нараства. Освен това тяхната разпределена архитектура прави P2P системите много устойчиви на кибератаки. За разлика от традиционните модели, P2P мрежите нямат нито една точка на неизправност.
Можем да категоризираме системите peer-to-peer според тяхната архитектура. Трите основни типа се наричат неструктурирани, структурирани и хибридни P2P мрежи.
Неструктурирани P2P мрежи
Неструктурираните P2P мрежи не представят конкретна организация на възлите. Участниците комуникират на случаен принцип помежду си. Тези системи се считат за устойчиви срещу висока активност на отлив (т.е. няколко възела често се присъединяват и напускат мрежата).
Макар и по-лесни за изграждане, неструктурираните P2P мрежи може да изискват по-високо използване на процесора и паметта, тъй като заявките за търсене се изпращат до възможно най-голям брой партньори. Това има тенденция да наводнява мрежата със заявки, особено ако малък брой възли предлагат желаното съдържание.
Структурирани P2P мрежи
Обратно, структурираните P2P мрежи представят организирана архитектура, позволяваща на възлите да търсят ефективно файлове, дори ако съдържанието не е широко достъпно. В повечето случаи това се постига чрез използване на хеш функции, които улесняват търсенето в база данни.
Докато структурираните мрежи могат да бъдат по-ефективни, те са склонни да представят по-високи нива на централизация и обикновено изискват по-високи разходи за настройка и поддръжка. Освен това, структурираните мрежи са по-малко стабилни, когато са изправени пред високи нива на отлив.
Хибридни P2P мрежи
Хибридните P2P мрежи комбинират конвенционалния модел клиент-сървър с някои аспекти на архитектурата peer-to-peer. Например, техният дизайн може да съдържа централен сървър, който улеснява връзката между партньори.
В сравнение с другите два типа, хибридните модели показват подобрена обща производителност. Те обикновено комбинират някои от основните предимства на всеки подход, постигайки значителни степени на ефективност и децентрализация едновременно.
Разпределени срещу децентрализирани
Въпреки че P2P архитектурата е присъщо разпределена, важно е да се отбележи, че има различни степени на децентрализация. Така че не всички P2P мрежи са децентрализирани.
Всъщност много системи разчитат на централен орган, който да ръководи мрежовата дейност, което ги прави донякъде централизирани. Например, някои P2P системи за споделяне на файлове позволяват на потребителите да търсят и изтеглят файлове от други потребители, но не могат да участват в други процеси, като управление на заявки за търсене.
Освен това може да се каже, че малките мрежи, контролирани от ограничена потребителска база със споделени цели, имат по-висока степен на централизация, въпреки липсата на централизирана мрежова инфраструктура.
Ролята на P2P в блокчейните
В ранните етапи на биткойн, Сатоши Накамото го дефинира като „Per-to-Peer електронна парична система“. Биткойн беше създаден като цифрова форма на пари. Може да се прехвърля от един потребител на друг чрез P2P мрежа, която управлява разпределен регистър, наречен блокчейн.
В този контекст P2P архитектурата, която е присъща на блокчейн технологията, е това, което позволява биткойн и други криптовалути да бъдат прехвърляни по целия свят, без необходимост от посредници или централен сървър. Освен това всеки може да създаде биткойн възел, ако желае да участва в процеса на проверка и валидиране на блокове.
Така че няма банки, обработващи или записващи трансакции в биткойн мрежата. Вместо това блокчейнът действа като цифров регистър, който публично записва цялата дейност. По принцип всеки възел съдържа копие на блокчейна и го сравнява с други възли, за да гарантира, че данните са точни. Мрежата бързо отхвърля всяка злонамерена дейност или неточност.
В контекста на криптовалутните блокчейни възлите могат да поемат различни роли. Пълните възли, например, са тези, които осигуряват сигурност на мрежата, като проверяват трансакциите спрямо консенсусните правила на системата.
Всеки пълен възел поддържа пълно, актуализирано копие на блокчейна, което им позволява да участват в колективната работа по проверка на истинското състояние на разпределения регистър. Струва си да се отбележи обаче, че не всички пълни валидиращи възли са копачи.
Предимства
Архитектурата peer-to-peer на блокчейните предоставя много предимства. Сред най-важните е фактът, че P2P мрежите предлагат по-голяма сигурност от традиционните схеми клиент-сървър. Разпределението на блокчейни върху голям брой възли ги прави практически имунизирани срещу атаките за отказ на услуга (DoS), които засягат много системи.
По същия начин, тъй като по-голямата част от възлите трябва да установят консенсус, преди данните да бъдат добавени към блокчейна, за нападателя е почти невъзможно да промени данните. Това е особено вярно за големи мрежи като тази на биткойн. По-малките блокчейни са по-податливи на атаки, тъй като един човек или група в крайна сметка може да постигне контрол над по-голямата част от възлите (това е известно като 51-процентна атака).
В резултат на това разпределената peer-to-peer мрежа, съчетана с изискване за консенсус на мнозинството, дава на блокчейните относително висока степен на устойчивост на злонамерена дейност. P2P моделът е една от причините, поради които биткойн (и други блокчейни) успяха да постигнат така наречената толерантност към византийска грешка.
Освен сигурността, използването на P2P архитектура в криптовалутните блокчейни също ги прави устойчиви на цензура от централните власти. За разлика от стандартните банкови сметки, портфейлите с криптовалута не могат да бъдат замразени или източени от правителствата. Тази съпротива се простира и върху усилията за цензура от частни платформи за обработка на плащания и съдържание. Някои създатели на съдържание и онлайн търговци приеха плащания в криптовалута като начин да избегнат блокиране на плащанията им от трети страни.
Ограничения
Въпреки многото им предимства, използването на P2P мрежи в блокчейни също има определени ограничения.
Тъй като разпределените регистри трябва да се актуализират на всеки отделен възел, вместо на централен сървър, добавянето на трансакции към блокчейн изисква огромно количество изчислителна мощност. Въпреки че това осигурява повишена сигурност, то значително намалява ефективността и е една от основните пречки, когато става въпрос за мащабируемост и широко разпространение. Въпреки това криптографите и разработчиците на блокчейн проучват алтернативи, които могат да се използват като решения за мащабиране. Видни примери включват Lightning Network, Ethereum Plasma и протокола Mimblewimble.
Друго потенциално ограничение е свързано с атаки, които могат да възникнат по време на събития на твърдо разклонение. Тъй като повечето блокчейни са децентрализирани и с отворен код, групи от възли са свободни да копират и модифицират кода и да се отделят от основния блокчейн, за да формират нова, паралелна мрежа. Твърдите разклонения са напълно нормални и не представляват заплаха сами по себе си. Но ако определени методи за сигурност не се възприемат правилно, и двата чейна могат да станат уязвими за повторни атаки.
Освен това разпределеният характер на P2P мрежите ги прави сравнително трудни за контрол и регулиране, не само в блокчейн нишата. Няколко P2P приложения и компании се включиха в незаконни дейности и нарушения на авторски права.
Заключителни мисли
Архитектурата peer-to-peer може да бъде разработена и използвана по много различни начини и тя е в основата на блокчейните, които правят възможни криптовалутите. Чрез разпространение на регистри за трансакции в големи мрежи от възли, P2P архитектурата предлага сигурност, децентрализация и устойчивост на цензура.
В допълнение към тяхната полезност в блокчейн технологията, P2P системите могат да обслужват и други разпределени изчислителни приложения, вариращи от мрежи за споделяне на файлове до платформи за търговия с енергия.