Pull to refresh

Comments 50

Вот вроде бы и понятно написано, но все равно не понятно.
Алиса передает 10$ Бобу и Чарли => оба факта пока недостоверны. И что дальше?
Два узла соревнуются в скорости создания блока — это я понимаю. Первый узел вписал свой блок сделав факт передачи Бобу 10$ проверенным. Но когда эта информация дойдет до других узлов, которые все еще пытаются вписать свой блок о передаче 10$ Чарли?

Дальше не понятно, почему вписание некоторого факта в блок внезапно делает факт достоверным. Может у Алисы вообще никаких долларов нет. Она просто просит майнеров подписать недостоверный факт о передаче своих долларов знакомым.

Еще, насчет избавиться от посредников.
Теперь посредниками становятся майнеры, ведь «Вот почему вы должны платить, чтобы записывать факты в блокчейн».
Дальше не понятно, почему вписание некоторого факта в блок внезапно делает факт достоверным. Может у Алисы вообще никаких долларов нет. Она просто просит майнеров подписать недостоверный факт о передаче своих долларов знакомым.

У каждого в сети есть история всех транзакций в виде дерева и каждый может проверить есть ли у Алисы 10$, потому что если Алисе не кто не переслал 10$, или она их не на майнила то у нее нет денег по сути, значить и пересылать не чего.
P.s Я сам только начал разбиратся, поэтому могу быть в чем то не прав)
P.s.s вот хорошая серия статей на эту тему https://habrahabr.ru/post/319868/
Ладно с деньгами. А если это нотариальная сделка. Я сдаю свой дом в аренду, но никто не знает есть ли у меня дом. Я вступаю в сговор с майнером и он подписывает сделку с арендой.
Все участники сети должны знать что у вас есть дом иначе они не приймут сделку. Потому что и в жизни не достаточно просто сказать что квартира ваша, нужны документы и подтверждения.
я правильно понял, получается, что все участники знают, сколько у некоего персонажа денег на счету, какая у него собственность и вообще имеют всю информацию обо всех объектах этих участников?
Смотрите тут https://blockexplorer.com/ вы можете посмотреть транзакции в реально времени, берем транзакцию https://blockexplorer.com/tx/052160f15d56c9730af4a11db2f4bc16446140c0f8bb50e252943c2008dcbfcc
там есть от кого и кому она передана ну и можете на кого-то из них посмотреть.
П.с если короче то да))
Да, но необходимо отметить, что эта информация привязана лишь к идентификатору пользователя, которых он может иметь неограниченое количество. И, если Иванов И.И. сам не объявит свой идентификатор, то все его действия в блокчейне останутся анонимным.
Зависит от логики блокчейн базы. В биткоине все ваши деньги могут лежать на множестве кошельков. То что эти кошельки ваши подтвердить можете только вы, если у вас есть закрытый ключ от них. Больше никаких идентификаторов нет (на сколько я знаю). Если даже какой-то ваш кошелек деанонимизировали, нет проблем перевести деньги на другой и никто не сможет сказать, это вы что-то оплатили или себе же перевели.
Да, но это значительно смягчается тем, что никто не знает, какой участник кем является. Поэтому повсеместное распространение блокчейновых платежных систем и онлайновых сервисов без посредников неплохо нивелируется отсутствием механизмов борьбы с мошенничеством. Грубо говоря, если вы что-то заплатили, а продукт/услугу не получили, то ни принудительно вернуть ваши деньги, ни найти получателя уже не получится.
В блокчейн базе могут с легкостью проверяться внутренние факты, т.е. те, которые зависят от предыдущих транзакций. Если вам никто денег не переводил, то и расплатиться вам нечем. Такая логика может быть условием работы базы, и если майнер хакнет программу и нарушит ее, то другие узлы такой блок просто не примут.

