Author

Topic: Новичкам сюда! - FAQ - page 296. (Read 1688106 times)

newbie
Activity: 1
Merit: 0
February 03, 2012, 08:04:30 AM
скачал Bitcoin-бумажник..закинул деньги на киви...поменял их через  https://metabank.ru/ жду уже 4 часа и никак не идут и синхронизация с сетью очень долго загружается всего 4%(хотя скорость 30мb в секунду)
newbie
Activity: 16
Merit: 0
February 02, 2012, 06:12:53 AM
Aleck, вы рассуждаете о протоколе и алгоритме с позиции старой идеалогии централизации, когда клиенты общаются с сервером с фиксированной версией и правилами.

Да я понимаю, что p2p это не клиент-сервер. Поэтому и задаю вопросы, чтобы узнать, как именно регламентированы различные моменты. Я понимаю, что такие моменты, как размер комиссии, количество транзакций в блоке и даже частота блоков легко изменяется в исходном коде. Но по факту-то эти моменты все равно как-то регламентированы в официальном клиенте. А официальный клиент, как я полагаю, в среднесрочной перспективе все равно будет оставаться ориентиром для остальных узлов.

Большинство моих вопросов имеет смысл именно в такой интерпретации: как это реализовано на данный момент в официальном ПО.

А то, что "в открытом ПО возможно всё" это и так понятно. Просто иногда становится непонятно, зачем вообще как-то ограничивать размер блока, если "в будущем, когда мы упремся в это ограничение, его можно будет подправить"? Может его проще сразу не вводить? С другой стороны, раз его ввели, мне интересно узнать зачем, с какой целью? Если это сделано, чтобы создать разницу для генерирующих узлом между платными и бесплатными транзакциями, тогда интересно, а как дела обстоят сейчас: какой лимит от максимального размера блока исчерпан, принимают ли в массе своей узлы бесплатные блоки, какой размер средней транзакции и соответственно средний размер комиссии? И т.д.

p.p.s. на данный момент, пока проект bitcoin развивающийся, у него есть узкие места централизации - домен bitcoin.org, его владельцы, и наверное его разработчики (владельцы аккаунта на sourseforge и git). Уже благодаря наличию финансовой заинтересованности некоторых/многих участников, таких как, например, крупнейшие пулы майнинга и обменные биржи, мониторящих изменения в клиенте и возможно самостоятельно перенося изменения из основной ветки кода клиента в свою. При появлении серьезных расхождений в коде с идеологией как минимум будут возмущены этим положением.

Вот это, на мой взгляд, и является главным риском проекта. Если на каком-то этапе возникнет конфликт между тяжеловесами проекта, то это может привести к глобальному сплиту сети и появлению независимых версий проекта.

Кстати, а нет ли где-нибудь информации, какой максимальной длины цепочки отбрасывались за нынешнюю историю биткоина? Хочется оценить ситуацию, в целом всё спокойно и расхождение не выходят за пределы 1-2 блоков, или были более серьезные разделения? И если были, то в чем причина: во временной несвязности сети, или в реальной конкуренции?
legendary
Activity: 1120
Merit: 1069
February 02, 2012, 02:57:49 AM
Aleck, вы рассуждаете о протоколе и алгоритме с позиции старой идеалогии централизации, когда клиенты общаются с сервером с фиксированной версией и правилами.

В 'протоколе bitcoin' формально необходимо фиксировать очень не много - метод организации распределенной mesh-сети, идеологию организации блоков в цепочку, организация эмиссии, поддержка транзакций и контроль за их проведением (есть пока очень серьезное искусственно введенное ограничение - в транзакициях вида OP_EVAL или что то аналогичное, если уже не снято в 0.5 версии).

Все остальное оставлено на фантазию сторонних и независимых разработчиков! Ограничение размера данных в блоке? - константа в 1 миллион байт в исходниках, легко меняется. Как только его станет не хватать, первыми это заметят пулы майнинга и быстренько поправят (остальные все равно будут принимать такие блоки).

Размер транзакции сейчас зависит от фантазии и здравого смысла разработчиков официального клиента. Вы можете скомпилировать версию клиента с другой величиной минимальной комиссии (так же константа в исходниках), или даже убрать в коде вычисление ее в зависимости от сложности транзакции. Просто когда-нибудь наступит момент, когда транзакции с низкой комиссией будут игнорироваться пулами майнинга (например в конце 2012 года когда будет уменьшена награда за майнинг с 50 до 25 монет и пулы будут финансово заинтересованы в высоких комиссиях - кстати очень нехороший момент и 'уязвимость' сети в глобальном смысле).

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

Способ организации mesh-сети не фиксирован, какой клиент подключается к другому и по какому алгоритму, решает каждый клиент, это просто не принципиально, откуда был получен IP-адрес клиента, из настроек, из кеша/истории, или irc-канала или непонятный, новый для меня, dns-seed...

p.s. Если я правильно помню, основной набор правил был сформулирован и опубликован Сатоши в объемном pdf файле, ссылки пока найти не могу, но в вики наверняка он есть.

p.p.s. на данный момент, пока проект bitcoin развивающийся, у него есть узкие места централизации - домен bitcoin.org, его владельцы, и наверное его разработчики (владельцы аккаунта на sourseforge и git). Уже благодаря наличию финансовой заинтересованности некоторых/многих участников, таких как, например, крупнейшие пулы майнинга и обменные биржи, мониторящих изменения в клиенте и возможно самостоятельно перенося изменения из основной ветки кода клиента в свою. При появлении серьезных расхождений в коде с идеологией как минимум будут возмущены этим положением.
newbie
Activity: 16
Merit: 0
January 31, 2012, 10:22:22 PM
Хешируется так называемый заголовок блока, он включает только важную информацию:
версия ПО, хеш предыдущего блока, хеш транзакций, текущее время, target сложности и
nonce, который инкрементируется после каждой попытки хеширования заголовка блока.

Ага, ясно главное: количество транзакций не влияет на вычислительную сложность. Т.е. ограничение на размер блока продиктовано чем-то другим. Чем, кстати?

И заодно так, чтобы уточниться...
Значит, какие действия делает узел, когда проверяет транзакцию на валидность в плане "Откуда деньги, Зин?". В проверяемой транзакции, как я понимаю, должна быть ссылка на блок (может быть даже очень древний), содержащий информацию, откуда у этого адреса взялись эти деньги. Далее узел достает этот древний блок из своего (или коллективного) хранилища. Дальше что?

Расчитываем хеш транзакций, указанных в этом блоке. Затем хешируем заголовок блока. Убеждаемся, что полученный хеш блока совпадает с тем, что указан в проверяемой транзации (т.е. деньги узлом не придуманы, а действительно получены в результате в результате предыдущей валидной транзакции). Всё, транзакция валидна. Или что-то пропустил?


Сначала помещаются оплаченные транзакции, если же еще остается место - бесплатные.

Сначала те, которые с комиссией - это требование протокола, или разумное решение узла, пакующего блок? По духу предполагаю, что второе.


На самом деле, места в блоке на сегодня вполне достаточно,

Какая, всё-таки, ёмкость блока? Насколько реальна ситуация что солнце погаснет сеть будет порождать больше транзакций, чем их можно упаковать в блоки, генерируемые, в среднем 6 раз в час?


просто разработчики решили, что
уже пора активно собирать комиссию, так как скоро награда за блок уменьшится с 50 до 25 BTC,
и к тому же это остановит засорение цепочки блоков дешевыми переводами. Разумное решение.

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


Кто вообще определяет, какие именно транзакции войдут в блок?
Еще некоторое влияние оказывают узлы, которые не занимаются самой
генерацией, так как есть правила, при которых они передают перевод остальным узлам.

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

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

Что, кстати, произойдет, если узел сам упакует блок, содержащий невалидную транзакцию? Этот блок будет отвергнут другими участниками? Как вообще проверяется сетью найденный блок на наличие таких "закладок"?

Может ли вобще (в рамках протокола) быть описана невалидная транзакция, содержащая перечисление несуществующих у адреса денег?

Какой исходный адрес указан у транзакции при получении эмиссионных денег? Или в рамках протокола это какой-то особый тип транзакции?


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

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


Что такое даркнет? )))
Это настоящий Peer-to-Peer/Friend-to-Friend. Вы, допустим, доверяете мне и просите меня
дать свой IP-адрес для подключения к запущенному на моем компьютере Bitcoin, а я же
подключен к тем узлам, которым доверяю я, и так далее. Нам достаточно использовать
опцию -connect=адрес_IP для организации даркнета, только друзья знают IP адреса всех
своих друзей и не заинтересованы в действиях против друзей, а третьи лица не знают IP.
По умолчанию же адрес публикуется в списках, подконтрольных небольшой группе лиц.

