Біткойн і IPv6 – CoinGeek

У нещодавно випущеній частині 1 Майстер-класи Bitcoin Крейга Райта, він обговорює можливості Bitcoin IPv6 і потенційні революційні програми, які можна створити на його основі. Хоча це відео варто переглянути, оскільки в ньому багато розуміння, є кілька важливих моментів, про які, на мою думку, варто написати.

У вас немає інтернет-адреси, лише чиясь інша інтранет-адреса

Якщо ви не є компанією чи провайдером Інтернету, у вас насправді немає адреси в Інтернеті. Принаймні, не публічна. Навіть компанії, які володіють загальнодоступними адресами, зберігають їх для загальнодоступної сторони своїх веб-серверів, тоді як комп’ютери всередині компанії задовольняються приватними адресами внутрішньої мережі. Що ж, більшість людей не дуже про це замислюються, але ймовірно, що у вас також немає загальнодоступної адреси, замість цього ви запозичили внутрішню адресу у свого провайдера. Це відбувається тому адреси IPv4 закінчився в 2012 році, і в результаті всі використовують NAT або трансляція мережевих адрес більш-менш обходитися чужим публічним IP.

Але це мало великий вплив на розвиток Інтернету. Пройшли ті часи, коли кожен міг запустити власну службу NNTP, gopher або IRC. Без публічної адреси ви не можете запустити жодну постійну службу, за допомогою якої люди можуть ініціювати зв’язок, і обмежені лише вихідними з’єднаннями.

Ми вже знаємо, що з IPv6 адресний простір більше не є обмежуючим фактором. Насправді існує достатньо адрес, щоб кожній піщинці на землі надати власну IP-адресу. Але більш важливою особливістю IPv6 є використання багатоадресний і будь-який адреси. Багатоадресна адреса — це адреса групи, яка, по суті, є адресою, яка може направляти пакети на декілька хостів, тоді як адреса будь-якої адреси — це адреса, яку спільно використовують кілька різних хостів. Їх можна розглядати як протилежність, оскільки вони є багатоадресними розгортання віялом або допомагати повідомленням дійти до багатьох одержувачіві anycast будучи вентиляторщо дозволяє багатьом відправникам звертатися до однієї групи одержувачів.

Що такого важливого в цих типах адрес щодо Bitcoin? Ну, по-перше, робота мережі в біткойнах була майже побудована спеціально з IPv6 на увазі, оскільки розповсюдження блоків через мережу є підручником використання багатоадресної передачі, оскільки як тільки блок знайдено, він знаходиться у вузлах пошуку. ‘ найкраще опублікувати блок для якомога більшої кількості інших виробників блоків. Кожна витрачена секунда перетворюється на потенційну втрачену вигоду. Завдяки загальнодоступним багатоадресним адресам виробники блоків можуть підписуватися на одну групу, а щойно знайдені блоки можуть бути негайно розповсюджені на всі основні вузли мережі. Великі невиробничі вузли (наприклад, керовані обміни або підприємства) потім можуть отримати блоки після того, як група багатоадресної розсилки основного вузла перешле їх до груп «рівня 2», які потім, у свою чергу, можуть переслати їх до наступних груп нижче. Загальні категорії груп багатоадресної трансляції в біткойнах можна класифікувати за величиною затримки, до якої користувач чутливий:

§ Рівень 1 – Виробники блоків ~1-4s
§ Рівень 2 – Біржі, підприємства ~10-60 років
§ Рівень 3 – Гаманці, кінцеві користувачі ~10 хв

Залежно від часу чутливості хоста до сповіщень про блокування, вони потраплять до однієї з наведених вище категорій. Цього можна легко досягти за допомогою можливості групової адреси розшарувати в ієрархію.

А як щодо anycast? Добре, будь-які адреси дозволяють групі інтерфейсів на різних хостах мати однакову адресу. Трафік, спрямований на нього, автоматично досягне найближчого хоста з адресою anycast, як це визначається протоколами маршрутизації, що використовуються. Подібно до багатоадресної передачі, це обробляється маршрутизаторами, які підтримують IPv6, і відбувається на мережевому рівні. Адреси Anycast ідеально підходять для публікації транзакцій Bitcoin. Коли будь-яке програмне забезпечення гаманця бажає опублікувати транзакцію на вузлах, воно може використовувати добре відомі адреси будь-якої передачі виробника блоку, які автоматично переходять до хосту, найближчого до відправника в мережі.

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

