Нараян Прасти



Download 9,22 Mb.
Pdf ko'rish
bet15/47
Sana26.02.2022
Hajmi9,22 Mb.
#472912
1   ...   11   12   13   14   15   16   17   18   ...   47
Bog'liq
Прасти Н. - Блокчейн. Разработка приложений - 2018


Глава 2 
____________________________________ 
[ 50 ] 
___________________________________ 
ность того, что несколько майнеров смогут найти решение. Даже если это возмож-
но, то между решениями будет разрыв по времени, в течение которого первый
успешный блок будет распространен по сети, другие майнеры узнают об этом, пре-
кратят добывать этот блок и примутся за работу над следующим блоком. Если
устаревшие блоки слишком часто появляются в сети, они вызывают серьезные про-
блемы, но если они появляются редко, то не навредят. 
Но в чем заключается проблема, которую создают устаревшие блоки? Они тормо-
зят подтверждение транзакции. Если два майнера выработали блоки приблизитель-
но одновременно, они могут содержать разный набор транзакций, и если наши 
транзакции содержатся в одном из них, то мы не можем считать их подтвержден-
ными, потому что блок могут признать устаревшим. Нам придется ждать, пока не 
будет найдено несколько новых блоков. По вине устаревших блоков среднее время 
подтверждения транзакции не равно среднему времени выработки блока. 
Снижают ли устаревшие блоки безопасность блокчейна? Да, снижают. Мы знаем, 
что безопасность сети определяется совокупной вычислительной мощностью всех 
майнеров, работающих в сети. Когда вычислительная мощность растет, сложность 
задачи возрастает, чтобы гарантировать, что блоки не вырабатываются быстрее, 
чем за установленное среднее время. Следовательно, более высокая сложность оз-
начает более высокую безопасность, потому что вмешательство злонамеренного 
узла в блокчейн потребует наличия у злоумышленника значительной мощности 
хеширования. Если два блока предложены приблизительно одновременно, они
делят сеть пополам, где каждая половина проверяет свою версию блокчейна. Но 
будет принята только одна версия, а вторая половина сети напрасно потратит вы-
числительную мощность на выполнение бесполезной работы. Это выглядит так, 
словно понизилась полезная вычислительная мощность сети, поэтому время выра-
ботки следующего блока будет сокращено за счет снижения сложности. Снижение 
сложности уменьшает общий уровень безопасности сети. Если устаревших блоков 
много, это чрезвычайно плохо влияет на безопасность блокчейна. 
Ethereum борется с проблемой устаревших блоков при помощи протокола под на-
званием GHOST (Greedy Heaviest Observed SubTree), используя модифицирован-
ную версию этого протокола. Протокол GHOST решает проблему добавлением ус-
таревших блоков в основной блокчейн. Тем самым он увеличивает общую слож-
ность блокчейна, т. к. совокупная сложность блокчейна включает в себя значения 
сложности устаревших блоков. Но как устаревшие блоки вставляют в блокчейн без 
конфликта между транзакциями? Суть в том, что любой блок может содержать 
ноль или больше устаревших блоков. Чтобы побудить майнеров включать в блок-
чейн устаревшие блоки, им выплачивают вознаграждение. Кроме этого, майнеры 
устаревших блоков тоже получают вознаграждение. Транзакции устаревших бло-
ков не участвуют в расчете подтверждения, и майнеры устаревших блоков не полу-
чают комиссию за транзакции. Отметим, что в протоколе Ethereum старые блоки 
называются uncle
4
blocks. 
4
Игра слов. Кроме указания на родственную связь второго уровня (дядя-племянник) одно из перенос-
ных значений слова uncle — старик, пожилой человек, что намекает на старость блока. 


Принципы работы Ethereum 
____________________________________ 
[ 51 ] 
___________________________________ 
Существует специальная формула, по которой вычисляется вознаграждение майне-
ру за прием устаревшего блока в переработку. Остаток вознаграждения переходит
к блоку-племяннику (nephew block), который вбирает в себя блок-дядюшку (uncle 
block): 
(uncle_block_number + 8 - block_number) * 5 / 8 
Вы можете спросить: если отсутствие вознаграждения майнерам устаревших бло-
ков никак не влияет на безопасность, почему они получают вознаграждение? Су-
ществует еще одна проблема, связанная с частым появлением устаревших блоков. 
Майнер должен получать вознаграждение пропорционально вычислительной мощ-
ности, которую он вносит в систему. Если два блока найдены приблизительно од-
новременно, то, вероятнее всего, в финальный блокчейн будет включен блок, до-
бытый более мощным майнером, а слабый майнер останется без награды. Если до-
ля старых блоков невелика, то и проблемы нет — мощный майнер получит лишь 
немного больше. Однако если доля устаревших блоков велика, то мощный майнер 
будет забирать себе намного больше, чем заслуживает, исходя из вычислительной 
мощности
5
. Протокол GHOST устраняет дисбаланс, выдавая вознаграждение май-
нерам старых блоков. Мощный майнер не получает вознаграждение целиком, но 
все же заметно больше, чем вообще без протокола GHOST. Поэтому мы можем
и майнерам старых блоков не выдавать полное вознаграждение, а лишь часть от 
обычного вознаграждения
6
. Приведенная ранее формула прекрасно поддерживает 
баланс. 
Протокол GHOST ограничивает максимальное количество старых блоков, которые 
может вобрать в себя блок-племянник, поэтому майнеры не могут просто вхоло-
стую генерировать старые блоки, тормозя блокчейн. 
Таким образом, если в сети появляется старый блок, он так или иначе влияет на 
сеть. Чем чаще появляются старые блоки, тем сильнее они влияют на сеть. 
Ветвление 
Если случается конфликт между узлами, подтвердившими подлинность блокчейна, 
и возникает больше одного подлинного блокчейна в сети, причем все они подтвер-
ждены несколькими майнерами, то говорят, что произошло 
ветвление
(forking). 
Принято различать три вида ветвления: простое (regular fork), мягкое (soft fork, 
софтфорк) и жесткое (hard fork, хардфорк). 
Простое ветвление
возникает, если два или более майнеров выработали блок почти 
одновременно. Проблема решается за счет того, что сложность одного блока боль-
ше, чем у остальных. 
5
При этом мелкие майнеры просто потеряют всякий стимул к работе, а картель «жирных майнеров» 
может захватить контроль над сетью. 
6
На момент работы над переводом майнер старого блока получал 87,5% вознаграждения, а майнер 
блока, поглотившего старый блок, получал оставшиеся 12,5% дополнительно к вознаграждению за 
новый блок.


Download 9,22 Mb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   47




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish