2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Блокчейн
Сообщение10.10.2017, 03:00 
Аватара пользователя


17/10/13
790
Деревня
Не знал куда задать вопросы, которые у меня возникли в ходе изучения, решил сюда закинуть, вдруг кто-нибудь в курсе технических подробностей:
1. Во-первых вопрос про архитектуру блокчейна, как распределенной БД. Насколько я понял, каждый компьютер, находящийся в сетке блокчейна хранит копию нашей БД. Когда А решил перевести деньги B, то все компьютеры должны свериться - сверить свои БД. У меня вопрос, а каким образом такая огромная сеть делает это так быстро? БД же огромная, два то компьютера будут долго сравнивать, а тут столько...
2. БД наверняка занимает много места на Жестком диске, неужели пользователи позволяют сжирать много ГБ на своем диске?
3. Опять же, если А решил перевести деньги B, то все компьютеры в сети должны свериться - чтобы подтвердить перевод. Но если какой-то компьютер выключен или вовсе сломался, то что тогда? Перевод просто не пройдет?
4. Про Хэш-функцию. При переводе компьютеры сравнивают хэши, если равны, то ок. Но а если возникнет коллизия, то как решают этот вопрос? Таким же образом можно себе присвоить миллионы биткоинов.. От этого как защищаются?

 Профиль  
                  
 
 Re: Блокчейн
Сообщение10.10.2017, 03:59 
Заслуженный участник


20/08/14
11063
Россия, Москва
Вообще говоря все ответы есть всего в двух статьях вики: Блокчейн и Биткойн. Предлагаю ознакомиться с ними и если вопросы останутся, то вернуться.

PS. Могу сразу успокоить, чтобы "присвоить миллионы биткоинов" надо владеть вычислительными мощностями не менее половины всей сети. Уже при небольшом распространении сети это нереально.

 Профиль  
                  
 
 Re: Блокчейн
Сообщение10.10.2017, 05:41 


24/07/17
1
Такая задача решается с помощю блокчейна.

Блокчейн в принципе не нужен :mrgreen: , есть идеи интереснее
Adaptive group consensus in uncertain networked Euler–Lagrange systems under directed topology

 Профиль  
                  
 
 Re: Блокчейн
Сообщение10.10.2017, 09:51 


10/04/12
704
1. Надо просто проверить подпись, потом вычесть сумму в кошельке A и добавить сумму в кошельке Б. Откуда сложность? База хранит текущее состояние кошельков и бэклог операций.
2. Есть варианты, когда храниться усечённая информация — текущий слепок базы плюс кусок бэклога. Ну а так да, надо хранить всё.
3. Надо 51%
4. Если два разный майнера нашли новый блокчейн? Будут жить оба. Всё решает длина цепочки. Так что к какому блоку найдут следующий блокчейн быстрее, того и деньги.

 Профиль  
                  
 
 Re: Блокчейн
Сообщение11.10.2017, 15:32 
Аватара пользователя


17/10/13
790
Деревня
mustitz
1) А, то есть они сверяют не всю БД, а только транзакции, которые связаны с А и B? Если так, то согласен
3) 51% - как простое большинство? То есть как критерий принятия решения? А если в сети 100 компьютеров, при этом 99% подтвердили транзакцию, а 1% не подтвердил (он был включен, просто хеш не совпал), то тогда отклоняется транзакция?

 Профиль  
                  
 
 Re: Блокчейн
Сообщение11.10.2017, 16:22 


27/08/16
9426
MestnyBomzh в сообщении #1254796 писал(а):
51% - как простое большинство? То есть как критерий принятия решения? А если в сети 100 компьютеров, при этом 99% подтвердили транзакцию, а 1% не подтвердил (он был включен, просто хеш не совпал), то тогда отклоняется транзакция?
Проверяют транзакции не "большинство", а майнеры, тяжко намайнивая свой очередной блок. Если в блоке будут противоречия, то другие майнеры этот блок отвергнут, и будут пытаться продолжить старый блок. Неправильный блок не выживет. Если большинство других майнеров решат, что новый блок правильный, они переключаются на продолжение майнинга нового блока, и эта цепочка продолжается с зацементированным в ней промежуточным блоком.

 Профиль  
                  
 
 Re: Блокчейн
Сообщение11.10.2017, 17:04 
Заслуженный участник