Фактически, это получается доверенная p2p-сеть? Т.е. сеть, состоящая из узлов, которые доверяют друг-другу напрямую или опосредованно (через другие узлы)?

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

Как регламентируется вопрос, с какими именно пирами соединен узел сети? Он сам их выбирает из числа доступных? Есть ли какое-то ограничение на количество установленных соединений?


Да, Сатоши Накамото, кем бы он ни был, явно гений. А рождение Биткоин это величайшее
событие начала 21 века. Поддерживая Биткоин, мы вносим вклад в историю человечества.

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

Впрочем, мне нравится сама идея биткоин. Мне нравится её дерзость, сбалансированность и продуманность основ. Главное теперь не просрать развитие проекта, не дискредитировать его амбициями лидеров, выработать стратегию развития как в техническом, так и в экономическом, политическом и социальном аспектах. Разумеется это уже область компетенции тех же лидеров. А я, как простой участник, в свою очередь, готов в нее отчасти вложиться, что называется, идейно, т.е., понимая, что это, всё-таки, больше венчурный проект, который может в итоге либо сильно развиться, либо его ждет трагическая судьба. Третьего не дано, уж очень у него мощная культовая закваска. )
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
January 31, 2012, 01:31:18 PM
А перенос между одинаковыми ОС безопасен?
Между однинаковыми ОС и одинаковой версией Bitcoin (или по крайней мере не меньшей).

И как лучше сделать что бы не профукать в одночасье все свои BTC ?
Запустить Bitcoin с опцией -keypool=1000 и закрыть Bitcoin, когда он запустится;
проверить в Диспетчере задач, что он закрыт; поместить файл wallet.dat в архив
(можно 7-Zip) под надежным паролем, и раздать этот архив всем своим друзьям.

И известно ли, на что тратятся такие огромные вычислительные мощности?
На накопление Proof-of-Work. Чтобы поиметь биткоины, хакеру нужно приложить
не меньший Proof-of-Work, то есть проделать не меньшую работу, чем вся сеть. Smiley

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

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

Или там совсем старые (ну, допустим более 100 блоков, т.е. верняк 100%) транзакции клиент может удалять?
Допустим, я отправлю биткоин, который получил год назад, для проверки этого биткоина
потребуется очень древний блок, а если есть недоверие к этому блоку, то и более старые.
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
January 31, 2012, 01:02:35 PM
Если я правильно понимаю, подрасчет попадают только хеш-суммы транзакций.
Хешируется так называемый заголовок блока, он включает только важную информацию:
версия ПО, хеш предыдущего блока, хеш транзакций, текущее время, target сложности и
nonce, который инкрементируется после каждой попытки хеширования заголовка блока.

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

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

Quote
Расхождений быть не должно, так как правила для всех общие.
Ну расхождения теоретически как раз быть могут.
Да, но лишь до момента окончания сплита сети, так что я это даже не рассматривал.

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

Что такое даркнет? )))
Это настоящий Peer-to-Peer/Friend-to-Friend. Вы, допустим, доверяете мне и просите меня
дать свой IP-адрес для подключения к запущенному на моем компьютере Bitcoin, а я же
подключен к тем узлам, которым доверяю я, и так далее. Нам достаточно использовать
опцию -connect=адрес_IP для организации даркнета, только друзья знают IP адреса всех
своих друзей и не заинтересованы в действиях против друзей, а третьи лица не знают IP.
По умолчанию же адрес публикуется в списках, подконтрольных небольшой группе лиц.

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

Блин, чем больше знакомлюсь с системой биткоин, тем больше поражаюсь гениальности её авторов.
Да, Сатоши Накамото, кем бы он ни был, явно гений. А рождение Биткоин это величайшее
событие начала 21 века. Поддерживая Биткоин, мы вносим вклад в историю человечества.
member
Activity: 85
Merit: 10
January 31, 2012, 03:40:19 AM
Т.е., фактически, при таких условиях бескомиссионная транзакция может оставаться неподтвержденной неограниченное время?

Именно.

Quote
Нифига себе! Так это получается, что весь трафик сети каждый узел вынужден накапливать у себя? Или там совсем старые (ну, допустим более 100 блоков, т.е. верняк 100%) транзакции клиент может удалять?

Теоретически может удалять, но на практике хранит у себя. Сейчас это порядка 1,8G.
legendary
Activity: 1120
Merit: 1069
January 30, 2012, 11:06:13 PM
Нифига себе! Так это получается, что весь трафик сети каждый узел вынужден накапливать у себя? Или там совсем старые (ну, допустим более 100 блоков, т.е. верняк 100%) транзакции клиент может удалять?
это p2p, тут вам не server-side ,тут все по взрослому, все должны делать все сами...

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

p.s. пул транзакций так же как я понимаю имеет ограничение, только не знаю, как сортируются в нем транзакции, по времени их создания или для каждого клиента по времени их попадания в пул.
newbie
Activity: 16
Merit: 0
January 30, 2012, 07:38:06 PM
На текущей момент транзакции без комиссий по прежнему принимаются, если верить blockexplorer. На тот момнет, когда они не будут приниматься ни одним из генерирующих узлов сети то единственным способом ее провести действительно будет самостоятельная генерация блока с этой транзакцией.

Т.е., фактически, при таких условиях бескомиссионная транзакция может оставаться неподтвержденной неограниченное время?

Quote
Т.е. узлам фактически без разницы: добавлять в блок бескомиссионные транзакции, или нет. Или разница как раз проявляется из-за ограничения объема блока. Т.е. узлу выгоднее составить потенциальный блок в основном из тех транзакций, в которые выше комиссия, так получается?

Верно.

А какое действует ограничение на объему/количество транзакций в блоке? Это какая-то константа, или протокол допускает пересмотр этого значения со временем?

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

Нифига себе! Так это получается, что весь трафик сети каждый узел вынужден накапливать у себя? Или там совсем старые (ну, допустим более 100 блоков, т.е. верняк 100%) транзакции клиент может удалять?
member
Activity: 85
Merit: 10
January 30, 2012, 05:49:30 PM
Про обязательность комиссии. Т.е. сейчас официальный биткоин-клиент по умолчаию добавляет в каждую транзакцию какую-то комиссию (пропорциональную размеру в килобайтах)? А если я инициировал (путем модификация кода допустим) бескомиссионную транзакцию, то что, единственным способом включить её в блок, это самому посчитать такой блок? Большинство других узлов такую транзакцию отвергнет?
На текущей момент транзакции без комиссий по прежнему принимаются, если верить blockexplorer. На тот момнет, когда они не будут приниматься ни одним из генерирующих узлов сети то единственным способом ее провести действительно будет самостоятельная генерация блока с этой транзакцией.

Quote
Т.е. узлам фактически без разницы: добавлять в блок бескомиссионные транзакции, или нет. Или разница как раз проявляется из-за ограничения объема блока. Т.е. узлу выгоднее составить потенциальный блок в основном из тех транзакций, в которые выше комиссия, так получается?
Верно.

Quote
Т.е. каждый узел сети получает, хранит у себя и делится по запросу с другими узлами информацией о всех совершенных сетью транзакциях, и информацией о цепочке блоков, начинася с самого первого?
Верно.
newbie
Activity: 16
Merit: 0
January 30, 2012, 03:16:45 PM
И известно ли, на что тратятся такие огромные вычислительные мощности?

Да. На обеспечение высокой степени защищенности системы в целом.
newbie
Activity: 3
Merit: 0
January 30, 2012, 09:24:49 AM
Перенос биткоинов между разными операционными системами методом копирования или
перемещения wallet.dat не рекомендуется, так как версия Berkeley DB может отличаться.
Безопасным вариантом является простая отправка биткоинов с одного адреса на другой.
Запросите биткоин-адрес клиента под Ubuntu и отправьте на этот адрес из под Windows.

А перенос между одинаковыми ОС безопасен? И как лучше сделать что бы не профукать в одночасье все свои BTC ?

И известно ли, на что тратятся такие огромные вычислительные мощности?

Благодарю за ответы Wink
newbie
Activity: 16
Merit: 0
January 30, 2012, 08:10:01 AM
Тут я не могу согласиться, так как вопросы вовсе не глупые,
а на некоторые я сам не могу с ходу дать развернутый ответ.

Ну я специально прочел FAQ и всю ветку. И задал те вопросы, которые остались после этого )
Большое спасибо за развернутые ответы, прямо хоть в FAQ не добавляй.

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

Хешируется лишь заголовок блока, а не весь блок со всеми переводами.

