Вернуться   Биткоин Форум > Bitcoin Обсуждение
7 февраля 2013, 11:24:37 AM   # 1
 
 
Сообщения: 266
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Технического Введения для программистов

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я написал это, стараясь дать введение в Bitcoin технических людей (в частности, некоторые программисты, которых я знаю). Я полагал, что я отправлю его здесь, в случае, если кто-то может использовать его.

Это долго, извините. Обратная связь приветствуется.



Для нетехнического лица, то лучше думать о Bitcoins в качестве валюты, как евро или, как золото. Он имеет такие свойства, как и другие. Во-первых, цена колеблется. Во-вторых, вы можете потратить, сохранить его, конвертировать туда и обратно между долларами.



Для технического понимания, вы должны знать немного о цифровой подписи и хеширования. Вам просто нужно знать, что есть «1 путь» математические функции, где легко идти в одну сторону, и трудно (невозможно, практически говоря), чтобы пойти в другую сторону. Как факторизации больших чисел. Это легко создать большое кратное двух очень больших простых чисел, и это трудно учитывать результат. шифрование с открытым ключом и цифровые подписи используют эту функцию в математике - это 2 номера, «ключевая пара» имеет особую математическую связь друг с другом.

Я думаю, что Bitcoin это странное имя. Потому что это на самом деле не монета. Я думаю, глядя на бумажный бумажник помогает понять. Если вы идете www.bitaddress.org, вы увидите, что вы получите открытый ключ и закрытый ключ. Эти два числа имеют математическое свойство, такое, что это легко извлекли открытый ключ от секретного ключа, но трудно идти другим путем. Кроме того, вы можете доказать, что вы во владении частного ключа, никогда не разглашая его.



Для банковской аналогии, открытый ключ, как ваш номер чекового счета. Вы можете сказать людям своего расчетного номер счета (как вы говорите вашей компании, для прямого депозита). Вы можете принимать оплату на свой расчетный счет, давая людям номер. Там не много риска в разглашении вашего номера счета проверки, хотя я бы не после моей проверки номера счета в Интернете, потому что тратить (или рейдерство своего счета) в традиционном банковском смысле не так безопасно, как и в мире Bitcoin , Но ваш номер счета является то, что все в порядке, чтобы разделить, для людей, чтобы внести в. Это как ваш «Bitcoin адрес» или открытого ключа.

Закрытый ключ, как ваша дебетовая карта, PIN-код, CVV / CVC код и подпись все завернутая в одном. В традиционном банковском деле, если вы хотите потратить свои деньги, вы обычно должны дать эту информацию к человеку вы тратите его. И, делая это, вы позволяете им набег своего счета, но вы доверяете им, что они будут принимать только ту сумму, которую вы авторизироваться.  

С Bitcoin, если вы раскрыть свой секретный ключ, то человек может также принимать все свои деньги. Но красота математики является то, что вам не нужно, чтобы показать это, чтобы доказать, что у вас есть. Таким образом, в этом смысле, Bitcoin является гораздо более безопасным, чем традиционные банковского дела. Если я хочу, чтобы тратить деньги на счет «А», все, что мне нужно сделать, это доказать, что я уполномочен (то есть, что у меня есть закрытый ключ в моем распоряжении), и я могу потратить деньги на счет «А».



Более банковская аналогия: Там нет монет в Bitcoin. Есть только записи главной книги. Представьте гигантский бумажный гроссбух в центральном банке. Если у меня есть деньги на счете «А» и я посылаю его к вам, на счет «B», то есть сделка, одна линии в этой статье книге, которая говорит «дебет колонок„А“и кредит в столбце" B». Кроме того, вы можете оглянуться назад в книге, рассматривая столбец «A» и посмотреть, что счет «А» имеет положительный баланс, глядя на сделке, которая зачислена «A» первоначально.

Основной технический прорыв Bitcoin является то, что они придумали, как реализовать все это без необходимости доверять центральный банк для поддержания гроссбуха. Вместо этого, главной книги проводится в сети равноправных узлов ЛВС. Каждый может видеть всю историю всех сделок (если вы хотите), и следовать за любые деньги с одного номера счета на другой (вы не знаете, кто владеет номера счетов, поэтому они говорят, что это псевдонимами). Вы можете буквально «следовать за деньгами».



