Size: a a a

2019 November 26

OA

Oleg Andreev in ББ-чат
и ощутить гору гемора
источник

OA

Oleg Andreev in ББ-чат
потому что ты захочешь сначала проверить что есть баланс, потом его изменить, но атомарность нужна, начиная с самой проверки баланса.
источник

OA

Oleg Andreev in ББ-чат
Gleb Naumenko
Это ясно, неясно как помогает быть уверенным что ты на нужном форке, если форк произошел 4 блока назад. А вот подписи на текущем блоке помогли бы, если предположить, что они не будут подписывать оба форка.
как можно предположить что они не будут подписывать оба форка, если они уже сделали два форка?
источник

II

Ivan Ivanitskiy in ББ-чат
Dmitry Khovratovich
Можно всегда дозаписать кусок подкаста и незаметно вставить его в старый
Незаметно вставить - не наша тема
источник

II

Ivan Ivanitskiy in ББ-чат
Dmitry Khovratovich
- Мадам Бардо?
- Бонжур!
Ммм, а это откуда?
источник

o

ollsanek in ББ-чат
Oleg Andreev
потому что ты захочешь сначала проверить что есть баланс, потом его изменить, но атомарность нужна, начиная с самой проверки баланса.
там же своя какая-то целая наука с кучей локов. Узкая область знаний о том как это всё делать правильно. Я от неё далёк.
источник

S

Sergey Boogerwooger in ББ-чат
Sergei Tikhomirov
С точки зрения слушателя скажу: а я не согласен, что биткоин из CAP теоремы выбирает CP. Биткоин это AP: у моей ноды всегда есть мнение о том, какой сейчас стейт (A), и часть сети может отвалиться (P). Консистентности нет : в любой момент может выясниться, что где-то есть цепочка где больше PoW, хоть от генезиса.
Привет! Я боюсь быть неточным. По моему тут вопросо в субъективности - т.е. с точки зрения какого участника оцениваются C + A + P свойства. С точки зрения пользователя, который ждет когда сеть договорится о его транзакции - Availability у PoW биткоина и эфира нет - гарантируется только что если транзу включат в блок, то консистентно (сеть придет к одному и тому же состоянию UTXO) и PT (будет детерминистично выбран один и только один форк). А со стороны софта ноды имеет место AP , так как достаточно просто провалидировать блок и накатить его на state database, и плевать что с другими нодами не будет Consistency. В общем я просмотрел несколько статей - все пишут по разному, хрен его знает как правильно. Одно точно понятно - сразу все точно не удастся достичь
источник

OA

Oleg Andreev in ББ-чат
Gleb Naumenko
Это ясно, неясно как помогает быть уверенным что ты на нужном форке, если форк произошел 4 блока назад. А вот подписи на текущем блоке помогли бы, если предположить, что они не будут подписывать оба форка.
Более строгая модель - что у тебя не какие-то там разные майнеры, а один майнер. Хочет - форкает, не хочет - не форкает. Интересно понять почему он не форкает.
источник

GN

Gleb Naumenko in ББ-чат
Oleg Andreev
как можно предположить что они не будут подписывать оба форка, если они уже сделали два форка?
Та вот если два форка существует — то ты и задетектишь, что подписей не хватает.
источник

GN

Gleb Naumenko in ББ-чат
Oleg Andreev
Более строгая модель - что у тебя не какие-то там разные майнеры, а один майнер. Хочет - форкает, не хочет - не форкает. Интересно понять почему он не форкает.
Тут согласен. Или, например, неопределенное число майнеров, таким образом что составить внятный threshold не получается.
источник

ST

Sergei Tikhomirov in ББ-чат
Ivan Ivanitskiy
Ммм, а это откуда?
источник

II

Ivan Ivanitskiy in ББ-чат
Точно! Спасибо! Чо-то сегодня день дня Радио, сегодня коллеги Угорщину вспоминали.
источник

OA