Если я правильно понимаю, подрасчет попадают только хеш-суммы транзакций. Т.е., грубо говоря, вот есть транзакция (документ, в котором написано кому и сколько перекинуть), есть квиточек от этого документа (его хеш-сумма), который строго соответствует содержанию документа. При расчете блока собираются несколько таких "квиточков" и к ним подбирается такой nonce (самый верхний листочек), с которым весь блок выглядит аккуратно и красиво.

и есть
ограничения на максимальный объем, так что блок нельзя перегрузить.

А ограничения на максимальный объем в килобайтах или в количестве транзакций? (Хотя, это одно и то же, наверное.)

Получает ли майнер (пул) какую-то выгоду от того, что не включает в блок транзакции без комиссии?
Ответ - нет (если исключить фактор принуждения к оплате комиссии).
[...]
Но, если большинство таких майнеров требует обязательной комиссии,
это повысит их доход, так как у пользователей особо не будет выбора.
[/quote]

Т.е. узлам фактически без разницы: добавлять в блок бескомиссионные транзакции, или нет. Или разница как раз проявляется из-за ограничения объема блока. Т.е. узлу выгоднее составить потенциальный блок в основном из тех транзакций, в которые выше комиссия, так получается?


Кто вообще определяет, какие именно транзакции войдут в блок?
Еще некоторое влияние оказывают узлы, которые не занимаются самой
генерацией, так как есть правила, при которых они передают перевод
остальным узлам.
[/quote]

Не очень понял, что за механизм имеется в виду. Можно поподробнее?

Кем и где рассчитывается сложность?
Всеми узлами. Расхождений быть не должно, так как правила для всех общие.

Ну расхождения теоретически как раз быть могут. Например, потому что у разных узлов может оказаться различная информация о времени, затраченном на генерацию послеждних 2016 блоков. Причиной может быть рассинхронизация часов, скорость распространения по сети и просто ветвление (т.е. одни узлы считают, что последний блок уже сгенерирован, а другие считают, что еще нет).

Но с этим уже понятно. В итоге побеждает та сложность, которая получилась по расчетам большинства узлов сети.

Кем и где фиксируются транзакции, которые майнеры объединяют затем в блоки?
Соло-майнеры и пулы.

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

Это обычная реализация Peer-to-Peer.
Если клиент еще ни к кому не подключался, то списочек узлов он
получит через группу хостов, которые контролируются лидерами
проекта. Но и никто не запрещает организовывать свой даркнет.

Что такое даркнет? )))
Несвязанная с основной массой узлов подсеть?

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

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

Блин, чем больше знакомлюсь с системой биткоин, тем больше поражаюсь гениальности её авторов. Это ж надо создать такую сбалансированную продуманную систему! Для меня это изобретение стоит на одном уровне с телеграфом, радио, телевидением, сотовой связью и интернетом.

LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
January 30, 2012, 07:55:32 AM
Можно ли на нем майнить, и не приведет ли это к выходу из строя ноутбука?
Ноутбуки и так хорошо греются, а если еще и майнить, то это сократит срок службы.

И еще есть вопрос, где стандартный кошелек хранит биткоины, и как обстоят дела с их переносом с винды на например убанту.
Под Windows в %APPDATA%\Bitcoin дириктории можно найти файл wallet.dat - это он и есть.
А под всеми Linux системами файл wallet.dat расположен в скрытой ~\.bitcoin\ дириктории.
Перенос биткоинов между разными операционными системами методом копирования или
перемещения wallet.dat не рекомендуется, так как версия Berkeley DB может отличаться.
Безопасным вариантом является простая отправка биткоинов с одного адреса на другой.
Запросите биткоин-адрес клиента под Ubuntu и отправьте на этот адрес из под Windows.
newbie
Activity: 16
Merit: 0
January 30, 2012, 07:14:55 AM
Чуть понятнее раскрою про расчет сложности и децентрализацию:

 Каждые ~2000 блоков все клиенты дружно пересчитывают сложность, правым останется тот клиент, кто первым найдет блок с новой сложностью (более точно, чей блок следующим включит в цепочку следующий майнер, и т.д.. т.е. чья цепочка длиннее).


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

Еще тогда вопрос про сложность: как я понимаю, сложность определяется требованием к определенному количеству идущих подряд нулей в младших битах двоичного представления хеша рассчитываемого блока. Корректно ли будет считать, что добавление каждого "нолика" в требования к хеш-сумме увеличивают среднее время поиска в 2 раза. Или там совершенно другая зависимость?