Відправник->L1_Node->L1_Node->L2_Node->Одержувач

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

Для додатків, які не включають блокчейн, кожен може безпосередньо спілкуватися один з одним за допомогою справжнього IP2IP.

Це велике відхилення від того, що думає більшість людей, коли вони думають про мережу Bitcoin. Більшість із них мають ментальну модель із мережею, що нагадує розріджену структуру або сітку вузлів, де транзакції ретранслюються від вузла ретрансляції до вузла, перш ніж, зрештою, знайдуть свій шлях до вузла, що створює блоки. Подібним чином, така сама кількість стрибків знадобиться, щоб блок поширювався назад.

Але в майбутньому, з IPv6, кожен хост у мережі біткойн знаходиться лише на чотирьох переходах від будь-якого іншого хоста, і, що важливо, програмному забезпеченню біткойн навіть не потрібно буде ретранслювати, оскільки всі ці стрибки знаходяться на мережевому рівні IPv6, з маршрутизаторами, які виконують ретрансляцію. Коли програма хоче згенерувати транзакцію, вона надсилає її на будь-яку адресу, яку використовують багато виробників блоків (1-й стрибок). Потім ця транзакція конкурентно видобувається в наступний блок, який негайно надсилається в 1 IP-пакеті до групи L1 багатоадресної передачі інших виробників блоків (2-й стрибок). Потім пакет пересилається до групи багатоадресної передачі вузлів L2 (3-й стрибок). Нарешті, пакет отримує клієнт від групи багатоадресної передачі вузлів L2, на яку одержувач підписується (4-й стрибок). Для одержувача, який підписався на групу багатоадресної розсилки, виглядає так, ніби блок було надіслано йому безпосередньо від виробника блоку, він пройшов лише через IP-маршрутизатори, і йому не потрібно було відбиватися від інших вузлів Bitcoin1.

Багатоадресні групи також забезпечують високий рівень конфіденційності. Групові адреси можна вибирати випадковим чином із поля 21122 адреси. Це багато. Цього достатньо, щоб їх не можна було змусити грубим способом просто тому, що пошук в адресному просторі займе надто багато часу. Але оскільки до багатоадресних груп може приєднатися кожен, вони відкриті, а передплатники зберігають свою конфіденційність. Прихильникам конфіденційності буде приємно дізнатися, що оскільки групами багатоадресної розсилки керують маршрутизатори (мережевий рівень), якщо зловмисник не бажає зламати та заволодіти більшістю магістральних маршрутизаторів BGP у всьому Інтернеті, буде неможливо цензурувати ваш доступ до мережі Bitcoin.

Далі Райт розповідає про можливі блокчейн-додатки, які можна створювати з використанням такої мережевої топології: розподілене сховище файлів, автомобілі, які можна розблокувати та керувати лише в певній географічній зоні, реєстри, пов’язані з мобільним телефоном, здатні доказово показати, що ви були ні у певній місцевості, не повідомляючи, де ви насправді були3, серед багатьох інших. Одне можна сказати напевно: з потужністю Bitcoin SV і IPv6 майбутнє дійсно виглядає як Дивний новий світ. Давайте переконаємося, що ми зробимо його хорошим.

Джеррі Чан
WallStreetTechnologist

[1] Зараз за допомогою IPv4 блоки та транзакції надсилаються, як правило, восьми іншим вузлам у мережі Bitcoin, які потім передають дані ще восьми… тощо. Це більше ретрансляційна мережа «пліток».
[2] Більш-менш — є деякі поля, зарезервовані для добре відомих адрес.
[3] Це було б важливим для правоохоронних органів, водночас зберігаючи конфіденційність.

Дивіться: Майстер-клас біткойн 2 із Крейгом Райтом про групову передачу та IP2IP

width=”562″ height=”315″ frameborder=”0″ allowfullscreen=”allowfullscreen”>

Не знайомі з біткойнами? Перегляньте CoinGeek Bitcoin для початківців найкращий путівник із ресурсами, щоб дізнатися більше про біткойн (як його спочатку задумував Сатоші Накамото) та блокчейн.

Source link

Поділіться своєю любов'ю