Oleg Andreev in ББ-чат
ollsanek
там же своя какая-то целая наука с кучей локов. Узкая область знаний о том как это всё делать правильно. Я от неё далёк.
ну вот либо ты делаешь глобальный лок, и все жутко тормозит, либо делаешь глобальную append-only очередь из операций, которые сделаны на основе best effort (некоторые могут конфликтовать). И затем ты можешь реплицировать этот лог на независимые N машин, которые могут отставать с разным лагом от Истины, заключенной в процессинге всей очереди.

Когда ты делаешь платеж через одну из машин, она делает быструю локальную проверку, есть ли деньги (чтоб не писать в очередь почем зря), и если ей кажется что есть, засылает транзакцию в очередь. А вот отвечает она тебе, что все ок - после того как подсосала всю очередь до того места, где твоя транзакция. И, естественно, она выкидывает конфликтующие транзакции детерминированным образом. Если дошла до твоей и она не конфликтует - значит, конфёрмд. А если нет - то отлуп.

Так ты можешь отреплицировать свою БД на чтение и записью не тормозить все реплики.
источник

OA

Oleg Andreev in ББ-чат
только смотри-ка - получился блокчейн!
источник

ST

Sergei Tikhomirov in ББ-чат
Sergey Boogerwooger
Привет! Я боюсь быть неточным. По моему тут вопросо в субъективности - т.е. с точки зрения какого участника оцениваются C + A + P свойства. С точки зрения пользователя, который ждет когда сеть договорится о его транзакции - Availability у PoW биткоина и эфира нет - гарантируется только что если транзу включат в блок, то консистентно (сеть придет к одному и тому же состоянию UTXO) и PT (будет детерминистично выбран один и только один форк). А со стороны софта ноды имеет место AP , так как достаточно просто провалидировать блок и накатить его на state database, и плевать что с другими нодами не будет Consistency. В общем я просмотрел несколько статей - все пишут по разному, хрен его знает как правильно. Одно точно понятно - сразу все точно не удастся достичь
спасибо за комментарий :) я вот только не уверен насчет "сли транзу включат в блок, то консистентно" - может же быть реорг, причем с т.з. теории - с любой глубины
источник

OA

Oleg Andreev in ББ-чат
в принципе, майнеры могли бы таймстемпить и невалидные транзакции (тогда spv не работал бы), но у этого подхода есть другая проблема - они их хоть и быстрее могут валидировать (цпу экономить), но тогда немайнеры могут спамить сеть в нулевым риском
источник

OA

Oleg Andreev in ББ-чат
если б оно так работало, майнеры бы начали валидировать транзакции чтоб гарантированно получать fees, так что немайнеры могут спамить только за свой счет
источник

AP

Alex Petrov in ББ-чат
Oleg Andreev
так вот в биткоине из-за selfish mining порог как раз 33%, а не 50%
Опять теория - кто-то пробовал делать селфиш майниг ? или может историю вспомнят когда таки пытались атаковать. в теории - атакуемая система сидит и не реагирует, а на практике противодействует. и 33% сеть не захватишь, максимум парочку транзакций можно дабл спенднуть.
и на прадктике 33% ресурсов не могут создадут стабильную цепочку длинее чем 66% ресурсов на тойже сложности, в сети с массовыми валидаторами нодами. это тоже то что часто люди в теории забывают.
источник

AP

Alex Petrov in ББ-чат
В PBFT - 33% порог атаки это да.
https://vitalik.ca/general/2018/08/07/99_fault_tolerant.html
источник

AP

Alex Petrov in ББ-чат
Самый высокий риск сейчас у алькойнов, которые используют алгоритмы на которых есть более высокий хешрейт Scrypt/Sha256...  например для атаки BCH, BCH-SV - среднему пулу достаточно только на время переключить мощности, пул при этом не сильно теряет и не сильно рискует, и не рискует потерять оборудование, только малую часть ресурсов.
источник