Иными словами, мне интересно, насколько точно система может тюнинговать требования к сложности.
newbie
Activity: 3
Merit: 0
January 30, 2012, 06:31:19 AM
Здравствуйте, уважаемые.

Имеется ноут с карточкой Radeon 4330. Можно ли на нем майнить, и не приведет ли это к выходу из строя ноутбука?

И еще есть вопрос, где стандартный кошелек хранит биткоины, и как обстоят дела с их переносом с винды на например убанту.

Спасибо. Smiley
legendary
Activity: 1120
Merit: 1069
January 30, 2012, 05:14:04 AM
Чуть понятнее раскрою про расчет сложности и децентрализацию:

Все клиенты работают так как будто каждый из них 'главный и единственный'. Все работают именно с той базой блоков, которые успели загрузить, на основании этой базы каждый клиент вычисляет сложность, если к клиенту подключены прогарммы-майнеры, то каждый bitcoin-клиент выдает именно свою задачу, какой он ее видит. Каждые ~2000 блоков все клиенты дружно пересчитывают сложность, правым останется тот клиент, кто первым найдет блок с новой сложностью (более точно, чей блок следующим включит в цепочку следующий майнер, и т.д.. т.е. чья цепочка длиннее).

Если клиент видит что по сети к нему приехали несколько блоков с общим корнем (развлетвление), то будет принят каждым конкретным клиентом именно тот блок, чья цепочка длиннее и, естественно, параметры которого не противоречат выкладкам самого клиента, например клиент посчитал что текущая сложность 1кк, а к нему приехал блок со сложностью 500к... этот блок даже не будет рассматриваться и сразу будет отклонен. В результате должна быть только одна цепочка.
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
January 30, 2012, 02:33:59 AM
Теперь хочу задать свои первые 10 глупых вопросов о биткоин
Тут я не могу согласиться, так как вопросы вовсе не глупые,
а на некоторые я сам не могу с ходу дать развернутый ответ.

Не могу понять, является ли комиссия обязательной или нет?
Оба варианта по своему верны. С одной стороны, если отключить в исходниках
Bitcoin оплату комиссии и сгенерировать блок со своей транзакцией, то это не
будет нарушением логики системы. Но с другой стороны, так как мощностей
не хватает для генерации блока в одиночку, приходится подчиняться тем
правилам, что диктует доминирующая часть биткоин клиентов и майнеров.
Эти правила не являются основной частью логики Bitcoin и работают поверх,
кроме того они меняются от внешних факторов (вроде изменения курса BTC).

Зависит ли сложность в вычислительном плане от количества обрабатываемых транзакций? А от размера этих транзакций?
Ответ - дважды нет (если опустить факторы вроде "эффекта бабочки").
Хешируется лишь заголовок блока, а не весь блок со всеми переводами.
Подготовка же содержимого блока занимает очень малое время, и есть
ограничения на максимальный объем, так что блок нельзя перегрузить.

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

Кто вообще определяет, какие именно транзакции войдут в блок?
Соло-майнеры и пулы, все генерирующие полноценные серверы bitcoind.
Они могут придерживаться тех правил по умолчанию, что разработчики
Bitcoin прописывают в bitcoind, но могут и менять по своему усмотрению.
Еще некоторое влияние оказывают узлы, которые не занимаются самой
генерацией, так как есть правила, при которых они передают перевод
остальным узлам. Если настроить клиент на соединение сразу с пулом,
то будут задействованы только правила данного пула и, конечно, все
общие правила работы системы, которые ни за что нельзя нарушать.

Кем и где рассчитывается сложность?
Всеми узлами. Расхождений быть не должно, так как правила для всех общие.

Кем и где фиксируются транзакции, которые майнеры объединяют затем в блоки?
Соло-майнеры и пулы. То есть самые обычные полноценные узлы, которые
занимаются генерацией. Если какой-то узел отправит перевод, то он будет
распространен среди все узлов, к которому был подключен отправляющий
узел, таким образом рано или поздно перевод дойдет и до генерирующего
узла. Разумеется, этот перевод не должен встретить препятствий в пути,
вроде того, что его все забракуют из-за несоответсвия общим правилам
работы системы (например: дабл-спенд или перевод несуществующих
в природе биткоинов без происхождения из общепризнаных блоков),
а не будут передавать перевод дальше уже по своим спискам узлов.
Когда перевод попадет к генерирующему узлу, тот начнет размещать
его в блоке. Причем, этим будут заниматься сразу множество пулов.
Некоторые могут отказать во включении в блок на основании своих
более жестких правил, сейчас таких требовательных пулов мало.