Внешние факты, такие, например, как наличие квартиры, могут быть подтверждены доверенным лицом или группой лиц — другими участниками блокчейн базы. Но по факту это будет тот же нотариус, которого можно подкупить. Даже интернет вещей тут особо не поможет. Возможно имеется ввиду, что интернетизированные вещи будут такими же участниками, которые будут подтверждать «я существую и я не сломан», но это те же доверенные лица, которых уже не подкупишь, зато их легче взломать, т.к. заранее знаешь где их закрытый ключ должен храниться. Или можно подкупить фирму, которая эти вещи создает.
Не совсем понял ваш вопрос
Но когда эта информация дойдет до других узлов, которые все еще пытаются вписать свой блок о передаче 10$ Чарли?

Когда закончится синхронизация блокчейна, ведь такие механизмы существует и в тех же базах данных .
Да, вы должны платить, но это не значит, что майнеры становятся посредниками. Ведь майнеры не оказывают никаких услуг лично вам, они работают на Блокчейн. Можно сказать, что весь Блокчейн — это посредник, но скорее это просто среда передачи.

Blockchain это цепочка блоков, где есть вся история использования этих токенов. Обойти ее без атаки 51% невозможно. Соответственно, Алиса уже должна иметь эти деньги на момент отправки транзакции (иначе ее первые же ноды отвергнут и еще в бан добавят) либо намайнив их, либо же получив от другого пользователя.


Каждый Bitcoin можно отследить от последнего платежа до места и ПУЛА его майнинга. В этом и прелесть этой "БД"...

Запомнить надо только одно: «умные» означает «нет посредников» или «исполняется технически»

лучше такое не запоминать))
Вот объяснение для тех, «кто с нуля» https://tjournal.ru/41306-samoe-ponyatnoe-obyasnenie-principa-raboti-blokcheina
Вероятно, вы задаетесь вопросом, как получить доказательства механических повреждений. Здесь в дело вступает «интернет вещей» (IoT). Для взаимодействия с реальным миром блокчейну необходимы датчики и приводы. Блокчейн революция невозможна без IoT революции.

Я конечно за IoT и матрицу всеми руками, но не кажется что на каждый стакан датчик неповесишь? Мне кажется плохой пример.

Если это распределенная сеть, а весь блокчейн представляет собой цепочку, где будет храниться информация о блоках которые создаются сейчас, скажем через 50 лет?
ведь в блоке хранится только хэш предыдущего. Не могут же все узлы хранить все блоки

Автор начал про блокчейн и скатился до криптовалют.

Ну и «Таким образом, блокчейн сам генерирует свои собственные деньги.» — неверное утверждение. Это в реализации криптовалют так. Сам по себе БЧ не обязан использовать криптовалюту вообще.
Вот мне тоже из очередной статьи про Блокчейн хотелось бы узнать, как он функционирует без криптовалюты.
А именно: кто и за какие деньги будет майнить, чтобы обеспечить невзламываемый ключ к блоку. Пока на этот вопрос внятного ответа нигде не нашел.
Вы сводите блокчейн к майнигну, а БЧ — это совсем не про майнинг. БЧ — это просто способ сериализовать все факты и организовать их так, чтобы изменение любого сериализованного факта влекло за собой полный пересчёт последующей цепочки. Это если кратко. А майнинг и вознаграждение — это уже решение попутных задач.
Как раз хотелось бы понять, как эти попутные задачи решаются. Потому что кроме «создайте private blockchain» других решений не видел. А это уже суррогат блокчейна. Сложность (и поэтому безопасность) ключа обеспечивается конкуренцией майнеров, которой не будет в приватной сети. А «внешние» майнеры не работают без вознаграждения, которое должно формироваться понятным образом.
Тогда надо определиться с терминами, иначе каждый понимает определения по-своему и в результате получается каша.
Как вариант, вознаграждение майнерам может состоять в самом факте существования блокчейна и возможности ею пользоваться. Грубо, банки заинтересованы в существовании межбанковской сети и потому будут майнить.
Тогда транзакции всех участвующих банков будут лепиться в одну цепочку. Это выглядит довольно революционно
Если рассматривать это с точки зрения банков, то это, скажем так, не имеет практического применения. Во-первых, у банков нет потребности в создании независимой межбанковской сети, а во-вторых, у банков есть необходимость хранить в тайне данные своих транзакций, а не проводить их через публичную среду. Поэтому самый популярный пример применения блокчейна на самом деле в корне неправильный.
Здесь интересное обсуждение https://habrahabr.ru/company/alfa/blog/323070/#first_unread
Не имеет значения, для чего использовать. Важно, что перенесено в децентрализованный блокчейн и как это реализовано.
Да я видел эту статью и обсуждение. Там как раз пример показательный с обеих сторон. С одной стороны, да, у них получилось использовать блокчейн для учёта аккредитивов. С другой стороны, они даже сами обратили внимание на главный вопрос: «Но есть проблема — найти бизнес-кейс для того, чтобы применить блокчейн и не притягивать за уши.»
И так на него и не ответили. В том кейсе, который они реализовали, блокчейн используется «for fun». Я это пишу абсолютно объективно, сделка с аккредитивом — это бизнес-процесс с центральным контролёром, и ему в принципе не нужно ничего из возможностей блокчейна. Т.е. у ребят был карт-бланш на выбор технологии автоматизации, вот они и попробовали новинку.
Не имеет значения, для чего использовать. Важно, что перенесено в децентрализованный блокчейн и как это реализовано.