20/08/14
11063
Россия, Москва
MestnyBomzh
Вики писал(а):
Транзакции, вошедшие только в отвергнутую ветку (в том числе по выплате вознаграждения), теряют статус подтверждённых. Если это транзакция по передаче биткойнов, то она будет поставлена в очередь и затем включена в очередной блок.
Вики писал(а):
Распределенная база данных Blockchain формируется как непрерывно растущая цепочка блоков с записями обо всех транзакциях. Копии базы или её части одновременно хранятся на множестве компьютеров и синхронизируются согласно формальным правилам построения цепочки блоков. Информация в блоках не шифрована и доступна в открытом виде, но отсутствие изменений удостоверяется криптографически через хэш-цепочки (элемент цифровой подписи).
База публично хранит в незашифрованном виде информацию о всех транзакциях, подписываемых с помощью асимметричного шифрования. Для предотвращения многократной траты одной и той же суммы используются метки времени[8], реализованные путём разбиения БД на цепочку специальных блоков, каждый из которых, в числе прочего, содержит в себе хеш предыдущего блока и свой порядковый номер. Каждый новый блок осуществляет подтверждение транзакций, информацию о которых содержит и дополнительное подтверждение транзакций во всех предыдущих блоках цепочки. Изменять информацию в блоке, который уже находится в цепи, не практично, так как в таком случае пришлось бы редактировать информацию во всех последующих блоках. Благодаря этому успешная double-spending атака (повторная трата ранее израсходованных средств) на практике крайне маловероятна[9].
Вики писал(а):
Если контролировать более 50 % суммарной вычислительной мощности сети, то существует теоретическая возможность при любом пороге подтверждений одни и те же биткойны передать два раза разным получателям[14] — одна из транзакций будет публичной и подтверждаться в общем порядке, а вторая не будет афишироваться, её подтверждения будут происходить блоками скрытой параллельной ветви. Лишь через некоторое время сеть получит сведения о второй транзакции, она станет подтверждённой, а первая утратит подтверждения и будет игнорироваться. В результате не произойдёт удвоения биткойнов[15], но изменится их текущий владелец, при этом первый получатель утратит биткойны без каких-либо компенсаций.
Открытость цепочки блоков позволяет внести в произвольный блок изменения. Но тогда потребуется пересчёт хеша не только изменённого блока, но и всех последующих. Фактически, для такой операции потребуется мощность не меньше той, которая была использована для создания изменённого и последующих блоков (то есть всей текущей мощности), что делает такую возможность крайне маловероятной.

Так что если 51% компьютеров в сети подтвердили блок, то подтверждёнными будут и все предыдущие блоки с переводами денег. И деньги уйдут. Осталось лишь добыть >50% мощности сети и вуаля.

 Профиль  
                  
 
 Posted automatically
Сообщение11.10.2017, 18:43 
Модератор


19/10/15
1196
 i  Тема перемещена из форума «Помогите решить / разобраться (М)» в форум «Computer Science»

 Профиль  
                  
 
 Re: Блокчейн
Сообщение24.05.2018, 21:00 
Заслуженный участник
Аватара пользователя


11/12/05
9953
Dmitriy40 в сообщении #1254849 писал(а):
Так что если 51% компьютеров в сети подтвердили блок, то подтверждёнными будут и все предыдущие блоки с переводами денег. И деньги уйдут. Осталось лишь добыть >50% мощности сети и вуаля.


Сделано:

http://www.opennet.ru/opennews/art.shtml?num=48653

 Профиль  
                  
 
 Re: Блокчейн
Сообщение24.05.2018, 21:10 
Заслуженный участник


20/08/14
11063
Россия, Москва
Зашибись.
Отсюда мораль: нефик пользоваться недостаточно крупными валютами; и стоит защищать свои фермы от взлома.

 Профиль  
                  
 
 Re: Блокчейн
Сообщение25.05.2018, 16:51 
Экс-модератор
Аватара пользователя


23/12/05
12046
Dan B-Yallay в сообщении #1314714 писал(а):

А можно для человека довольно далекого от этой всей темы пояснить, к чему в конечном итоге приведет эта атака. Понятно, что тот, кто атаку провел что-то выигрывает, а кто, что и как теряет?

 Профиль  
                  
 
 Re: Блокчейн
Сообщение25.05.2018, 16:52 


21/05/16
4292
Аделаида
photon в сообщении #1314890 писал(а):
что и как теряет?

Деньги, которые он попытался перевести другому.

 Профиль  
                  
 
 Re: Блокчейн
Сообщение25.05.2018, 17:27 
Заслуженный участник


06/07/11
5627
кран.набрать.грамота
photon в сообщении #1314890 писал(а):
А можно для человека довольно далекого от этой всей темы пояснить, к чему в конечном итоге приведет эта атака. Понятно, что тот, кто атаку провел что-то выигрывает, а кто, что и как теряет?
Смысл атаки в том, что атакующий за одни и те же деньги покупает две услуги. Атакующий делает платеж, получает товар. В системе фиксируется транзакция, продавец имеет на счету сколько-то денег. Потом атакующий генерирует альтернативную транзакцию, в этой "альтернативной вселенной" продавец никаких денег не получал, на счету у него ноль. А товар он уже отдал.
В данном случае альтернативной транзакцией стал перевод денег самому себе.

 Профиль  
                  
 
 Re: Блокчейн
Сообщение25.05.2018, 17:31 
Заслуженный участник
Аватара пользователя


11/12/05
9953
photon
Честно говоря, я не специалист и имею весьма поверхностное понимание. Поэтому мне тоже было бы интересно обстоятельное объяснение. Я только лишь понял из анонса по ссылке, что криптоденьги теряет либо покупатель какого-то товара, либо продавец. Злодей перехватил транзакцию и вписал в получатели денег себя, а не продавца товара.

Если продавец успел выслать товар, то тогда в пролёте он. А если обнаружил откат или подлог, тогда пострадает покупатель, у которого деньги сняты.

-- Пт май 25, 2018 08:33:24 --

rockclimber в сообщении #1314897 писал(а):
В данном случае альтернативной транзакцией стал перевод денег самому себе.

А это даже ещё интересней.

 Профиль  
                  
 
 Re: Блокчейн
Сообщение25.05.2018, 17:45 
Экс-модератор
Аватара пользователя


23/12/05
12046
То есть, потеряет какое-то конкретное лицо (покупатель/продавец чего-то) - участник перехваченной транзакции, а остальные майнеры/криптовалютовладельцы и др. ничего не теряют даже косвенно? Или, вероятно, все-таки теряют из-за последующего снижения курса этой валюты(и будет ли оно это снижение)?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group