Откуда качается база при установке биткоин-клиента? Где ведется история (цепочка блоков)?
Каждый блок запрашивается у подключенных к клиенту узлов.
Официальный клиент проверяет блоки на соответсвие правилам,
размещает в файлах blk00??.dat и blkindex.dat в той дириктории,
где размещен файл кошелька wallet.dat; начинает сам раздавать
блоки нуждающимся узлам. Это обычная реализация Peer-to-Peer.
Если клиент еще ни к кому не подключался, то списочек узлов он
получит через группу хостов, которые контролируются лидерами
проекта. Но и никто не запрещает организовывать свой даркнет.

Транзакция все-таки элементарная операция по передвижению средств или в ней может быть несколько адресов отправителей/получателей?
Если объяснять просто, то транзакция - это такая микропрограмма,
которая выполняется словно в "песочнице" любого клиента Bitcoin.
Эта микропрограмма задает с каких адресов на какие адреса и при
каких условиях должен быть зачтен перевод биткоинов. Таким вот
образом можно делать сложные скриптовые переводы, но сегодня
это почти не используется, так как и обычных переводов хватает.
newbie
Activity: 16
Merit: 0
January 30, 2012, 12:31:57 AM
Уф-ф.. вычитал всю ветку, пару вопросов сразу отсеялось )
Теперь хочу задать свои первые 10 глупых вопросов о биткоин:

1. Не могу понять, является ли комиссия обязательной или нет? С одной стороны вроде бы везде написано, что комиссия может быть нулевой, но тогда время обработки может быть дольше. С другой стороны неоднократно встречал упоминание о зависимости размера комиссии от размера транзацакции в байтах. В чем истина, брат?

2.  Зависит ли сложность в вычислительном плане от количества обрабатываемых транзакций? А от размера этих транзакций? Получает ли майнер (пул) какую-то выгоду от того, что не включает в блок транзакции без комиссии?

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

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

5. Кем и где рассчитывается сложность? Это вшито на уровне протокола, или существует какой-то механизм, которым текущая сложность (а точнее требования к хеш-сумме) каким-то образом объявляется для всех узлов сети? Если сложность рассчитывается всеми узлами независимо, то не бывает ли расхождения в расчетах?

6. Кем и где фиксируются транзакции, которые майнеры объединяют затем в блоки? Откуда качается база при установке биткоин-клиента? Где ведется история (цепочка блоков)?

7. Транзакция все-таки элементарная операция по передвижению средств или в ней может быть несколько адресов отправителей/получателей? Насколько я понимаю, второе. Как в этом случае реализован механизм контроля "неделимости" такой транзакции?

8. Не могу догнать, в чем потенциальная выгода от пул-хопинга? При каких условиях и правилах работы пула это выгодно? Мне вроде кажется, что какая разница, короткий блок или длинный: сколько шар прислал пулу, столько тебе и заплатили? Зачем прыгать-то?

Ну ладно, пока хватит )



sr. member
Activity: 266
Merit: 250
January 29, 2012, 12:58:02 PM
По сообщениям на форуме можно сделать вывод, что деградация разгонного потенциала или даже выход из строя имеет место чаще при использовании видеокарты в режиме 24/7 с существенно повышенными частотами и напряжениями, что не удивительно.
Есть несколько факторов, от которых никуда не уйдешь в этом случае -  электромиграция (нарушение структуры процессора изза дрейфа ионов, которая является функцией от приложенного потенциала и температуры) и температура (причем постоянные скачки температуры потенциально более губительны, нежели поддержание стабильной). Может отказать система охлаждения, что в итоге может повлечь за собой не самые приятные последствия. Хотя чаще всего при работе 24/7 они умирают из-за перегрузки/перегрева регуляторов напряжения процессора (VRM), не зря для них продают специальные отдельные радиаторы. Основной рецепт прост - наблюдайте за железом, не повышайте напряжение на видеокартах, а лучше даже понижайте, обеспечьте хорошее охлаждение и поддерживайте стабильную температуру не более 80 C (чем меньше - тем лучше), чистите их от пыли периодически - и с большой вероятностью железка проживет в хороших условиях существенно больше чем один год.
Jump to: