GGUL
Legendary
Offline
Activity: 1468
Merit: 1102
|
|
November 25, 2016, 11:52:29 AM Last edit: November 25, 2016, 12:04:41 PM by GGUL |
|
Теория теорией, но реальную жизнь и прагматичность еще никто не отменял. Биткойн - это алгоритм, который, условно говоря, говорит либо "да, это верный блокчейн" либо "нет, с точки зрения кода это неверная цепочка" В алгоритм нельзя записать нечеткое условие "ну пошукай там по сайтам и форумам что там написано". В чем смысл стотысячной проверки одного и того же. Если ты практически со 100%-й вероятностью знаешь, что перед тобой реальный блокчейн. Ты знаешь. А алгоритм не знает. Это же не искусственный интеллект. Алгоритмы пишутся человеком. Выше я уже привел алгоритм. Где-там "пошукай по сайтам". И этот алгоритм даст практически 100% результат. Разговор зациклился. p/s/ upd. Припоминаю, что в обновлении какой-то версии было написано, что контрольная точка теперь на блоке под номером XXX. Теперь задумался, что это означает.
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
November 25, 2016, 12:03:28 PM |
|
Алгоритмы пишутся человеком. Выше я уже привел алгоритм. Где-там "пошукай по сайтам". И этот алгоритм даст практически 100% результат. Разговор зациклился. Ага. Я ж и код захочу посмотреть. Пожалуйста, напишите мне код этого алгоритма на любом удобном для вас языке программирования. Как-то так?
|
|
|
|
Sorros
|
|
November 25, 2016, 12:39:30 PM |
|
Алгоритм Скачиваем все блоки, проверяем хеши. Если хеш 400000 блока =XXXXXXX.... значит все отлично. (Математика дает нам целостные данные.) переходим в полноценный режим.
Каким образом по хешам блоков можно проверить достоверность(историю) новых транзакций?
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
November 25, 2016, 12:51:42 PM |
|
Каким образом по хешам блоков можно проверить достоверность(историю) новых транзакций? Ну индексацию Utxo мы все-таки проведем. Это не особо дольше простого копирования.
|
|
|
|
GGUL
Legendary
Offline
Activity: 1468
Merit: 1102
|
|
November 25, 2016, 12:54:43 PM |
|
Алгоритмы пишутся человеком. Выше я уже привел алгоритм. Где-там "пошукай по сайтам". И этот алгоритм даст практически 100% результат. Разговор зациклился. Ага. Я ж и код захочу посмотреть. Пожалуйста, напишите мне код этого алгоритма на любом удобном для вас языке программирования. Что-то Вас понесло. Для описания алгоритмов и их понимания совершенно не нужен язык программирования. Алгоритм: Скачиваем все блоки до 400000, проверяем хеши. Если хеш 400000 блока ="000000000000000004ec466ce4732fe6f1ed1cddc2ed4b328fff5224276e3f6f" значит все отлично. переходим в полноценный режим. дальнейшие блоки с проверкой транзакций. Где тут "поиски по сайтам". Вы планку то уж не опускайте вниз. Надеюсь, не будете утверждать, что не понимаете этот алгоритм.
|
|
|
|
Sorros
|
|
November 25, 2016, 01:00:32 PM |
|
Ну индексацию Utxo мы все-таки проведем. Это не особо дольше простого копирования.
Для этого не нужен весь блокчейн? Как это делается?
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
November 25, 2016, 01:02:44 PM |
|
Алгоритм: Скачиваем все блоки до 400000, проверяем хеши. Если хеш 400000 блока ="000000000000000004ec466ce4732fe6f1ed1cddc2ed4b328fff5224276e3f6f" значит все отлично. переходим в полноценный режим. дальнейшие блоки с проверкой транзакций. Где тут "поиски по сайтам". Вы планку то уж не опускайте вниз. Надеюсь, не будете утверждать, что не понимаете этот алгоритм. Я все понимаю. Я даже вижу то, что вы не видите. Вопрос не в том, чтобы сегодня быстро проверить все блоки до вчерашних, а вчерашние и сегодняшние проверять медленно и печально. Проблема в том, что через год-два-три кому-то придется лезть в код и ставить новые контрольные точки, да? А всем остальным людям качающим клиент надо будет поверить на слово этому Васе Пупкину, что он внес туда корректное, а не левое значение. На колу мочало - опять зависимы от Васи. Мудрая женщина Сара Коннор говорила, что будущее непредопределено и мы не можем сегодня записать завтрашнюю контрольную точку. Я предлагаю вам на этот вопрос не относящийся к сегвиту больше не отвлекаться.
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
November 25, 2016, 01:05:46 PM |
|
Для этого не нужен весь блокчейн? Как это делается? Нужен конечно. Просто верификация транзакций - процесс в сотни раз более долгий чем построение списка Utxo Так что я если и беспокоюсь - то о том, что занимает 100 единиц времени. а не одну.
|
|
|
|
Sorros
|
|
November 25, 2016, 01:30:27 PM |
|
Нужен конечно. Просто верификация транзакций - процесс в сотни раз более долгий чем построение списка Utxo Так что я если и беспокоюсь - то о том, что занимает 100 единиц времени. а не одну.
Хорошо, ваша нода проверила правильность всех Utxo, теперь она смело может верифицировать достоверность новых транзакций. При этом вам все равно пришлось скачать блокчейн, а не просто проверить хеши блоков, проверка которую можно сделать по легкому, без всех данных блокчейна. Теперь мы имеем: скачанный блокчейн, проверенную цепочку блокчейн-хешей, и индексацию Utxo. Это ведь позволяет теперь достоверно проверять новые транзакции? Мы отбросили проверку всей цепочки транзакций. Вопрос, если этого достаточно, зачем ноды, не майнеры, проверяют цепочки транзакций(наверное потому, что не писали специальных клиентов для тех и других)? С майнерами сложнее, им нужно проверять и цепочку транзакций, что бы лично убедится - текущая цепочка верная, а не полагаться на чье-то заключение. Напомню, все начиналось с вот этого утверждения : 1)Необязательно при первой загрузке блокчейна проверять все транзакции. Достаточно проверить хеши блоков. Сам факт существования блокчейна длиной в сотни тысяч блоков с текущим хешрейтом практически гарантирует целостность данных. Зачем стотысячный раз проверять все транзакции? Из которого я сделал вывод, что так как проверка транзакций не нужна, то и все данные блокчейна скачивать не нужно. А выходит, что он нужен, просто можно вырезать проверку цепочек транзакций, удовлетворившись индексацией Utxo, разумеется, если мы не майнеры.
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
November 25, 2016, 01:47:26 PM |
|
Вопрос, если этого достаточно, зачем ноды, не майнеры, проверяют цепочки транзакций? С майнерами сложнее, им нужно проверять и цепочку транзакций, что бы лично убедится - текущая цепочка верная, а не полагаться на чье-то заключение. В оригинальном концепте не было понятия "нода для релея" Есть фулл-нода которая имеет блокчейн и может (но не обязана) майнить. Есть лайт-клиент который не имеет полного блокчейна и не может (даже если захочет) майнить. Зачем люди держат фулл-ноды и полную цепочку блоков? Не знаю. Я для анализа транзакций держу. И считаю что те кто говорят "я держу фулл-ноду и тем самым поддерживаю сеть" просто не совсем понимают что они делают. Пусть идут в лес и поддержат какой-нибудь дуб. Пока тот живой - он в поддержке не нуждается. А как только его сточит долгоносик - так "поддерживальщик" первый побежит прочь. Напомню, все начиналось с вот этого утверждения : 1)Необязательно при первой загрузке блокчейна проверять все транзакции. Достаточно проверить хеши блоков. Сам факт существования блокчейна длиной в сотни тысяч блоков с текущим хешрейтом практически гарантирует целостность данных. Зачем стотысячный раз проверять все транзакции? Целостность и консенсус - вещи разные. Орфан-цепочка являлась "целостной" в какой-то момент времени но была вытеснена более сильной. Она целостна, но не удовлетворяет сегодняшнему консенсусу, в котором сказано, что в расчет принимается только основная цепь. Из которого я сделал вывод, что так как проверка транзакций не нужна, то и все данные блокчейна скачивать не нужно. А выходит, что он нужен, просто можно вырезать проверку цепочек транзакций, удовлетворившись индексацией Utxo, разумеется, если мы не майнеры. Если мы не майнеры - мы вообще имеем право грабить, убивать и насиловать. Я без сарказма. Мы ж ни за что не отвечаем? И ничем не рискуем?
|
|
|
|
GGUL
Legendary
Offline
Activity: 1468
Merit: 1102
|
|
November 25, 2016, 02:09:53 PM |
|
1)Необязательно при первой загрузке блокчейна проверять все транзакции. Достаточно проверить хеши блоков. Сам факт существования блокчейна длиной в сотни тысяч блоков с текущим хешрейтом практически гарантирует целостность данных. Зачем стотысячный раз проверять все транзакции? Из которого я сделал вывод, что так как проверка транзакций не нужна, то и все данные блокчейна скачивать не нужно. А выходит, что он нужен, просто можно вырезать проверку цепочек транзакций, удовлетворившись индексацией Utxo, разумеется, если мы не майнеры. Первоначальная задача у нас была - запустить полноценную фулл-ноду. Поэтому скачиваем все блоки. Но при загрузке мы можем оптимизировать и не проверять транзакции до какого-то блока. Это не меняет всю остальную работу. В результате получаем полноценную фулл-ноду.
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
November 25, 2016, 02:18:26 PM |
|
Первоначальная задача у нас была - запустить полноценную фулл-ноду. Поэтому скачиваем все блоки. Но при загрузке мы можем оптимизировать и не проверять транзакции до какого-то блока. Это не меняет всю остальную работу. В результате получаем полноценную фулл-ноду. Мы начали разговор о пороге вхождения в когорту майнеров чтобы была децентрализованность системы. С большими блоками этот порог задирается. И система майнинга становится централизованной. Не проверять блоки мы на свой страх и риск можем. Люди перестали бояться атаку-51 и других вещей, полагаясь на то, что Виталик поправит баги, а девелоперы договорятся о размере блока. Гром пока не грянул. Ждём-с.
|
|
|
|
Sorros
|
|
November 25, 2016, 02:41:04 PM |
|
Первоначальная задача у нас была - запустить полноценную фулл-ноду. Поэтому скачиваем все блоки. Но при загрузке мы можем оптимизировать и не проверять транзакции до какого-то блока. Это не меняет всю остальную работу. В результате получаем полноценную фулл-ноду.
Верно. Посмотрел историю постов, и понял, что потянул не в ту сторону. Разговор был о обработке уже скачанных блоков. И суть в том, что процессор не поспевал за скоростью скачиваний. И ответ был, что не нужно нагружать процессор полной проверкой. Я же прочитав понял как то, что блоки ненужно скачивать, достаточно скачать хеши блоков. Если мы не майнеры - мы вообще имеем право грабить, убивать и насиловать. Я без сарказма. Мы ж ни за что не отвечаем? И ничем не рискуем?
В вопросе консенсуса да. Но в общем, немайнерские узлы ведь имею важное инфраструктурное значение для биткойн сети? А именно - соединяют сеть в одно целое. При этом, если какая то нода "грабит, убивает и насилует", то другие, если они большинством сторонники консенсуса, будут теми фильтрами, которые не пропустят данные от "негодяя". И вот не попасть на "негодяя", это важно для легких клиентов. Поэтому, получается, что нода, если не отвечает, то помогает легким клиентам донести целостную транзакцию к майнерам.
|
|
|
|
Sorros
|
|
November 25, 2016, 02:54:21 PM |
|
Не проверять блоки мы на свой страх и риск можем. Люди перестали бояться атаку-51 и других вещей, полагаясь на то, что Виталик поправит баги, а девелоперы договорятся о размере блока. Гром пока не грянул. Ждём-с.
Мы же обсудили, что немайнерской ноде не нужно проверять цепочку транзакций. Для проверки целостности и достоверности транзакций, и принятии решения о ретрансляции, достаточно хеша блоков и Utxo. Ведь нода не влияет на консенсус, и не влияет на выбор цепочки блоков. Так в чем здесь угроза? Или не туда опять смотрю?
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
November 25, 2016, 03:01:43 PM |
|
В вопросе консенсуса да. Но в общем, немайнерские узлы ведь имею важное инфраструктурное значение для биткойн сети? А именно - соединяют сеть в одно целое. Есть такой анекдот: "Брак - это решение сообща тех проблем, которые бы не возникли без брака" Вот у вас такая же логика примерно - узел сети решает важную роль связывая сеть. Мы же обсудили, что немайнерской ноде не нужно проверять цепочку транзакций. Для проверки целостности и достоверности транзакций, и принятии решения о ретрансляции, достаточно хеша блоков и Utxo. Ведь нода не влияет на консенсус, и не влияет на выбор цепочки блоков. Так в чем здесь угроза? Или не туда опять смотрю? угроза в централизации майнерских мощностей раз. и в том, что релей-ноды вообще говоря нежизнеспособны - никто не заинтересован в их создании и поддержке. Мы опять на оффтопик свалились. Давайте поближе к сегвиту и подальше от всего остального
|
|
|
|
Sorros
|
|
November 25, 2016, 03:11:57 PM |
|
Есть такой анекдот: "Брак - это решение сообща тех проблем, которые бы не возникли без брака" Вот у вас такая же логика примерно - узел сети решает важную роль связывая сеть.
Мы опять на оффтопик свалились. Давайте поближе к сегвиту и подальше от всего остального
У Вас странный стиль общения. Один пост информативный, второй демагогия. Я же пишу, не для того, что бы Вас переспорить, или оффтоп создать. У меня реально интересующие меня вопросы, и мои же рассуждения. Возможно такие вопросы Вам кажутся примитивными, а ответы на них настолько очевидными, что можно анекдотом ответить. Но суть в том, что я то не из праздности спрашиваю. И если вы видите мои ошибки, было бы неплохо дай верный ответ, направить. Разумеется Вы вправе делать именно так, как сделали, что конечно печально (по крайней мере для меня).
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
November 25, 2016, 03:29:11 PM |
|
У Вас странный стиль общения. Один пост информативный, второй демагогия. Я же пишу, не для того, что бы Вас переспорить, или оффтоп создать. У меня реально интересующие меня вопросы, и мои же рассуждения. Возможно такие вопросы Вам кажутся примитивными, а ответы на них настолько очевидными, что можно анекдотом ответить. Но суть в том, что я то не из праздности спрашиваю. И если вы видите мои ошибки, было бы неплохо дай верный ответ, направить. Разумеется Вы вправе делать именно так, как сделали, что конечно печально (по крайней мере для меня). Простите. Важность какой-либо системы можно и нужно оценивать с точки зрения внешнего, а не внутреннего наблюдателя. Важен ли для меня болт №1743478 в третьем шпангоуте яхты "Святая Екатерина"? Нет, неважен. Потому что я никогда эту яхту в глаза не видел и не увижу. Если бы я был бы вторым помощником младшего юнги на этой яхте, которого специально назначили бы подкручивать этот болт из-за которого яхта со всем экипажам может утонуть - я бы считал, что этот болт - самое важное что есть в мире, ведь от него зависит моя жизнь. Так вот. Важность биткойн-нод надо оценивать не изнутри биткойн-системы, а снаружи. Может быть вместе с самой биткойн-системой. Иначе эта оценка сильно субъективна.
|
|
|
|
GGUL
Legendary
Offline
Activity: 1468
Merit: 1102
|
|
November 25, 2016, 07:59:13 PM Last edit: November 25, 2016, 08:17:18 PM by GGUL |
|
Не проверять блоки мы на свой страх и риск можем. Люди перестали бояться атаку-51 и других вещей, полагаясь на то, что Виталик поправит баги, а девелоперы договорятся о размере блока. Гром пока не грянул. Ждём-с.
Мы же обсудили, что немайнерской ноде не нужно проверять цепочку транзакций. Для проверки целостности и достоверности транзакций, и принятии решения о ретрансляции, достаточно хеша блоков и Utxo. Ведь нода не влияет на консенсус, и не влияет на выбор цепочки блоков. Так в чем здесь угроза? Или не туда опять смотрю? Скажем так, обычной фулл-ноде(немайнерской) можно не проверять старые блоки, так как они проверены многократно. Новые лучше проверять, прежде чем принимать решение о ретрансляции. С другой стороны, такие ноды не создают новых блоков, поэтому значение их существенно меньше, чем пытаются представить. Значимость фулл-нодов, во многом благодаря разработчикам Core, сильно преувеличена. Если точнее, сильно преувеличено значение 5000-й ноды. (на данный момент). Первая сотня нодов имеет важное значение. Со ста первой до тысячной скорее всего, еще улучшают сколько-то надежность и функционал. 5000-я нода практически уже ничего не дает системе. (при этом ноды лучше отсортировать по убыванию производительности) Например, год-два назад в системе было более 10 тысяч нод. Сейчас сократилось до 5000. Кто-нибудь заметил какие-нибудь проблемы в системе в связи с этим? Поэтому, если кто-то запускает фулл-ноду, видимую и доступную извне, на дохлом компьютере с дохлым интернетом, он не помогает системе. Скорее всего, он является проблемой для системы. p/s/ upd. В тему наткнулся на пост: https://bitcointalk.org/index.php?topic=567069.msg16988409#msg16988409Когда люди запускают фулл-ноду на таком дерьме и думают, что они защищают систему, становится грустно.
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
November 25, 2016, 08:24:11 PM |
|
Значимость фулл-нодов, во многом благодаря разработчикам Core, сильно преувеличена. Если точнее, сильно преувеличено значение 5000-й ноды. (на данный момент). Первая сотня нодов имеет важное значение. Ребят, вы так серьёзно обсуждаете сколько чертей помещается на острие иголки тьфу! сколько программистов нужно чтобы закрутить лампочкутьфу! сколько компьютеров нужно чтобы обслуживать транзакционную систему с тремя (ТРЕМЯ, КАРЛ!!!) транзакциями в секунду! 100 компютеров - мало, а 5000 много? Да с обслуживанием всей транзакционной системы биткойна справится один сервер на базе процессора целерон! Вся остальная инфраструктура занята тем, что проверяет сама себя.
|
|
|
|
GGUL
Legendary
Offline
Activity: 1468
Merit: 1102
|
|
November 25, 2016, 10:06:01 PM |
|
Значимость фулл-нодов, во многом благодаря разработчикам Core, сильно преувеличена. Если точнее, сильно преувеличено значение 5000-й ноды. (на данный момент). Первая сотня нодов имеет важное значение. Ребят, вы так серьёзно обсуждаете сколько чертей помещается на острие иголки тьфу! сколько программистов нужно чтобы закрутить лампочкутьфу! сколько компьютеров нужно чтобы обслуживать транзакционную систему с тремя (ТРЕМЯ, КАРЛ!!!) транзакциями в секунду! 100 компютеров - мало, а 5000 много? Да с обслуживанием всей транзакционной системы биткойна справится один сервер на базе процессора целерон! Вся остальная инфраструктура занята тем, что проверяет сама себя. Ох и любите Вы возражать. Иногда кажется, только ради того, чтобы возразить. Ваше утверждение, что для Биткоин-системы достаточно одного сервера, это ,конечно, полная чушь. Один сервер, это одна точка доступа. Поэтому имеем высокую вероятность отказа в обслуживании. Банально, по техническим причинам. 10 серверов, разбросанных по миру, уменьшают эту вероятность до ничтожной. Но при этом остаются внешние факторы. Кому-то может прийти мысль: или вырубить 10 серверов, или поставить под контроль. 10 - цифра довольно маленькая. 100 серверов,распределенные по миру, делают вероятность этого уже низкой. А тысяча серверов делают эту мысль нелепой. Но основная идея моего поста была в том, что 5000-я нода уже не несет никакой практической пользы. Самое интересное, что Вы с этим согласны, но при этом Ваш комментарий имеет явно выраженный отрицательный оттенок.
|
|
|
|
|