Я с вами не соглашусь. У любой технологии играет роль лишь её практическая полезность, а не то, что лежит «под капотом». Если брать, например, платежные системы, то пользователь предпочтёт ту, в которой меньше телодвижений для регистрации и осуществления платежей, а не ту, которая технологически более совершенна (а особенности внутреннего устройства вообще напрочь отсутствуют в качестве рассматриваемых характеристик у 99% пользователей).
Для банковских расчетов, действительно, блокчейн притянут за уши. Особенно с учетом того, что идеология биткоин — запись о транзакции = запись о количестве криптовалюты.
Меня интересует применение блокчейн и прежде всего, умных контрактов, для чего-либо кроме криптовалюты, например, для фиксации транзакций авторских прав, займов. Альфа-банк сделал хороший пример того, как это может быть сделано. Хотя не допилили (поскольку, видимо, не надо было)

Блокчейн нужен банкам для межбанковских расчетов. Потому что все узлы будут равны по функционалу, правам и пр. Как следствие, подключение к сети БЧ будет дешевыми. Чтобы заблокировать узел надо будет контролировать 50% + 1 узлов (в противоположность тому, что сейчас отключить банк от Свифт, Виза и т.п. можно по указу одной большой страны). Плюс много других плюшек являющихся следствием открытости и неизменности данных БЧ.

Блокчейн нужен банкам для межбанковских расчетов. Потому что все узлы будут равны по функционалу, правам и пр. Как следствие, подключение к сети БЧ будет дешевыми.

Я вот по поводу этого как раз и хочу понять, зачем это банкам? Им наоборот, нужна приватная, управляемая и контролируемая сеть. Пусть она будет не настолько дешевая, но зато с арбитром, который всегда сможет вернуть мошенническую транзакцию, сформировать правила действий участников, контролировать их поведение, штрафовать нарушителей. И чтобы при этом распространение информации о транзакциях не выходило за пределы трёх сторон — отправителя, получателя и арбитра. Последнее — вообще ключевой фактор.

Откуда мошеннические транзакции в приватной, управляемой и контролируемой сети? (Это так, к слову :)


Контролируемый — означает (ключевые свойства),
1) что доступна полная и верифицируемая информация о контролируемом объекте (БЧ тут подходит на 100%),
2) что при определенном воздействии на объект, от него приходит ожидаемый отклик (БЧ подходит на 99%, из-за некоторых маловероятных событий).


Вот теперь возьмем, к примеру, систему Свифт: доступна ли по ней полная информация, в том числе и вся ее внутренняя кухня (распространенность, эффективность, безопасность, и т.п.), на основе которой можно принять решение о подключении к ней, и просчитать риски? Может ли абсолютно любой банк подключиться к ней? Пройдут ли ваши платежи контрагентам, если против вас ввела санкции страна, в которой расположена эта система?


Насчет приватности — ничто не запрещает сделать сеть БЧ ограниченной. Чтобы исключить какой-либо центр администрирования, который будет решать, достоин ли банк входить в эту сеть, и банк ли это, можно (наверное?) использовать умные контракты.


