Подкаст HashKey Capital Hash Out 42 досліджує темну сторону Місяця, де екосистема біткойнів вибухає.
Гість: Джеффрі Ху, технічний директор HashKey Capital;
Аджіан, старший дослідник біткойнів і учасник дослідження BTC
Організація: HashKey Capital

*Досліджуйте темну сторону місяця, де екосистема біткойнів вибухає, і ласкаво просимо до третього епізоду HashKey Capital Hash Out 42! *
*У цьому епізоді технічний директор HashKey Capital Джеффрі Ху працюватиме з паном А Цзяном, старшим дослідником біткойнів і учасником дослідження BTC, щоб розкрити правду про поширені міфи про біткойн. Вони висвітлять деякі з найбільших хибних уявлень про розробників біткойн, дослідять найактуальніші суперечки сучасності та проллють світло на децентралізовану природу мережі біткойн. Будь ласка, приєднуйтеся до нас через ексклюзивну перспективу Hash Out 42, щоб відновити невимовні історії екосистеми біткойн і уявити величезний простір для екологічного управління та майбутнього розвитку біткойнів. *
Ви слухаєте Hash Out 42, подкаст, створений HashKey Capital. У «Путівнику автостопом по галактиці» після 7,5 мільйонів років обчислень і перевірки суперкомп’ютером «Глибока думка» остаточна відповідь про життя, Всесвіт і все це 42. У цій програмі ми сподіваємося поділитися останніми припущеннями щодо індустрії шифрування та блокчейну з підприємцями, інвесторами, розробниками, учасниками спільноти та регуляторними органами зі всесвіту Web3.
Ajian: «Ці розробники, насправді, не мають такої великої влади, щоб впливати на те, що ви можете, а що не можете робити в блокчейні біткойн».
Джеффрі Ху: «Люк, він хоче не внести деякі зміни на рівні консенсусних правил, а більше на рівні локальних клієнтів або повних вузлів».
Ajian: «Сенс цього консерватизму полягає в тому, що він завжди ставить безпеку на найважливіший рівень, тому він не намагатиметься нічого випадково. Але ви можете думати, що він не консервативний, тому що він виявив, чи є хороше рішення, усі дійсно активно його сприймуть».
Джеффрі Ху: Привіт усім і ласкаво просимо до третього епізоду Hash out 42, подкасту, створеного HashKey Capital. Я Ху Чжівей, технічний директор HashKey Capital. Сьогодні для мене велика честь запросити дослідника біткойнів і учасника дослідження BTC пана Аджіана, щоб обговорити з нами деякі міфи про екосистему біткойнів. Тоді вчителю Аджіан, чому б вам не привітатися з нашими друзями з аудиторії?
А Цзянь: Привіт, слухачі, мене звати А Цзянь, я дослідник біткойнів. Для мене велика честь отримати запрошення від Hash out 42 записати цей подкаст із Джеффрі.
Джеффрі Ху: Гаразд, добре, назва нашого подкасту насправді називається «Розшифровка міфу про воротаря». Ми хочемо обговорити біткойн, у тому числі деякі поширені непорозуміння щодо екології біткойна. Так, я хотів би запросити вчителя А Цзяня поговорити про деякі нещодавні міфи, тому що, як і назва, я припускаю, що нещодавно ми спостерігали непорозуміння, і це також те, що ми робимо. Деякі речі обговорювався раніше в цьому епізоді подкасту. Тобто певні розробники є привратниками, і вони, в основному, мають останнє слово щодо того, що можна, а що не можна робити. На даний момент це перший міф, який може більше хвилювати кожного. Чи є щось, що вчитель А Цзянь може захотіти прокоментувати?
Ajian: Це міф або уява, яка давно існує в китайському світі. Ну, можна сказати, що вона глибоко вкорінена або навіть найбільш фундаментальна. Розробникам біткойнів, особливо так званим розробникам клієнтів Bitcoin Core, здається, що вони є воротарями та мають останнє слово щодо того, що вони можуть, а що не можуть робити. Насправді ця ідея майже не відповідає дійсності, тому що багато речей є, чи то одним, чи кількома, чи багатьма розробниками Bitcoin Core, чи іншими клієнтами. Те, що не подобається розробникам, насправді все ще відбувається. на блокчейні біткойн до цього дня, і до цього дня, коли ми записуємо подкаст. Наприклад, ви, можливо, нещодавно чули про розробника на ім’я Люк. Люк має особливо чітку позицію, тобто він виступає проти випадкового вкидання даних у блокчейн біткойн. Звичайно, він сам не чітко висловив, як це конкретно визначити, що таке дані, пов’язані з біткойнами, що є даними, не пов’язаними з біткойнами, і які дані не слід записувати. Але потім я ретельно подумав про це, насправді, його основне значення, моє власне резюме, ні, я не можу це представити, але моє власне резюме, я вважаю, що це прийнятна думка, блокчейн біткойна. Тільки дані, пов’язані з криптографічною безпекою біткойна бути написаним.
Ajian: Які дані стосуються криптографічної безпеки Bitcoin? Наприклад, кожен із наших біткойнів є виходом. У його сценарії потрібно буде вказати відкритий ключ, щоб підтвердити, що гроші може витрачати лише власник відкритого ключа (який закритий). ), і коли він фактично витрачено, підпис, обчислений закритим ключем позаду відкритого ключа, потрібно буде записати в ланцюг, і цей підпис підтвердить, що витрати є дійсними.
Ці речі можна підсумувати як дані, пов’язані з криптографічною безпекою біткойнів, але є й інші відповідні дані, такі як будь-які з цих даних, які схожі на додаткову інформацію або те, що сталося сьогодні.Деякі люди, якщо ви хочете написати день народження привітання або щось подібне на ньому, це інформація, яка не має нічого спільного з криптографічною безпекою біткойнів, тому її не слід писати на ньому. Це мій особистий підсумок, але ідея Люка може бути «Краще бути ближче» на цю ідею, або трохи суворіше. Я хочу зауважити, що, можливо, Люку це не подобається, і він може бути не єдиним, кому це не подобається, але багато людей побачать, що ці речі все ще існує сьогодні, і те, що ви робите, це говорити, що ці блоки, які записують цю додаткову інформацію, яка не має нічого спільного з криптографічною безпекою біткойна, все ще є дійсними блоками. Включно з багатьма розробниками, які вважають, що насправді немає способу запобігти цим речам, тобто ви насправді є технологією, і немає ефективних технічних засобів, які можуть успішно відокремити те, що є значущим і значущим для безпеки Bitcoin. Ці дані безглузда. Тому вона принципово приречена на такі речі. Тобто, щонайбільше, ви можете грати лише в гру «вдари крота» або гру в кішки-мишки, і миша з’являється. , ви ловите миші, але однозначного рішення немає.
Коротше кажучи, я хочу висловити те, що, по-перше, як би ви це не розуміли, є деякі чітко виражені особисті позиції деяких розробників біткойн.Ці розробники насправді не мають такої великої влади, щоб впливати на те, що ви можете, а що не можете робити в блокчейні біткойн. Зокрема, є дуже важлива річ, тобто якщо кожен може зрозуміти це питання, він повинен мати можливість зрозуміти, що насправді, незалежно від того, чи є вони розробниками чи майнерами, їхні права фактично знаходяться в певній структурі перевірки та балансу, що Який тип консенсусних правил вибирається в мережі Bitcoin, тобто тип консенсусних правил, які можуть стати дійсним блоком, вибирає кожен вузол. Як вузол ви можете вибрати свій власний. Це консенсусне правило, яке ви вважаю дійсним. Звичайно, ви не можете вибрати правило консенсусу, яке несумісне з іншими, але якщо воно сумісне з цим правилом, ви можете вибрати набір самостійно.
Наприклад, зараз усі чують про оновлення Taproot, реалізоване в 2021 році, але насправді, якщо ви запустите оновлення Taproot до цієї версії Bitcoin Core або інших клієнтів, ваш вузол не вийде з мережі. Ваш вузол продовжує виконувати свою перевірку. функціонувати як повноцінний вузол у мережі, але він не може перевірити транзакцію, пов’язану з так званим виходом Taproot.Просуваючись трохи вперед, у 2017 році мережа Bitcoin була активована після форка Segregated Witness, якщо ви використовуєте цю версію Bitcoin Core або інших клієнтів Bitcoin, випущених до Segregated Witness, ви все ще можете працювати в мережі Bitcoin сьогодні, а це означає, що ви можете перевірити, поки ви не виконуєте транзакції, пов’язані з новими правилами консенсусу Bitcoin після 2017 року. транзакції з використанням правил консенсусу до 2017 року.
Що це значить? Тут пояснюється, які правила використовуються в так званій мережі біткойн, щоб обмежити те, що ми можемо робити в блокчейні біткойн? Ці речі фактично вирішує повновузлова мережа біткойн у децентралізований спосіб, а не певна особа чи певна група людей. Незалежно від того, чи є ця група людей, наприклад, певною групою майнерів чи певною групою людей. Розробники, таке мислення насправді далеке від істини. Яка правда найближче до істини? Це мережа біткойн, мережа, що складається з усіх вузлів. Зараз вся мережа публічна, з 15 000 вузлів, 16 000 і навіть більше вузлів, які не є публічними, і ними керують ці вузли. Автор використовує абсолютно рівний спосіб щоб вирішити, яку частину блоку він перевірить, а які блоки вважає прийнятними.
Тому немає такої ролі, щоб певна особа, певний розробник або певна група розробників могли стати воротарем усієї мережі.Якби така роль існувала, біткойн зазнав би краху, тому що біткойн хотів Що він хоче робити це валюта, стійка до цензури, або те, чого вона хоче, це система без єдиної точки відмови. Якщо є така людина і вона має таку велику владу, вона стане єдиною точкою відмови. Помилка.
Джеффрі Ху: Продовження теми, насправді часто може виникати непорозуміння, тобто в певній мережі це вирішує певна група людей, тому може бути, що розробка була лише згадана тепер вони також можуть бути деякими майнерами тощо. Вони можуть вирішувати напрямок або долю всієї мережі. Тож насправді це звичайне непорозуміння, яке, на мою думку, може бути у кожного. Насправді, можливо, біткойн більше схожий на те, що щойно сказав вчитель Аджіан, це відносно децентралізована мережа, відносно децентралізована мережа, тому операції кожного. Повний вузол усе ще має певне значення власний у цій сфері. Крім того, нещодавно я бачив кілька новин. Слідуючи щойно згаданій темі розробників, у новинах часто згадується слово під назвою «розробники ядра». Дозвольте мені спершу розповісти про свої почуття. Щоразу, коли я бачу ці слова, мій кров’яний тиск трохи підвищується, тому що я відчуваю, що всі можуть не зрозуміти деякі речі, що стоять за розробником, які щойно сказав пан Аджян. Концепція, тому що це може бути помилка в перекладі, тобто люди можуть не звертати уваги на великі літери, і можуть інтерпретувати Bitcoin Core Dev, який є Core Dev з великої літери C, як core Dev з нижнього регістру, який є Bitcoin. Фактично, якщо ми хочемо зробити сегментацію слів, ми повинні фактично розділити перші два слова Bitcoin Core на одне слово.Як одне з Bitcoin, розробка реалізації повного вузла, про яку ми щойно згадували Розробники, а не основні розробники Bitcoin, не є основними розробниками Bitcoin. Це не означає, що вся мережа Bitcoin визначається цими основними розробниками. Тоді ви можете побачити деякі інші мережі, такі як Наприклад, основні розробники Ethereum можуть часто проводити зустрічі, такі як Дзвінки або зустрічі ACD, і вони вирішать, наприклад, що в січні наступного року можуть бути якісь оновлення хардфорка або щось подібне. Однак у біткойна, здається, немає такої централізованої основної групи розробників, щоб обговорювати оновлення мережевих хардфорків.
Звичайно, насправді, наприклад, у Bitcoin Core може бути щось власне. Наприклад, якщо піднято PR (Pull Request), можуть відбутися деякі зустрічі PR Review Club, щоб обговорити деякі з цього оновлення, або пропозиція, викликана PR, є розумною, чи вона має інші наслідки? Однак жоден такий основний розробник не вирішить напрямок усієї мережі. Це може бути загальною проблемою для всіх, і це також може траплятися часто. Я думаю, що це непорозуміння з якими ви зіткнетеся. Звичайно, я хотів би згадати ще одну річ щодо цього, яка полягає в тому, щоб показати, що використання великих літер також дуже важливе. Як людина з невеликим обсесивно-компульсивним розладом, я побачу такий c від Core. Якщо верхній регістр вважається малим регістром, виникнуть проблеми. Те саме стосується і HashKey. K у нашому HashKey часто пишеться з нижнього регістру. Насправді, h і k є обома великими. Я не знаю, чи вчителю Аджіану нема чого додати до цього основного аспекту розробника.
Аджян: Так, насправді моя реакція трохи схожа на реакцію Джефрі, тобто кров’яний тиск трохи підвищиться. Я навіть хочу зробити більш захоплюючу пропозицію, тобто якщо це почують наші друзі-глядачі, то якщо хтось скаже вам, що розробники ядра біткойна написали його китайськими ієрогліфами, ви маєте розумно засумніватися в розумінні світу біткойна людиною, з якою ви спілкуєтеся. Я кажу це дуже грубо, тому що на це насправді є дві причини. З одного боку, це давнє непорозуміння. Моя особиста підозра полягає в тому, що це непорозуміння повинно було сформуватися до 2017 року. Bitcoin Core, що починається з великої літери B і C. Саме воно, це Bitcoin Core, дозвольте мені спочатку поговорити про походження Bitcoin Core? Так, це відоме програмне забезпечення Bitcoin, написане самим Сатоші Накамото, наступник цього програмного забезпечення. Тобто після того, як Сатоші Накамото пішов, коли деякі розробники готувалися перенести всю кодову базу на наш поточний веб-сайт GitHub, вони вирішили використати нову назву, тобто Bitcoin Core, яка також є B. Це з великої літери. Це C також пишеться з великої літери. Як ви думаєте, це Core має велике значення? Насправді ні, я теж цього не відчуваю.
До речі, люди можуть подумати, що Bitcoin Core має лише один тип клієнта у світі Bitcoin, але це не так. Оскільки Bitcoin C ore використовується найбільше, він є клієнтом Bitcoin Core, але насправді існують клієнти, розроблені іншими мовами. Наприклад, є клієнт під назвою btcd, який є реалізацією мережі Lightning. Ця команда, LND, є клієнтом Bitcoin, розробленим Lightning Labs. Він написаний мовою Go, а деякі люди використовують мову Java. Після написання цього клієнта Bitcoin , гадаю, хтось спробує використати мову Python або rust для написання цього клієнта Bitcoin. Так, це дуже звичайні речі, і кожен повинен також враховувати ще один момент, а саме що? Я вже говорив раніше, що в мережі біткойн усім необов’язково використовувати однакову версію програмного забезпечення, а також не обов’язково використовувати однаковий набір консенсусних правил. Це означає, що якщо ви перебуваєте в мережі Bitcoin, ви можете побачити, що хоча всі використовують клієнт Bitcoin Core, деякі люди використовують версію 22.0, деякі люди використовують версію 0.21, а деякі люди використовують версію 22.0. Це версія 0.17. . По суті, хоча всі вони використовують клієнт Call, їх програмне забезпечення до певної міри відрізняється. Строго кажучи, ви не повинні розглядати його як абсолютно однакове програмне забезпечення.
Відклавши це, повернемося. Що стосується назви Bitcoin Core, можливо, коли люди в китайському світі вперше зрозуміли біткойн, вони безпосередньо переклали його на Bitcoin Core, а потім розробники Bitcoin Core, ви можете вважати це різновидом Це непорозуміння в перекладі, але те, що я Хочу сказати, що на це також може вплинути другий фактор, який полягає в тому, що це культурне непорозуміння. Що це за культурне непорозуміння? Тому що я не впевнений, чи на це вплинули деякі пізніші криптовалютні проекти, такі як Ethereum, тому що Ethereum, хоча й має деяких розробників або прихильників Ethereum, вважає, що вони використовують ту саму технологію, що й біткойн. Така сама структура управління або про те, як уся мережа має бути оновлена, як це оновлення має бути скоординовано та як визначити вміст оновлення, вони думають, що використовують схожу чи навіть однакову структуру, але я хочу сказати, що це неправда.
Розробка Ethereum насправді більш централізована, ніж розробка програмного забезпечення Bitcoin. Ключовим моментом є те, що, як сказав Джеффрі, у світі Ethereum немає клієнта під назвою Ethereum Core. У світі Ethereum немає клієнта під назвою Ethereum Core, чи не так? Фактично, зараз ви можете знайти клієнт Geth. Раніше був клієнт Parity. Зараз я не впевнений, чи підтримується клієнт Parity. Зараз можуть бути інші клієнти, наприклад, у світі Ethereum Це матиме так звані основні зустрічі розробників, які проводяться, мабуть, кожні два тижні у п’ятницю ввечері. Тоді буде сказано, що коли потрібно обговорити певні питання, ви запросите кількох людей на цю зустріч. Звичайно, інші можуть спостерігайте, але інші можуть бути не в змозі висловити свою думку, або чи зможуть вони висловити свою думку, залежить не від вас, чи не так? Швидше, сама зустріч має організатора, який може визначити порядок денний.
Крім того, ще один дуже важливий момент полягає в тому, що Ethereum використовує так звану модель оновлення hard fork. Що означає жорстка біфуркація? Хардфорк означає, що якщо ваш вузол не оновиться, а більшість людей оновиться, ви більше не зможете приєднатися до мережі. Вас буде викинуто з мережі безпосередньо з технічних причин, тобто якщо ви не згодні з оновлення. , або якщо ви не хочете оновлювати власне програмне забезпечення, ваш вузол не зможе продовжувати існувати в мережі Ethereum. Це ключова відмінність, яка означає, хто засвоїв це визначення того, що ми хочемо Якщо ми хочемо оновити так звані правила консенсусу протоколу Ethereum, він насправді має дуже велику силу, яка може призвести до виключення деяких людей з мережі з причини, якої вони не хочуть робити. Це право фактично є джерелом того, що багато людей розуміють як так звані основні повноваження розробника.
І це уявлення певною мірою вірно для Ethereum, але це не так для Bitcoin. Оскільки біткойн вибрав зовсім інший метод розробки, а вся культура спільноти повністю відрізняється від культури Ethereum, я думаю, що, з одного боку, це давнє непорозуміння в перекладі, а з іншого боку, це Культурна уява може бути пов’язана з вашим реальним життєвим досвідом або з методами розробки інших криптовалютних проектів.
Однак це культурне уявлення про біткойн значною мірою недоречне, оскільки в біткойнах немає такого механізму, який міг би контролювати таку велику владу, і насправді її немає. Це як ваш особистий досвід, що хтось може мати таку велику владу Натомість я рекомендую вам спробувати запустити Bitcoin Core або будь-який інший клієнт Bitcoin самостійно.
Я знаю, що є. У мене є кілька друзів, які вирішили не використовувати Bitcoin Core. Він чітко дав зрозуміти, що не використовує Bitcoin Core. Йому подобається запускати btcd, чи не так? Це цілком нормально. Поки ви запускаєте ці клієнти самостійно, ви можете або навіть можете вибрати деякі дуже старі версії Bitcoin Core або інші клієнти цього програмного забезпечення Bitcoin і спробувати їх запустити, і тоді ви дізнаєтеся, як це працює. Щось трапилося.
Джеффрі Ху: Насправді, я думаю, що відповідь вчителя Аджіана, щойно зараз, може дати відповідь на інше поширене непорозуміння, яке нещодавно виникло у всіх, тобто Люку, можливо, доведеться змінити нового клієнта, тому він буде відрізнятися від багатьох поточних … Реалізація Bitcoin Core інша, тому він, можливо, захоче розгалужитися, або Люк, тоді він запропонував Bitcoin Core додати деякі функції до нової версії, що може призвести до розгалуження всієї мережі.Насправді, це також порівняння. Поширеним непорозумінням є те, що, виходячи з загальнодоступної інформації, яку ми бачили, Люк хоче не внести деякі зміни на рівні згаданих нами правил консенсусу, а щось більше. так званий рівень клієнта або повного вузла, або в стратегію пересилання внесено деякі зміни, тому на даний момент це не має нічого спільного з форком. І насправді я щойно говорив про форки, але є ще одне непорозуміння, про яке всі часто згадують, тобто культура розробки біткойнів насправді може бути відносно консервативною, тому що кожного разу це м’який форк, пане Аджіан, що ви думаєте про це ?
Аджян: Дозвольте навести вам кілька цифр, які можуть допомогти вам зрозуміти це більш конкретно. Або дозвольте мені поставити запитання Джеффрі. Перше запитання: чи вважаєте ви, що мережа Bitcoin коли-небудь зазнавала хардфорку? Друге питання: якщо так, як ви думаєте, скільки разів це було?
Тепер усім чітко відомо, що кількість змін до консенсусних правил мережі Bitcoin становить 21 раз, включаючи оновлення Taproot.Однак є деякі відмінності в способі підрахунку або визначення. Наприклад, одного з моїх улюблених біткойн-робочих слід називати робочим, тому що він не розробник. Це Джеймсон Лопп. Він сам вважає, що блокчейн біткойн був створений з якихось несподіваних причин. На його думку, цей поділ не обов’язково враховувати На його думку, в мережі біткойн був лише один хардфорк. Якщо я правильно пам’ятаю, це має бути 2013 рік.
З якою метою? Щоб додати спеціальний код операції до сценарію Bitcoin, який є NOP, під час зустрічі з цим кодом операції ваш сценарій не повинен нічого робити. Коли ви зустрічаєте цей код операції, ви можете розглядати його як просто заповнювач, так. Якщо ви цього не зробите робити що-небудь, коли зустрічається ця операція, тоді ця операція, яка нічого не робить, є повністю зайвою. Так для чого це? Це допоможе з майбутніми оновленнями soft fork.
Тобто старий вузол, оновлений цього разу, є вузлом, який може розуміти синтаксис коду операції NOP, тому, коли ви зустрічаєте цей вузол, ви нічого не робитимете. Але ті вузли, які використовують нові правила консенсусу, при зустрічі з кодом операції NOP можуть чітко визначити, що він має певну семантику, а потім виконати її семантику, а потім завершити так звані правила консенсусу. правильно? У вас було 21 консенсусне змінення правила, і лише одна була хардфорком, і ця хардфорк все ще надала допомогу для наступних оновлень м’якого форка. Таким чином, можна вважати, що серед багатьох оновлень мережі біткойн усі вони є оновленнями soft fork.
Отже, давайте повернемося до питання, тобто культура цього оновлення soft fork, незалежно від того, звідки воно походить, який його об’єктивний вплив на мережу Bitcoin? Чи зробить це розробників Bitcoin більш консервативними? Я думаю, що в цьому є два аспекти. Один аспект полягає в тому, що розробники біткойнів не є консервативними через softfork. Іншими словами, ви можете подумати, що всі розуміють мережу біткойн у тому, що в цій мережі є щось для неї. Цим не можна приносити в жертву. , тобто безпека. Безпека в усіх аспектах включає, наприклад, якщо ми говоримо про вузли, чи можете ви протистояти цій атаці відмови в обслуговуванні та атаці DOS, чи не так? І коли ви використовуєте відкриті ключі як окремі користувачі або коли ви використовуєте сценарії, це безпечно? Або консенсус усієї мережі безпечний, коли ви його виконуєте? Ці функції безпеки є найважливішою в мережі Bitcoin.
Враховуючи цей найважливіший пріоритет, ви, природно, виявите, що розробники біткойнів не намагатимуться спробувати будь-який можливий напрямок розвитку, і їхнім основним напрямком розвитку має бути посилення безпеки біткойнів. Це один аспект. Отже, якщо деякі люди думають, що не все можна зробити в мережі біткойн або що додавання нових функцій здається дуже повільним, і вважають це ознакою консерватизму, їх перше враження правильне. Але щодо самої справи, чи варто вам це розуміти як консерватору, я вважаю, що це застереження. Тому що те, про що я збираюся говорити далі, стосується біткойна, наприклад, в оновленні Taproot у 2021 році, він використовує підпис Шнорра, що дуже цікаво. Де тут найцікавіше? Ми знаємо, що біткойн є найпершим криптовалютним проектом, який з’явився. Коли він вперше з’явився, він вирішив використовувати алгоритм ECDSA для електронних підписів, а еліптичну криву, яку він вибрав, ретельно підібрав Сатоші Накамото. Він уникав тієї, яку використовувало більше людей і вибрав той, яким користується менше людей.
Потім ми виявимо, що багато криптовалютних проектів успадкували це, включаючи пізнішу появу Ethereum або інші проекти, вони продовжують використовувати підписи ECDSA. Але є також деякі пізніші проекти, які використовуватимуть деякі варіанти підпису Шнорра, такі як Ed25519.Якщо друг, який знає криптографію, знає цей Ed25519, наприклад, у пізнішому Polkadot, він використовуватиме Ed25519. Можливо, існуватимуть інші проекти, які також використовуватимуть цей алгоритм.Насправді, цей тип підпису також є варіантом підпису Шнорра, тому це буде дуже цікаво.Саме наступники біткойна того часу продовжували вибирати підпис ECDSA І він все ще використовується сьогодні, і навіть планується продовжувати використовувати, або, принаймні, коли він не особливо активно використовує новий алгоритм підпису, біткойн робить це для певної ефективності в ланцюзі, тобто для економії Або для того, щоб зробити транзакції в ланцюжку більш компактними, або через використання підписів Schnorr, оскільки Taproot також використовує підписи Schnorr для досягнення дуже цікавого використання, тобто одна адреса може містити як ключ і ключ. Цей метод витрачання, включаючи метод витрачання цього сценарію, може досягти чогось подібного.
З різних причин біткойн вирішив підтримувати підпис Schnoor. Це консервативна річ? Тобто, хіба це не дуже смілива річ сама по собі? Це інновація у всіх сенсах, які я можу собі уявити, дуже смілива інновація. Незадовго до оновлення Taproot у мережі біткойн можна було чітко розрізнити вихід єдиного відкритого ключа, який зазвичай є формою, у якій люди зберігають власні кошти, та вихід сценарію, який зазвичай можливий. особистий гаманець, або це може бути вихідна форма, яка використовується в більш складній договірній угоді.
До Taproot ви могли розрізнити ці два виходи в ланцюжку. Після оновлення Taproot ці дві вихідні форми були об’єднані в одну, що само по собі є дуже сміливим. Як на мене, я вважаю, що це дуже-дуже чудова річ, гідна слова інновація у всіх сенсах. Тож можна сказати, що він консервативний, але водночас не консервативний. Сенс цього консерватизму полягає в тому, що він завжди ставить безпеку на найважливіший рівень, тому він не намагатиметься нічого випадково. Але ви можете подумати, що він не консервативний, тому що коли він знаходить гарне рішення, усі насправді активно його сприймають.
Джеффрі Ху: Так, я особливо згоден, що це оновлення підпису Шнорра, тому що тепер ми знаємо, що багато інших щойно згаданих блокчейн-проектів можуть бути принаймні за своєю рідною адресою. На цьому рівні, якщо ви захочете додати новий метод підпису або змінити вихідну еліптичну криву, все одно буде великий опір. Це може бути через причини технічної архітектури або через усю культуру. Або це може бути причиною обговорення спільноти. Ми побачимо, що насправді це буде дуже повільно. Тоді можна використати деякі інші методи, наприклад, додати його до смарт-контракту, щоб зробити його сумісним, або іншим способом. Але це не схоже на біткойн. По суті, ви можете розглядати це як рідний спосіб додавання підпису. Я насправді з цим цілком згоден.
Давайте повернемося до того, що щойно сталося з клієнтом Люка. Це була додаткова тема, про яку ми щойно говорили, оскільки мова йшла про розгалуження. Насправді мені особисто не дуже подобається слово fork. Я не знаю А Цзяна . Вчителю, я думаю, що слово fork часто викликає певні непорозуміння. Наприклад, згадане щойно може призвести до розбиття мережі через певну обчислювальну потужність або помилки. Насправді, це іноді може статися. Те, що деякі люди вважають хардфорком або щось подібне насправді є тим, що я розумію як м’яка вилка або хард форк у звичайному розумінні, яке можна замінити іншим технічним терміном. Soft fork — це фактично сумісне оновлення, тоді як hard fork — це фактично несумісне оновлення, тобто ви додаєте більше нових функцій, які можуть бути вашим власним вузлом, або ви думаєте, що це вузол, який спочатку запускав старе програмне забезпечення. Це не може відображатися у новій мережі. Якщо він знаходиться в мережі біткойн, я справді вважаю, що цю перспективу можна змінити. Якщо вузлу потрібно виконати деякі хардфорк-оновлення, це насправді його власний Якщо він сам себе розгалужує, то це також відносна концепція , оскільки він більше не дотримується правила консенсусу всієї мережі.
Давайте поговоримо трохи більше. Цього разу Люк зробив це, можливо, він хотів змінити вузол, але насправді це сталося більше на рівні м’якого форка чи хардфорку, який ми обговорюємо. Це ще не торкнулося рівня весь мережевий блоковий консенсус, і іноді в Інтернеті виникають гострі суперечки, але насправді більше дискусій полягає в тому, що цей вузол може фактично розгалужуватися безпосередньо, але насправді те, що він робить як вузол, ще не досягло цього рівня. Якщо ми розуміємо інтуїтивно зрозуміло, Люк насправді робить це на рівні цілого пулу пам’яті транзакцій або на рівні mempool пулу транзакцій. Він просто робить це. Деяка фільтрація транзакцій або деякі модифікації стратегії пересилання деяких вузлів.
Тож як це розуміти конкретно? Я можу розширити це, оскільки ви, можливо, частіше використовували Metamask або інші гаманці, тож ми бачимо, що якщо ви хочете надіслати транзакцію, вам потрібно лише натиснути кілька кнопок, щоб здійснити транзакцію. поза. Насправді транзакцію в біткойнах, від моменту, коли ви намагаєтесь написати транзакцію, до остаточного підтвердження, в основному я розумію, що її можна розділити на три кроки. Перший крок — це інформація, яка вам потрібна для підписання транзакції. Це в першому крок, було створено підписане повідомлення. Другим кроком є розміщення цієї підписаної інформації у весь пул пам’яті транзакцій. Третій крок — упаковка в блок — це підписана інформація, насправді процес теж дуже важливий.
Перший крок, наприклад, у Lightning Network, обидві сторони можуть фактично зберігати канали одна одної в Lightning Network. Дві сторони можуть зберігати частину інформації про транзакції, підписану іншою стороною. Якщо інша сторона робить зло, вони можуть використати це, щоб я потім додав інформацію про свій власний підпис до інформації про підпис іншої сторони, а потім я можу транслювати це, щоб покарати іншу сторону за вчинення зла. Таким чином, це крок для використання інформації підпису в Lightning Network. Фактично, він відповідає першому кроку оформлення транзакції. Тоді другий крок фактично означає, що якщо я хочу надіслати транзакцію, я передаю інформацію свого підпису. у мережу, а потім я дозволяю іншим вузлам обробити його. Тоді вузол виконає деяку перевірку законності після отримання його, а потім перешле його.
Тож те, що Люк робить цього разу, насправді в основному на другому кроці, тобто чи потрібно всьому моєму вузлу виконувати якусь фільтрацію чи обробку після його отримання? Оскільки він вважає, що деякі транзакції, такі як деякі з транзакцій BRC 20, можуть стати надто важким тягарем для мережі, тому він не хоче пересилати їх на цьому рівні або на рівні бібліотеки mempool.
Поки що це фактично не торкалося рівня консенсусу всієї мережі.Зрештою, якщо потрібна вся транзакція, на деяких вузлах майнінгу, на основі інформації в усьому поточному mempool, включаючи деякі попередні блоки Information , тільки після обчислення хеш-значення вся поточна транзакція буде упакована в блок Це рівень консенсусу в усій мережі.
Отже, ви можете побачити, що цього разу модифікація Люка є просто модифікацією на рівні mempool.Насправді вона не має нічого спільного з форком. Так, і я насправді придумав приклад раніше, як пояснити це питання яскравіше. Який приклад я придумав? Я просто не знаю, чи вчитель Аджян вважає це доречним. Я можу розповісти про свою ідею. Раніше, можливо, було більше людей. Деякі люди ходили до банківських відділень із великою кількістю власних здачі. Я хочу заощадити. Наприклад, я взяв копійку в 1 мільйон. Якщо ви хочете піти до відділення банку, щоб внести гроші, тоді у відділенні банку, природно, можуть виникнути дві думки. Тобто ви можете нічого не зробити. Тепер, коли ви тут, я повинен це вирішити, чи не так? Банкноти, які ви взяли, є справжніми банкнотами, тому мені обов’язково доведеться їх обробити. Це відповідно до правил усього центрального банку. Я маю їх обробити. Тоді це може зайняти багато часу. Я можу це зайняти тривалий час, щоб надіслати спеціальну особу для його обробки, покласти гроші в детектор валют один за одним, підрахувати їх, а потім внести гроші в банк після завершення обробки. Ну, це така штука, тому моє відділення банку дуже відповідально ставиться до своїх користувачів. Тоді є інше відділення банку, яке буде дратуватися такими злісними клієнтами. Просто скажіть, такий клієнт не повинен приходити до мого відділення банку. Ви можете піти в інші відділення банку. Я не прийму такого типу занадто багато. Як клієнт банкнот дрібних номіналів, якщо ви не йдете до інших банківських відділень, то у клієнта в цей момент може виникнути ідея і сказати: а, а чому відділення вашого банку не дотримується правил центрального банку? Чому він не приймає? Чи є вимога до мого клієнта заощаджувати гроші? Насправді це відділення банку може бути трохи несправедливим, чи не так? Я не кажу, що хочу йти проти центрального банку. Це просто відділення мого банку. У мене справді немає більше робочої сили, щоб обслуговувати такого клієнта з дрібними купюрами, тому я можу видати деякі власні правила, наприклад Я не буду обробляти банкноти вартістю менше 100 юанів. Можливо, я обробляю лише депозити та зняття цілих купюр вартістю 100 юанів. Для решти вам доведеться знайти інші відділення самостійно, або ви можете просто відкрити відділення банку самостійно Іди розбирайся.
Тож це насправді схоже на те, якщо ми повернемося до цього прикладу, якщо ми подумаємо, що Люк може бути хардфорком, це насправді може бути трохи несправедливим щодо його початкового значення. Він не схожий на відділення банку, яке хоче піти Створіть інший центральний банк, щоб перевіряти автентичність усієї банкноти або як вести рахунки. Він просто вважає, що цей власний вузол може не витрачати більше ресурсів на обробку транзакцій, таких як BRC 20 або Inion.
Ajian: Метафора Джефрі справді, дуже хороша та дуже яскрава. Дозвольте мені трохи додати, тобто якщо більшість людей кажуть, що вони не часто звертають увагу на цю технічну інформацію, вони можуть не в змозі розрізнити, що таке правила консенсусу та які вузли готові прийняти транзакцію у свою власну транзакцію. пул і пересилає його іншим. Вузол посилається на власні правила для інших вузлів, які з’єднані з ним. Одне з наведених вище правил називається правилами консенсусу, а інше – правилами пулу транзакцій або правилами перевірки пулу транзакцій. інший. .
чому Оскільки ви можете сприймати правило консенсусу як одне, певною мірою, ви можете вважати його більш вільним, чому? Оскільки він лише визначає, чи є блок дійсним, а так звані правила пулу транзакцій, визначені кожним вузлом, лише визначають, чи хочу я прийняти транзакцію та переслати транзакцію, то можна використовувати суворіші правила, ніж правила консенсусу.
чому? Оскільки правило консенсусу передбачає дійсність блоку, то вузол може природно делегувати частину роботи з фільтрації недійсних транзакцій майнерам. чому Тому що ви повинні переконатися, що ваш блок дійсний, інакше, якщо ваш блок або транзакцію буде відхилено, ви не отримаєте жодних переваг.
Тож ви можете розумно припустити, що він збиратиме всі дійсні транзакції, і оскільки він уже заплатив багато доказів роботи, я витратитиму трохи більше часу, щоб перевірити цей блок, що для мене добре. Це те, що повністю доступний і не має занадто багато недоліків. Але якщо транзакція з’являється з повітря та йде невизначеним шляхом у мережі, щоб дістатися до мене, ви не знаєте, дійсна це транзакція чи недійсна.
Якщо вам потрібно повністю перевірити кожну транзакцію, яку ви отримуєте, насправді, ця справа сама по собі забирає багато часу та ресурсів, тому підхід вузла повинен полягати в тому, щоб спочатку підтвердити цю транзакцію.Є деякі характеристики транзакції, які дуже просто перевірити, і тоді ці характеристики визначатимуть, чи слід мені продовжувати подальшу перевірку транзакції, або якщо вона більше не відповідає цим характеристикам, я просто не буду її перевіряти. транзакцію. Якщо він бажає її запакувати, я перевірю це, чи не так? Це такий процес. Більшість наших слухачів або інших друзів не можуть або не можуть про це подумати, тому що мережі, якими ми часто користуємося, не мають цього рівня. Це рівень. Це в основному виключно для UTXO або транзакцій Лише тоді, коли ви використовуєте форму виведення транзакції для вираження суми коштів та умов її витрачання, вам потрібно розглянути це питання.
чому? Наприклад, якщо ви працюєте в Ethereum, усі його так звані смарт-контракти є свого роду обліковими записами, включаючи ваш власний, який контролюється закритим ключем, але це також обліковий запис. кажучи, усі його основні цілі, тобто вся складність обробки, мають бути розміщені в контракті, і сам код контракту може ідентифікувати це.
Які транзакції можна обробляти, а які ні? Усі транзакції в списку Ethereum ініціюються зовнішнім обліковим записом, чи не так? Серійний номер, який використовується зовнішнім обліковим записом, називається значенням Nonce. Можуть виникнути деякі неоднозначності, але ви маєте рацію, називаючи його серійним номером, оскільки кожен обліковий запис має цей серійний номер, і наступне Цей серійний номер має бути після обробляється, тому кожен обліковий запис використовує невикористаний серійний номер для ініціювання транзакції, а потім, коли це підтверджується цим блоком, він входить до останнього стану визначеного Ethereum. Обробляється, а потім дає вам результат, чи не так? Таким чином, у моделі Ethereum вся складність розміщена в обліковому записі смарт-контракту, а його вузол намагається ігнорувати кінцевий результат виконання інструкції, яку несе ваша транзакція.
Тобто кожна з ваших транзакцій насправді є лише транзакцією, ініційованою певним обліковим записом, а потім у транзакції переносяться деякі інструкції, тобто те, якими будуть результати цих інструкцій після виконання.Вузол не піклується про це взагалі, воно дбає лише про вас Чи сплатили ви певну суму комісії за цю транзакцію? Отже, для такої мережі, як Ethereum, правила пулу транзакцій цього вузла насправді дуже прості, умовно кажучи, це буде простіше, тому що потрібно лише перевірити, перш за все, чи достатньо на вашому рахунку для оплати плати за газ, так ? Тоді це залежить від того, чи використовувався ваш серійний номер раніше.Якщо він використовувався, це недійсна транзакція. Іншими словами, я повинен вибрати транзакцію для збереження в пулі транзакцій, порівнюючи високі та низькі комісії за газ.
Що стосується інформації та інструкцій, доданих до його операції, що вони означають? Йому байдуже, йому взагалі байдуже, тому правила пулу транзакцій його вузла дуже прості. Але в моделі, заснованій на виведенні транзакцій, такій як UTXO, як у біткойнах, перевірка пулу транзакцій має бути складнішою.
чому Тому що ви будете хвилюватися, наприклад, чи є його витрати дійсними витратами. Ці неприпустимі витрати не можуть увійти в блок. Це характеристика біткойна. Отже, ви, природно, створюватимете серію. Щоб зберегти його ресурси, ми називаємо це евристичний метод або деякі розширені заходи та правила перевірки, які реалізуються раніше, ніж перевірка підпису, щоб максимально захистити цей вузол від використання DOS-атака.
Дозвольте навести ще один дуже цікавий приклад. Цікаво, чи чули ви про Nervos Network. Транзакції та кошти Nervos Network також базуються на результатах транзакцій, але їх форма називається Cell, чи не так? Насправді, його структура дуже схожа на UTXO, тому вони також створюватимуть деякі в мережі Nervos, яка полягає в об’єднанні деяких транзакцій, які транслювалися в деяких мережах перед майнерами, щоб виконати для них деяке об’єднання, а потім передати їх Щоб створити повний пакет, буде додано проміжний рівень агрегації. Поява цього рівня агрегації насправді пов’язана з характеристиками UTXO, тому що характеристики UTXO багато в чому впливають на вашу транзакцію та її інструкції. Він буде зрозумілішим і складнішим.
Отже, на цій основі потрібно створити деякі так звані правила перевірки для пулу транзакцій, щоб допомогти вузлу визначити, чи хоче він дозволити транзакції увійти у власний пул транзакцій. Тому що коли він увійде у ваш пул транзакцій, ви повинні зберегти транзакцію, і ви також її перешлете, чи не так? Це те, що вимагає ресурсів, тож, мабуть, у цьому й суть.