|
|
|
Протокол биткойна - вопросы для обсуждения
|
|||
|---|---|---|---|
|
#18+
1. Каким образом биткойн кошелек и/или протокол биткойн рассчитывает сколько у меня денег/достаточно ли денег: каждый раз он вынужден пробегать по цепочке blockchain и считать сумму всех транзакцией моего кошелька? 2. сообщение о моей транзакции, как я понимаю, сопровождается моим публичным ключем для подтверждения идентичности. Значит в пакете каждой транзакции биткойнов содержится еще и публичный ключ? 3. проверка получателем, действительно ли отправитель имеет деньги: авторБоб не просто идет вперед и принимает сделку. Вместо этого, он передает сообщение Алисы всей сети. Другие члены сети проверяют, имеет ли Алиса этот инфокоин. Если это так, они передают сообщение «Да, Алиса владеет инфокоином 1234567, теперь он может быть передан Бобу».Как только достаточное количество людей распространят этот послание в сети, все обновят свои цепочки блоков, которые будут показывать, что инфокоин 1234567 теперь принадлежит Бобу, и сделка завершена а) Т.е. если у нас в сети 100тыс человек, то все они проверяют мою транзакцию? б) что значит "достаточное кол-во людей"? Сколько это? в) В какой момент эти остальные люди меняют цепочку блоков у себя? : вот кто-то получает запрос на проверку, ок, проверил - совпало и что сразу обновлять? А что если у нескольких других не совпадет? г) Что случится если в сети появятся ну например 50тыс ботов на 100 тыс реальных пользователей, у которых будет совершенно своя история транзакций? д) если предположить, что в сети появился миллион или даже 10 миллионов ботов, которые бессмысленно посылают друг-другу минимальную сумму биткойнов, то получим аналог Dos атаки и сеть просто встанет? 4 автор"Существует способ избежать этой проблемы, используя идею, известную как доказательство правильности работы (proof-of-work). Идея парадоксальна и включает в себя сочетание двух других идей: (1) (искусственно) сделать подтверждение транзакций затратными для пользователей сети в виде компьютерных вычислений; и (2), вознаградить их за помощь проверки транзакций. ... Дэвид проверяет свою копию цепочки блоков, и видит, что каждая сделка годна. Он хотел бы помочь, отправив новость о годности сделок для всей сети. Тем не менее, прежде чем сделать это, как часть протокола проверки, Дэвиду требуется решить непростую вычислительную задачу — доказательство правильности работы. Без решения этой задачи, остальная часть сети не будет принимать его проверку сделок." Таким образом схематично мы имеем некую коробку в которой есть неподтвержденные транзакции и эта коробка закрыта неким шифром, который надо подобрать, прежде чем подтвердить транзакции. Соответственно возникают следующие вопросы: а) Как я понимаю, подтверждение - это и есть майнинг. А если это так, то в случае, если у нас в сети всего(упростим задачу) 10 пользователей и никто из них не хочет заниматься майнингом, то транзакции там и будут висеть необработанные? б) Получается что если подтверждает только майнер, то если у нас есть свои 2 бота которые подтвердят сфальсифицированную транзакцию то все ее примут? в) Если в сети работают 2 майнера, и первый нашел ключ быстрее второго, то второй никакого вознаграждения не получает? т.е. его компьютер продолжает работать в холостую? или там если получит сообщение о том, что кто-то уже нашел ключ, но он прекратит работу, начнет работать над другой задачей и так далее пока не бросит эту затею тк у других компьютеры мощнее? г) откуда берется вознаграждение за поиск ключа? Получается что в программе майнера стоит простое условие: если результат == ключу то баланс+=25 монет?? Если это так, то ведь ничего не мешает хакнуть такую программу. д) Кто "создает" и "запечатывает" в коробку транзакции пользователей и "выдумывает" для них ключ? е) Где вообще хранится эта "коробка" с транзакциями? Если сеть одноранговая, то у нас нет какого-то отдельного места где мы могли бы держать очередь и тп. Или каждый кошелек автоматом создает на каждой машине свою очередь и автоматом инкременирует ее номер после того как она заполнена? В таком случае как они синхронизируют номера для "коробок"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2014, 14:06 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38809531&tid=1341159]: |
0ms |
get settings: |
11ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
143ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 303ms |
| total: | 516ms |

| 0 / 0 |
