Вы явно не читали Bitcoin техническую документацию. Вы делаете много догадок о том, как Bitcoin работ из вещей, которые вы слышали unknowledgeable люди говорят, и многие из ваших догадок просто неправильны. Это приводит вас к очень недействительному пониманию системы. Пожалуйста, выбросить все, что вы думаете, что знаете о Bitcoin и читать Bitcoin техническую документацию, по крайней мере один раз, прежде чем попытаться понять, как Bitcoin работы:
https://bitcoin.org/bitcoin.pdf1. Как Bitcoin кошелек знает, сколько у меня денег?
Есть много кошельков. Точно, как это осуществляется, зависит от того, что бумажник вы используете. Вообще, хотя, ваши личные ключи и связанный с ним адрес хэш хранятся в кошельке. Бумажник поддерживает список неизрасходованных выходов из blockchain, которые связаны с этими адресами и добавляет их.
: Это пересчитать на основе цепочек битых монет или я просто использую некоторые переменный, чтобы сохранить информацию?
Как я уже сказал, это зависит от кошелька вы выбираете использовать. Вообще, хотя, бумажник будет суммироваться значениями неизрасходованных выходов и хранить эту сумму в переменном так, что он не должен повторять сумму каждый раз, когда он хочет, чтобы отобразить общее количество.
2. Если я правильно понимаю, каждый раз, когда я делаю операцию, я также отправить свой открытый ключ так, чтобы другие могли убедиться, что это сделано мной?
Есть несколько различных типов операций, но в наиболее распространенном типе сделки, да открытый ключ передаются. Ключ не передается так, чтобы другие могли убедиться, что это сделано вами. Это проверка проводится с подписью, которая вычисляется из секретного ключа. Открытый ключ просто послал, чтобы сэкономить время вычислений, так что программное обеспечение делает проверочные не нужно вычислить открытый ключ подписи.
Если да, то давайте представим следующую ситуацию:
Боб создает битовую монету бумажник и получает некоторые битовые монеты.
Алиса крадет открытый ключ Боба (который не является секретом) и имитирует сообщение монет бит, который говорит, что Боб передает Алисе 1 битой монету. Она использует открытый ключ Боба, чтобы проверить его.
На самом деле здесь мы имеем 2 ситуации: а) когда открытый ключ Боба уже используется в некоторых операциях. б) он никогда не использовал его раньше.
Это невозможно. Открытый ключ не используется для подтверждения сделки, подпись. Можно только создать правильную подпись с закрытым ключом. Секретный ключ никогда не включается в сделках, он используется только для вычисления подписи.
3.
Verifycation имеет ли отправитель денег:
Боб не только подтверждает сделку Алисы. Вместо этого он передает свое сообщение на всю сеть. Остальные проверить, имеет ли Алиса деньги или нет для этой сделки. Если положительный, они посылают сообщение "Да, Элис деньги", Сделка будет завершена, когда необходимое число членов подтверждает это. И после этого, всякий список цепи будет показан, что в настоящее время Боб 1 монета Алиса перевела его.
Нет, это не то, как Bitcoin работает на всех. Вы должны, вероятно, потребуется некоторое время, чтобы прочитать Bitcoin техническую документацию:
https://bitcoin.org/bitcoin.pdfАлиса создает транзакцию, которая определяет, какие именно неизрасходованные выходы она тратит. Программное обеспечение Боб может проверить свой собственный список неизрасходованных выходов, чтобы проверить, что эти выходы фактически неизрасходованные. В транзакции Алиса включает в себя цифровую подпись для каждого неиспользованного вывода, что она включает в себя в качестве входных данных. Каждый неизрасходованный выход обременены с требованием поставить цифровую подпись с помощью закрытого ключа, связанного с конкретным ключом хэша общественности. Программное обеспечение Боб может подтвердить эти подписи и знает, что Алиса выполнила требование и, следовательно, имеет право перераспределять значение, связанное с этими неизрасходованными выходами к нему, создавая новый неизрасходованный выход, который обремененный с требованием поставить подпись от секретного ключа что связано с открытым ключом хэша Боба (также известный как Bitcoin адрес). Это позволяет Боб проверить сделку без какой-либо помощи со стороны кого-либо еще.
Так как это возможно, что Алиса могла бы послал другую сделку, которая проводит те же самые неизрасходованные выходы к кому-то еще, и Боб может не знать об этом, система нуждается в распределенную систему времени, которая может определить, какая сделка произошло "первый", Это цель добычи. Шахтеры выполнить много времени задачи, и, когда они завершают эту задачу успешно они получают транслировать блок операций, который связан с предыдущим блоком. Если Боб видит сделку Алисы в этом блоке, то он знает, что шахтер увидел, что сделка "первый" (До любой другой сделки, которые могли бы попытаться провести те же неизрасходованные выходы). Все шахтеры, которые видят, что блок будет игнорировать любые другие сделки, что Алиса пытается отправить потратив те же неизрасходованные выходы.
а) Что делать, если у нас есть 100K членов или даже 1 миллион, все они должны проверить сделку друг друга?
Нет. Только те, которые работают "полные узлы" (Что хранить и совместно использовать весь blockchain) должны проверить каждую транзакцию. Есть легкие бумажники, которые не хранят весь blockchain, и услуги, которые могут предоставить бумажники с интерфейсом.
б) что это значит "необходимое количество членов"? Сколько?
Я не знаю, о чем вы спрашиваете. Это, вероятно, потому что вы не понимаете, что вы спрашиваете.
г)
Вы пропустили "с"
Когда другие изменения списка цепи на своих компьютерах? : Скажем, Боб получил запрос, чтобы проверить некоторые сделки. ОК. Готово. Поэтому следует Боб немедленно изменить цепь после этого? Что делать, если Боб подтверждает и изменения, но Джон не подтверждает?
Нет, если Боб работает полный узел, то его программное обеспечение хранит список "неподтвержденный" сделки. Эти операции, программное обеспечение Боб увидело, но горняк до сих пор не включен в блоке. Его программное обеспечение также сохраняет blockchain (список каждого действительного блока, который он получил до сих пор). Программное обеспечение Боб немедленно добавляет действительные новые транзакции в свой список "неподтвержденный" сделки, как он получает их, а затем удаляет транзакцию из списка "неподтвержденный" сделки, когда он видит сделку в блоке.
е) Что произойдет, если 50% поддельных члены (боты) будут иметь свой собственный список цепи?
Затем они создали свою собственную альтернативную монету. Поскольку их цепь не будет завершена достаточно работы на трудоемкие задачи, остальная часть сети не будет признавать их цепь как действует.
е) Представьте себе, что есть миллион или даже 100 миллионов роботов, и они посылают друг другу некоторые очень небольшое количество битов монеты. Они делают это без каких-либо целей. Так что это означает, что мы получаем любопытное Dos атаки?
Да. Тем не менее, большинство узлов сети отказываются принимать или передавать транзакцию с очень небольшим количеством Bitcoin, если сделка также не платит за операции, по крайней мере, 0,0001 BTC. Это означает, что атака DDOS будет стоить нападающего 1 BTC на каждые 10000 операций, которые они посылают.
4
Я это понимаю "достаточное количество членов" просто использует следующую идею:
Кто-нибудь может подтвердить переход только в том случае, если он устраняет обнаруженную "задача", И для этой работы он получает 25bitcoins.
Я снова не уверен, что вы говорите, когда вы говорите, "достаточно членов",
При добыче, хотя вы правы, что протокол требует шахтера, чтобы доказать, что они завершили трудоёмку задачи. После того, как они могут обеспечить это доказательство, они могут передавать соответствующий блок операций. В обмен на эту услугу, шахтер получает включить специальную операцию, которая платит ему 25 BTC, которая не существовала до блока, а также платить ему все операционные издержки от всех сделок, которые входят в блок.
Давид проверяет список своих блоков цепей и видит, что сделка является правильной. Он хочет, чтобы поделиться новостями по сети: транс действие является правильным.
Но прежде, чем он это делает, как часть задачи проверки, Дэвид должен решить некоторые "задача", Без него другие не будут рассматривать его подтверждение.
Схематически мы имеем любопытное окно с неподтвержденными сделок. И это окно запирается ключом. Таким образом, задача для Давида, чтобы найти этот ключ, чтобы отпереть ящик и подтверждения сделки.
Это на самом деле не очень хороший способ, чтобы посмотреть на него. Вы действительно, действительно, действительно должны прочитать Bitcoin технической документации:
https://bitcoin.org/bitcoin.pdfПрограммное обеспечение Дэвида смотрит на список операций, которые еще не в какой-либо блок, программное обеспечение, Дэвид знает. softwware Давида выбирает, какой из этих неподтвержденных операций он хотел бы подтвердить. Он собирает все выбранные неподтвержденные транзакции вместе в блок и вычисляет блок заголовок, который специфичен только для этого точного перечня сделок. Он включает в себя специальную операцию, которая заплатит David 25 BTC плюс сумму сборов сделки от всех выбранных сделок. Затем программное обеспечение Дэвид пытается завершить некоторую доказуемую работу над этим заголовком. Если Дэвид сможет завершить доказуемую работу до любой другой шахтер завершает доказуемую работу на блоке они работают, то Дэвид получает вещать свой законченный блок. Если кто-то завершает блок первого и Дэвид узнает об этом, то он начинает все сначала.
Таким образом, имея на следующие вопросы:
а) как другие знают, решены ли Давид задачу или нет?
Задача состоит в том, чтобы вычислить хэш, который имеет достаточно низкое значение. Вычисленное хеш включено в заголовке Fo блока. Все, что получает блок, который Дэвид вещает может проверить, что это правильный хеш для блока и что значение является достаточно низким. Если это не правильный хеш для блока или, если это не достаточно низкое значение, то блок Давида отвергается все в сети.
б) насколько я понимаю, подтверждение ничего, кроме добычи! Если да, то в случае, если мы не скажем, только 10 пользователей в сети, и ни один из них шахты, мы получим огромный список неподтвержденных операций и эта работа подтверждения не будет сделана, если один из них не будет убеждена, чтобы начать добыча?
Верный. Подтверждения не будет происходить, если не будет по меньшей мере, один узел, который "добыча",
в) Если это так, и только шахтер может подтвердить сделки, то в случае, если Алиса подтвердит поддельные транзакции все будут принимать его?
Какие поддельные транзакции? Если Алиса посылает 2 транзакции, и проводят те же ранее неизрасходованных выходы, и ни одна из операций подтверждается еще, то "реальный" сделка в зависимости от того сделка входит в блок первой, а другая сделка становится недействительной и исчезает.
d) Представьте, что мы имеем только 2 шахтеров в сети. Первый шахтер нашел ключ first.Does это означает второй не получит монеты для своей работы?
Верный. После того, как один шахтер транслирует действительный блок, все шахтеры, как правило, начинают все более работать на новом блоке.
Если это так, мы имеем ситуацию, что только шахтер с самым мощным ПК всегда будет зарабатывать и, следовательно, другие шахтеры в конечном итоге остановить добычу.
Имея самый мощный компьютер не гарантирует, что вы будете решать блок первой. Это просто увеличивает ваши шансы. Это невозможно знать, сколько хэши потребуется решить блок, который шахтер работает над, и каждый шахтер работает на другом блоке с другим набором хэшей. Очень медленный компьютер может успешно найти хэш после вычисления 5-хэша на их блоке, в то время как чрезвычайно мощный ПК, возможно, потребуется вычислить 100000000 хэш на их блоке, прежде чем они успешно найти один с достаточно низким значением.
д) Как шахтер получает свою награду за нахождение ключа? Я имею в виду то, что является источником этих денег? :
Является ли это STH как его горнорудного приложение просто проверяет условие: если результат == ключ, то баланс + = 25 монет?
Если да, то кто-нибудь может взломать такое приложение.
Нет. Как я уже говорилось, протокол позволяет каждому блоку, чтобы включать в себя ровно 1 транзакцию, которая имеет выходы, но который не имеет эквивалентное или большее значение в входов. Протокол требует, что результаты этой сделки быть меньше или равна сумме текущего блока субсидий и операционных сборов всех операций в блоке. Если выходы больше, чем это, то каждый узел в системе будет отклонять блок как недействительные и отказывается принять его в свою копию blockchain.
е) Кто создает и блокирует "коробка" сделок и сочиняет ключ для коробки?
Существует не ящик, а там нет ключа. Каждый узел системы проверяет, что блок действует, прежде чем принять его или передать его кому-либо еще.
г) Где эта коробка находится?
Нет "коробка"
Насколько мы говорим о сети p2p, нет специального места, где мы могли бы держать в очереди и т.д.
Каждые сверстники в сети сохраняет свой собственный список неподтвержденных операций и их собственную копию blockchain.
Или, может быть, каждый кошелек, на каждом компьютере, автоматически создает очередь и автоматически увеличивает его количество после коробки полно?
Там нет коробки. Там нет ничего "заполнить",
Тогда как они синхронизировать работу
Каждый узел принимает первый блок, который они получают. Если они получают блок, который не принадлежит к цепочке, то они сравнивают общую работу по их цепи к общей работе цепи с новым блоком и принимать в зависимости от того цепи имеет более общую работу.
и что если Алиса взломан ее приложение, и он использует слабый ключ?
Существует не ключ. Существует доказательство работы, которая должна быть выполнена. Если Алиса не завершает соответствующее доказательство работы, то остальная часть сети будет игнорировать ее неверный блок.
5) В случае, если наша бен монета цепь имеет раскол, другие считают тот, который больше, и это "Дорога" рассматривается как реальный. Мы знаем, что каждая цепь имеет идентификатор предыдущей и так далее.
Так что, если Алиса будет генерировать более длинную цепь? В этом случае ее цепь будет считаться правильным, нет?
До тех пор, как ее цепь завершила соответствующее доказательство работы? Затем ее цепь будет принята как правильная. В Bitcoin, когда речь идет о "длинная цепь" что на самом деле означают это цепь с наибольшим количеством веского доказательства работы.
6) Bitcoin может быть принято на множество кусков.
Верный. Наименьшее целое число единица значения в пределах протокола прямо сейчас эквивалентно 0,00000001 BTC. Это в настоящее время невозможно перенести суммы меньше, чем это в протоколе Bitcoin.
Например, предположим, что Алиса имеет 1 бит монету, и это серийный номер 123456
Там нет серийных номеров в протоколе Bitcoin.
Теперь Алиса посылает 0,5 битную монету Бобу
До этой сделки, Боб уже 0,5 битной монеты
ОК.
(Предполагая, что даже часть битовой монеты имеет серийный номер, серийный номер 0,5 битовой монеты Боба был 98765)
Там нет серийных номеров в протоколе Bitcoin.
Так что теперь Алиса имеет 0,5 битную монету с серийным номером 123456
И Боб:
0,5 бита монета с серийным номером 98765 и 0,5 битовой монеты с номером 98765?
Нет, это не то, как Bitcoin работает. Там нет серийных номеров в Bitcoin.
Таким образом, каждый член должен поддерживать огромное количество мелких деталей, а их объединение?
Части могут быть объединены. Операции имеют входы (которые поставляют значение сделки из ранее неизрасходованных выходов), а также новые неизрасходованные выходы. Сделка может иметь несколько входов и один выход. Это объединение нескольких ранее неизрасходованных выходов и создаст один новый неизрасходованный выход с общей стоимостью всех ранее неизрасходованных выходов.