Так что, когда вы тратите деньги, вы в цифровой форме «подписать его на» другую сторону. Ваша цифровая подпись подтверждает, что вы имеете право тратить его, и создает одну транзакцию в книге, что «движется» деньги со своего счета на кого-то другого. И так как люди могут владеть несколькими счетами ( «Bitcoin адреса»), одна транзакция может переводить деньги с нескольких счетов и нескольких счетов (включая перемещение денег внутри с одного счета твоего к другому). Очень частая сделка, что вы видите ... сказать, что я хочу дать вам 3,50 Bitcoins, и у меня есть Bitcoin адреса с 5 Bitcoins. Я буду проводить полный 5, что дает вам 3,50, и еще один из моих адресов 1.50. (Изменение адреса добавляет к анонимности.) Они называют это «1,50» «перемена», так же, как если бы вы представили законопроект $ 5 из одного кармана для сделки в $ 3.50, получила изменить назад и положить его в другой карман.

Итак, у вас есть все эти операции летать туда и обратно в сети равноправных узлов ЛВС. Так как же вы храните их в синхронизации и в порядке? Ну, каждая сделка имеет случайный номер транзакции, поэтому если узел Bitcoin получает транзакцию, он может быстро Lookup, чтобы увидеть, если он когда-либо получил эту сделку раньше. Если да, то он может игнорировать этот дубликат записи. Если нет, то он добавляет эту сделку в список операций, при условии, что она выглядит законна (т.е. это сделка нетто-ноль - это списывает ту же сумму, которую он кредитует, и счета расходов все цифровая подпись). Но это еще не «последовательность» сделок, так что ждать, есть больше ....

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

Программное обеспечение записи всех этих операций на странице в бухгалтерской книге. Каждая транзакция получает одну линию на бумажной книге, и каждая строка должна быть логически последовательными (т.е. чистого ноля: дебет некоторых счетов, кредитные других, на сумму ноля). Программное обеспечение также проверки того, что каждая сделка была законной, в том, что никаких денег не были потрачены, что не было доступно тратиться. Мы действительно не волнует, что последовательность «на этой странице» операции перечислены в тех пор, как мы всегда смотрим на предыдущие страницы, чтобы проверить баланс счета. Таким образом, мы будем рассматривать все сделки на текущей странице, как «неподтвержденные транзакции». И как только мы «перевернуть страницу» (двигаться вперед в бухгалтерской книге), они подтверждены. Таким образом, вы можете смотреть назад в бухгалтерской книге, чтобы увидеть подтвержденные сделки и убедитесь, что деньги там будут потрачены. И вы можете посмотреть на текущей странице, чтобы убедиться, что не существует двух сделок, что «дважды проводят» баланс. И тогда система может периодически «перевернуть страницу», чтобы зафиксировать в сделках.

Итак, кто переворачивает страницу, и то, что процесс превращения страницы? Ну, люди конкурируют, чтобы перевернуть страницу, и платят, чтобы сделать это. Они работают программы на своих системах, которые делают в основном одну функцию: они принимают группу неподтвержденных операций, и вычислить некоторые математические вокруг него. И первый, чтобы вычислить правильную математику получает деньги. Это «добыча» процесс - еще одно имя, которое мне не нравится.

Алгоритм заключается в следующем: они образно написать еще одну операции на странице, которая платит им определенную сумму Bitcoins (для выполнения работы, чтобы перевернуть страницу), а затем добавить «случайный» номер на странице, а хэш всех номеров на этой странице. И если хэш приходит с ведущим нулем, то они могут заблокировать на странице. Они объявляют весь мир, что «Это случайное число замков в странице х», и они получают, чтобы сохранить деньги, потому что они фактически «оплачены себя» на этой странице.  