Про арбитра — не понял, зачем он, когда система формализована на 100%. Но это, в принципе, возможно. Надо чтобы решение поддержали 50% + 1 участник (пример из жизни — The DAO fork), это, опять же, лучше, чем какой-то один арбитр.

Вот теперь возьмем, к примеру, систему Свифт: доступна ли по ней полная информация, в том числе и вся ее внутренняя кухня (распространенность, эффективность, безопасность, и т.п.), на основе которой можно принять решение о подключении к ней, и просчитать риски?

Скажем так, по ней доступна вся информация, достаточная, чтобы принять решение о подключении и просчитать риски, но она, естественно, не полная. Это как, например, API популярной проприетарной библиотеки — вы знаете, как ей пользоваться, вам доступен обширный опыт использования другими, но вовнутрь вы не заглянёте. Но, по-большому счёту, вам оно и не нужно для успешной работы с этой библиотекой.
МПС, и Свифт в том числе, и вообще все банки, основывают свой бизнес на одном ключевом моменте — они сами по себе являются доверенными организациями. Т.е. их собственные действия де-факто не нуждаются в какой-либо проверке.
Блокчейн же наоборот, позволяет организовать безопасный обмен информацией там, где доверенных участников в сети нет.
Про арбитра — не понял, зачем он, когда система формализована на 100%. Но это, в принципе, возможно.

А что значит «формализована на 100%»? Формализовать можно только протокол. Арбитр нужен для решения споров. Транзакции же производятся не ради самих себя, все банковские транзакции подразумевают какое-то их отражение в денежном или там материальном выражении. Которое в блокчейн не поместится. Соответственно, если транзакция произошла, а, например, передача её материального эквивалента не состоялась/отменилась/состоялась частично, возникает тот самый спор. Кто его будет разрешать? Ладно, с аккредитивом вопросов нет, тут всё само собой происходит. А если это обычная сделка купли-продажи?
Надо чтобы решение поддержали 50% + 1 участник

Да, но кто и зачем это будет делать? Банковская система — это живой организм, в котором между десятками тысяч участников ежедневно происходят сотни миллионов транзакций. Кто и как в этом хозяйстве вообще будет заинтересован участвовать в разрешении споров, каждый из которых касается каких-то двух мало кому известных участников?
Транзакции же производятся не ради самих себя, все банковские транзакции подразумевают какое-то их отражение в денежном или там материальном выражении. Которое в блокчейн не поместится. Соответственно, если транзакция произошла, а, например, передача её материального эквивалента не состоялась/отменилась/состоялась частично, возникает тот самый спор.

Блокчейн по сути — неизменяемая очередь сообщений, стороны могут договориться об использовании этих сообщений в качестве юридически значимых, в частности для фиксации взятия обязательства по передаче материальных объектов в случаях, когда законом допустимо использование аналогов собственноручно подписанных сообщений и достаточно простой письменной формы. Если обязательство взяли, но не не исполнили, то алгоритм действий такой же как если у вас на руках есть бумажное обязательство контрагента с его собственноручной подписью. Грубо, идёте в суд, а он, если что, даёт поручение службе приставов.

Это понятно, но тогда возникает всё тот же вопрос, а какую роль тут играет собственно блокчейн? Можно же просто договориться о взаимном признании ключей ЭЦП, удостоверенных вот таким-то корневым сертификатом. И при таком обмене транзакциями будут автоматически соблюдены все требования и по достоверности, и по конфиденциальности, и не надо будет реплики базы транзакций всем участникам вести, и не надо будет вообще что-то менять в инфраструктуре.

Два основных варианта такой схемы:


  • доверительная связь каждого с каждым, у каждого свой корневой сертификат, по сути каждая связь друг от друга независима, может быть реализована как угодно, главное согласовать схему обмена
  • доверительная связь каждого с централизованным узлом, который удостоверяет участников и их возможности (грубо — баланс коррсчета) своим сертификатом, хранит мастер-реплику данных, возможно, даже не давая участникам доступа к ней в целом

Блокчейн же схема предполагает удостоверение участников и их возможностей самостоятельно при наличии общей инфраструктуры обмена

Я немного в другом ключе спрашивал :) Технология-то понятна, непонятны только её преимущества для решения данной задачи. Т.е. просто сама потребность в «самостоятельном удостоверении участников» в случае межбанковского обмена транзакциями отсутствует как класс.
Это прерогатива «розничного» обмена, например, для платежных систем, работающих с физлицами.

По опыту работы в банковской и около неё теме, банки не любят регуляторов, монополистов в межбанковских связей и т. п.

Скажем так, банки не любят платить комиссии. А без регуляторов оно все равно не обходится.

Не только и не столько в комиссиях дело, ещё и в допзатратах которые нужно нести, чтобы соответствовать очередному обновлению требований.

Да, вы правы. Но блокчейн-то это никак не решит. Все равно будет какая-то межбанковская структура, которая правила вырабатывает и согласовывает с другими участниками. И все равно её придётся кормить. И опять же таки, вопросы подключения участников. Вариант с саморегистрацией «здрасьте, я КредитИнвестПромБанк, примите платежик» участников банковской сети также не устроит. Они захотят, чтобы и аудит новые участники проходили, и стандарты соблюдали. Ну т.е. как раз тот редкий случай предметной области, в которой практически все достоинства блокчейна превращаются в его недостатки. Может, конечно, я чего-то и не замечаю, но я уверен, что банковская среда — это как раз полный антогонист идеологии блокчейна и конкурент, а не место, где он когда-нибудь будет внедрён, по крайней мере, кроме единичных случаев на уровне эксперимента.

Не могу решать за руководства банков, но исторически банковская сфера развивалась именно как самоорганизующаяся распределенная P2P сеть со сложной системой корреспондентских отношений. И банки в целом противились вмешательству госрегуляторов в их деятельность, особенно в виде центральных банков, обязывающих проводить все межбанковские переводы через корсчета у себя. Не вижу особых причин зачем банкам нужны эти супербанки, почему бы каждому банку не желать стать частью распределенного супербанка. Кстати, в США государство не смогло пробить идею центрального банка и роль нашего центрального банка у них по сути выполняет распределенная P2P-сеть.

UFO just landed and posted this here
Отличие только в том, что вам не нужно создавать бэкэнд

Ну, это, насколько понимаю, не совсем так. Серверную часть, хоть и «пирную» писать придётся, иначе как это всё будет работать?

Storj.io

То есть, я сдаю место на компе и обязан регулярно держать его включенным, верно?

По блокчейну есть один вопрос, ответ на который я так и не смог найти. Также, как и storj.io блокчейн требует не полного P2P, а наличия узлов — постоянно включенных серверов, что делает его, безусловно, децентрализованным, но всё же не совсем P2P, так? И распространение подтвержденного блока идёт какое-то время, это всё записывается и где-то хранится(явно не на компах всех пользователей, иначе концов было бы не найти для некоторых операций по причине утраты и тд). Выходит, что это тоже самое что и серверы гугла/cdn/amazon/etc — их много, они связаны. Ну не пойму я причем тут P2P, простите.

а также с чего начать, если вы хотите создать свой проект

Я понимаю, что P2P с нуля писать не очень весело, но всё же мне не очень понятно как запустить свой, например, блокчейн проект для подписи документов юрлицами. Пытаюсь давно вникнуть в суть, но такое ощущение, что все «кто в теме»(хипстота блокчейная) юзают имеющиеся Эрис/Эфир/etc не особо задумываясь а как там всё внутри.

Допустим, делаю я проект на их базе. Данные должны где-то храниться => мне нужен сервер. А раз мне нужен сервер, то не проще ли мне на нём всё и хранить: как Вася дал Пете 15 рублей, а потом тут же Петя дал 10 рублей Тане. Чтобы никто не усомнился, что я транзакцию выкинул, я записываю в каждую последующую часть от предыдущих(аля хэш). Это блокчейн? Нет. Проблему решает? Да. В чем тогда прикол блокчейна-то?!
Ну и как альтернатива CRC — считать в таком же ключе общую сумму имеющихся денег в сети, дублировать её в транзакцию. Если их стало больше — что-то пошло не так. Не могу понять одно — это не блокчейн, но задачу блокчейна решает(по факту) похожими методами — тоже транзакции подписываемые, тоже сервера… Так ли это?
блокчейн требует не полного P2P, а наличия узлов — постоянно включенных серверов, что делает его, безусловно, децентрализованным, но всё же не совсем P2P, так? И распространение подтвержденного блока идёт какое-то время, это всё записывается и где-то хранится(явно не на компах всех пользователей, иначе концов было бы не найти для некоторых операций по причине утраты и тд). Выходит, что это тоже самое что и серверы гугла/cdn/amazon/etc — их много, они связаны. Ну не пойму я причем тут P2P, простите.

В общем и в целом, блокчейн требует полного P2P и полные копии данных хранятся на компах пользователей, синхронизируясь с остальными по расписанию или после офлайна (100% онлайна не требуется). Запустите нормальный клиент и ваш комп станет полноценной нодой сети, отправляя ваши транзакции от своего имени. Можете даже майнинг запустить и если вы очень везучий, то можете заработать что-то порядка 5000 долларов каждые 10 минут :) Но обычным пользователям такой юзкейс не особо нравится и потому они используют очень урезанные клиенты, которые обращаются к нодам как к серверам с запросами типа "выдай баланс/список транзакций для такого-то идентификатора" и "переведи с такого-то идентификатора столько-то на такой-то". Есть ещё клиенты, объединяющие вычислительные мощности своих хостов в пулы, выступающие как одна нода, собственно такие пулы и являются основными нодами.


Делая что-то на базе существующего блокчейна вы вольны выбирать держать свою ноду (или ноды) или иметь легковесного клиента — полные копии данных хранят все ноды, вам их хранить не нужно, для осуществления транзакций полноценная нода вам не нужна, она нужна только если вы хотите помогать обеспечивать работу сети в целом, хоть на мизер, но увеличить её надежность и мощность. С одним-двумя обычными серверами, даже с тысячами их, рассчитывать на реальные вознаграждения в режиме полноценной ноды блокчейна типа биткоина не приходится — сливки снимают пулы и делят между своими участниками.

Я был бы признателен, если бы вы (как переводчик) название статьи добавили «на примере bitcoin», потому что заявления справедливы только для биткоина и (возможно) каких-то его форков:
  • Члены сети не обязательно должны быть анонимными
  • Алгоритм консенсуса не обязательно должен быть proof-of-work – как минимум, есть еще proof-of-stake или вообще BFT
  • Блокчейн не обязан иметь свою криптовалюту


Пример с контрактом выбран неудачный – я очень сомневаюсь, что можно «доказать наличие физических повреждений» программе.

P.S. График BTC to USD, заканчивающийся в начале 2016 года, даже комментировать не хочется
Не очень понятно, зачем мне, как веб-разработчику, блокчейн? Это как-то увеличит производительность приложения? Нет. Упростит тесты? Нет.
Мне биткоин не интересен в принципе. Много шума вокруг ничем не обеспеченной фикции.

Готовая (условно) платформа для избежания стуаций


  • Только что на этом месте стояла моя ладья! — закричал одноглазый,
    осмотревшись. — А теперь ее уже нет.
  • Нет, значит, и не было! — грубовато сказал Остап.
  • Как же не было? Я ясно помню!
  • Конечно, не было.
  • Куда же она девалась? Вы ее выиграли?
  • Выиграл.
  • Когда? На каком ходу?
  • Что вы мне морочите голову с вашей ладьей? Если сдаетесь, то так и
    говорите!
  • Позвольте, товарищ, у меня все ходы записаны.
  • Контора пишет! — сказал Остап.

То есть это распределенный сервис логгирования? Пока на ум приходит что-то связанное с WebRTC

По сути да. Причём гарантируется (в рамках консенсуса и криптографии) неизменяемость и соблюдение неких ограничений на включение в лог.

Sign up to leave a comment.

Articles