Конечно хэширования страницы полного чисел, чтобы получить ведущий нуль не является трудной задача - это 50/50 выстрела в двоичной системе. Хешировании страницы полного чисел и получить 2 ведущих нули в результате составляет 25% вероятность успеха а. Но хэширования страницу полного чисел и получить серию из 45 ведущих нулевых бит является действительно трудной задачей. И поэтому число ведущих нулей, необходимых приспосабливается в течение долгого времени, в зависимости от успеха этих людей, которые крепежными денежной система (так называемой «горняками»). Эти люди выбирают случайное число, попробуйте хэш и не подавляющее большинство времени. Но каждые десять минут (в среднем) кто-то преуспевает, и получает деньги.

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

Когда кто-то заявляет, что они «заблокировал страницу гроссбух», все остальные могут легко проверить свою работу, и будет принимать его, если это было сделано правильно. То есть, убедитесь, что они заплатили себе нужное количество денег (которые, в настоящее время, составляет 25 Bitcoins, но это пандусов вниз на протяжении многих лет, а также любые операционные издержки на странице), и что случайное число, которое они снабжали действительно делает страница хэш до некоторой контрольной суммы, которая имеет много ведущих нулей.

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

Это, вероятно, не будет 50/50 раскол из-за равный-равному сети, вы будете слышать один первый. Так что, как последующая страница сделок становится заперта в разных шахтеры могли бы работать по различным проблемам. И вероятность того, что часть сети, которая имеет больше узлов верующую на своем пути заблокирует следующую страницу. В конце концов, один из двух путей выйдет победителем над другой, и одна книга снова будет считаться точным. Поэтому, чем больше подтверждений вы имеете на сделку, тем больше «страницы» были заперты в, и поэтому более уверены, что вы можете быть, что это постоянное в бухгалтерской книге. Шесть Подтверждения считается идеальным подтверждением, в практическом смысле.

Леджер Страница в моей аналогии называется «блоки» в Bitcoin языке.

Bitcoin программного обеспечения и веб-сайтов скрыть всю эту сложность от вас. Но это помогает понять, потому что он складывает в реальные деньги! Если у вас есть существенный притон Bitcoins, вы должны знать, кто вы доверяете, и все это сводится к тому, кто проводит секретные ключи. Если держать баланс на веб-сайте (например, Blockchain.info или Mt GOx или Coinbase или InstaWallet), то вы доверяете им защитить закрытые ключи. Это доказало, что катастрофические последствия в некоторых других случаях в прошлом. Но, как проходит время, тем слабее, кажутся менее надежными игроки, которые будут выпадать, хотя кто-то новый (надежный или ненадежный) может всплывал в любое время, и старые фавориты могут испортить и потерять все тоже!

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

Если вы держите в руках значительную сумму денег в Bitcoins, то вы можете рассмотреть автономный кошелек. Концепция здесь, чтобы создать пару ключей «в автономный режим», так что ни одна из клавиш-регистратор, вирус или подозрительный веб-сайт не может украсть ваш закрытый ключ. Вы можете отправить деньги в автономный бумажник никогда не имея личный ключ в Интернет. Если вы доверяете bitaddress.org (и все это с открытым исходным кодом!), Есть способ, вы можете распечатать бумажный бумажник, и никогда не иметь эти цифры вашего секретного ключа когда-либо появится на компьютере, подключенном к Интернету, когда-либо.  

А поскольку Bitcoin просто гигантская книга, то финансирование, которое приходится всего лишь вопрос оплаты открытого ключа (Bitcoin адрес), и все готово. Положите ваши инвестиции прочь в течение нескольких лет и посмотреть, что происходит. Если вы хотите, чтобы «провести» это или «наличные деньги» это, введите закрытый ключ (или отсканировать его), и вы можете потратить. На самом деле, вы можете проверить баланс своего счета в течение многих лет, никогда не имея свой секретный ключ прикосновение Интернет.
jerfelix сейчас офлайн Пожаловаться на jerfelix   Ответить с цитированием Мультицитирование сообщения от jerfelix Быстрый ответ на сообщение jerfelix


Как заработать Биткоины?
Без вложений. Не майнинг.


7 февраля 2013, 12:46:50 PM   # 2
 
 
Сообщения: 822
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Технического Введения для программистов

Получил 1806 Биткоинов
Реальная история.





С моей программатора точки зрения, это вполне понятно, я буду стараться.
Я получаю некоторую проблему, пытаясь объяснить некоторым друзьям-программистам, как работает BTC. В основном я использую "это магия" стратегия непрограммистых людей, которые не так bad.But с программистами это не работает. Тогда трудно найти слова, чтобы объяснить.
Главный porblem я получаю с программистами объяснить p2p часть,
гроссбух страница -> блок
превращая одну страницу -> получить хороший хэш, начиная от п 0 -> +1 подтверждение
число 0 необходимо в имеет -> трудность
glub0x сейчас офлайн Пожаловаться на glub0x   Ответить с цитированием Мультицитирование сообщения от glub0x Быстрый ответ на сообщение glub0x

7 февраля 2013, 6:48:34 PM   # 3
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Технического Введения для программистов

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

У меня было только три вопроса, которые я хотел бы отметить:

. . . Очень частая сделка, что вы видите ... сказать, что я хочу дать вам 3,50 Bitcoins, и у меня есть Bitcoin адреса с 5 Bitcoins. Я буду проводить полный 5, что дает вам 3,50, и еще один из моих адресов 1.50. (Изменение адреса добавляет к анонимности.) Они называют это «1,50» «перемена», так же, как если бы вы представили законопроект $ 5 из одного кармана для сделки в $ 3.50, получила изменить назад и положить его в другой карман. , ,

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

. . . Мы действительно не волнует, что последовательность «на этой странице» операции перечислены в тех пор, как мы всегда смотрим на предыдущие страницы, чтобы проверить баланс счета. Таким образом, мы будем рассматривать все сделки на текущей странице, как «неподтвержденные транзакции». И как только мы «перевернуть страницу» (двигаться вперед в бухгалтерской книге), они подтверждены. Таким образом, вы можете смотреть назад в бухгалтерской книге, чтобы увидеть подтвержденные сделки и убедитесь, что деньги там будут потрачены. , ,

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

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

Хотя это правда, с детерминированным бумажником, что миллиарды Bitcoin могут быть адреса генерируемыми из одного секретного ключа, это не то, как работает Bitcoin-кошелек Qt. Каждый раз, когда вам нужен новый Bitcoin адрес (включая адрес, используемый клиентом для "изменение"), Бумажник Bitcoin-Qt генерирует новый секретный ключ совершенно случайно. Он хранит все эти случайно сгенерированных секретных ключей в файле бумажника. Это означает, что вам необходимо выполнить резервное копирование файла бумажника на регулярной основе, или вы обнаружите, что ваша старая резервная копия не имеет какую-либо из недавно сформированных частных ключей, которые держат большую часть вашего Bitcoins. Не имея какой-либо из недавно сформированных закрытых ключей означает, что вы навсегда потеряли способность когда-либо провести любого из этих Bitcoins снова.
DannyHamilton сейчас офлайн Пожаловаться на DannyHamilton   Ответить с цитированием Мультицитирование сообщения от DannyHamilton Быстрый ответ на сообщение DannyHamilton

12 февраля 2013, 9:38:01 PM   # 4
 
 
Сообщения: 934
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Технического Введения для программистов

Мне нравится использование выражения «сканировать в» вместо развертки.
remotemass сейчас офлайн Пожаловаться на remotemass   Ответить с цитированием Мультицитирование сообщения от remotemass Быстрый ответ на сообщение remotemass

12 февраля 2013, 9:51:19 PM   # 5
 
 
Сообщения: 266
Цитировать по имени
цитировать ответ
по умолчанию Re: Bitcoin Технического Введения для программистов

Мне нравится использование выражения «сканировать в» вместо развертки.
Я имел в виду сканирования в QR-коде.
Я всегда думал о зачистке со ссылкой на сканирование блочной цепи ищет сделки, которые соответствуют вашему секретному ключу.
jerfelix сейчас офлайн Пожаловаться на jerfelix   Ответить с цитированием Мультицитирование сообщения от jerfelix Быстрый ответ на сообщение jerfelix



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW