Bitcoin Forum
May 04, 2024, 04:18:33 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1] 2 »
1  Local / Новички / Re: Цепочка блоков on: October 31, 2016, 10:13:54 AM
Да, и ещё, вот такой вопрос интересен.
Как получить публичный ключ биткоин из приватного на эллиптической кривой, математически?
умножение на G
http://bitcoin.stackexchange.com/questions/25024/how-do-you-get-a-bitcoin-public-key-from-a-private-key
но там не простое умножение, которое в школе проходят, а умножение на эллиптической кривой

А есть операция, обратная удвоению, чтобы найти пол точки?
k = 3x^2 * ((2y)^-1 mod p) mod p;
2x = (k * k) - 2 * x mod p;
2y = ((x - Rx) * k) - y mod p;
2  Local / Новички / Re: Атака 51%. Почему бы и да? on: October 29, 2016, 03:01:45 AM
как я вижу, идут разговоры про личные пенсионные накопления.
Можно раскидать их по криптовалютной корзине, состоящей из кучи форков.
3  Local / Новички / Re: Цепочка блоков on: October 28, 2016, 06:05:02 AM
умножение на G
http://bitcoin.stackexchange.com/questions/25024/how-do-you-get-a-bitcoin-public-key-from-a-private-key
но там не простое умножение, которое в школе проходят, а умножение на эллиптической кривой
Понял, уже готово.
100500G (101816950638124313904973605100560533252361743933737213833523739281647048689969,
78598442034195021184659696539822905501095501203773743829894485136115869628863)
Decimal координаты.
4  Bitcoin / Development & Technical Discussion / Re: Public key from private key in elliptic curve on: October 28, 2016, 01:37:47 AM
It sounds like you pretty much already know the answer, or maybe I don't understand the question?

On the secp256k1 elliptic curve used by Bitcoin, there is a point that's called the "base point generator", often denoted G. It was arbitrarily chosen (by Certicom I believe, or whoever defined the secp256k1 curve parameters).

A private key is simply a 32-byte (approx.) long integer. A public key is a point on the curve-- it is found by taking the point G multiplied by the private key (via the double & add method, or some other).
Ok, thanks.
5  Local / Новички / Re: Цепочка блоков on: October 28, 2016, 01:22:42 AM
Да, и ещё, вот такой вопрос интересен.
Как получить публичный ключ биткоин из приватного на эллиптической кривой, математически?

Я знаю 2 операции с точками на эллиптической кривой.
Удвоение и сложение.
Умножение - это комбинация умножения и сложения в соответствии со значением бит в числовой константе приватного ключа, на который умножается генераторная точка G.
6  Bitcoin / Development & Technical Discussion / Public key from private key in elliptic curve on: October 28, 2016, 12:07:57 AM
How to get bitcoin public key from private key on elliptic curve mathematically?

I know 2 operations with the points on elliptic curve.
It is double & add.
Multiply is double & add combinations depending from values of bits in numeric constant of private key.
7  Local / Новички / Re: Цепочка блоков on: October 27, 2016, 11:00:08 PM
а зачем вам этот список валют?
вы их все майнить собираетесь? или сервис по отправке транзакций делать?
ну учтите, что в некоторых есть существенные отличия от биткойна.
Интересен был бы именно майнинг. Без пулов. В режиме соло. Даже не столько сам процесс, сколько его настройка.
Чтобы понять так-сказать, тонкости технологии.
Но не просто майнинг а майнинг такой валюты, на которую ещё ASIC не понаподключали, и чтобы получалось часто, без закачек всяких.
Какой-то закрытой, малоизвестной, находящейся в дебрях "Тихого дома". Как пройти в Тихий Дом вы все и так сами прекрасно знаете.

А вот сервис по отправке транзакций в сеть, хорошая идея, но там нужен дедикейтед сервер
и прямые руки с нанотехнологичными извилинами заодно.
8  Local / Новички / Re: Цепочка блоков on: October 27, 2016, 09:22:36 PM
Это вопрос или утверждение? Если вопрос - то, нет. Я не понял эту блок-схему.
Если утверждение - то позвольте вас поздравить.
Это тупо картинка, которую удалось найти по запросу ECDSA ScriptSig Bitcoin в картинках гугл.
А повесил я её для красоты, поняв аж нихуя при этом.

Господи, да что ж вас так блоки-то беспокоят?
Ну лежит 100 гигабайт говна на винте. Жрать не просят. Когда попросят - сотру нахер.
А транзакции можно и в лайт-клиентах создавать вроде бы.

А смотри, что у меня:
42coin, Acoin, Alphacoin, Animecoin, Anoncoin, Apexcoin, Auroracoin, BBQcoin, Bitcoin, BitcoinDark,
Birdcoin, Blackcoin, BlackJack, BunnyCoin, CanadaeCoin, CannabisCoin, Capricoin, CassubianDetk,
CashCoin, Catcoin, Corgicoin, CryptoBullion, CryptoClub, Cryptoescudo, Dash, DeafDollars, Devcoin,
Digitalcoin, Dogecoin, DogecoinDark, eGulden, eKrona, Emercoin, EnergyCoin, Fastcoin, Feathercoin,
Fibre, Fluttercoin, Freicoin, FUDcoin, Fuelcoin, Fujicoin, GabenCoin, GlobalBoost, Goodcoin,
GridcoinResearch, Gulden, Guncoin, HamRadioCoin, HTML5Coin, HyperStake, ImperiumCoin, IncognitoCoin,
Influxcoin, IridiumCoin, iCash, iXcoin, Judgecoin, Jumbucks, Latium, Litecoin, LiteDoge, MagicInternetMoney,
Magicoin, Marscoin, MarteXcoin, MasterDoge, Mazacoin, Megacoin, MobiusCoin, MonetaryUnit, Monocle,
MoonCoin, Myriadcoin, NameCoin, Neoscoin, Novacoin, Nubits, Ocupy, Omnicoin, Onyxcoin, Paycoin,
Pandacoin, ParkByte, Pesetacoin, PHCoin, PhoenixCoin, Peercoin, Potcoin, Primecoin, Quark, Reddcoin,
Riecoin, Rimbit, Rubycoin, Sambacoin, SecKCoin, SibCoin, SongCoin, SpreadCoin, StealthCoin, Syscoin,
Titcoin, TittieCoin, Topcoin, TransferCoin, TreasureHuntCoin, Unobtanium, USDe, Vertcoin, Viacoin,
VikingCoin, W2Coin, WankCoin, WeAreSatoshiCoin, WorldCoin, Zetacoin, и Ethereum ещё.

Интересно сколько же места надо выделить на винте, под все эти блоки? =)
9  Local / Новички / Re: Цепочка блоков on: October 27, 2016, 08:43:54 PM
Что есть первое, а что второе?
У самой типичной транзакции scriptSig состоит из ECDSA-сигнатуры
3045022100eaef1cf04e8691decf20fcd0b2f50e02cbe30e07b4dc7c3bbecd44d5dc5a82de02201 c855a9e169cb8c665a5fc0b34a1cf33024daddf888504043856642d1f0e635301
И публичного ключа
0268f18c4366abe0556c34dd9dd90ff7f37a317b649534c38f3ee09a2ddcba6901
Понял:


Вот это я и называю "трахаться стоя, в гамаке и в скафандрах". Зачем столько действий делать руками если их за тебя сделает программа?
Просто тут не надо блоки, лучше принцип видно, ну и свести всё это можно просто к вводу адреса получателя, и суммы.
Ну и транзакций нагенерить в оффлайне, а потом отправить пачкой при подключении к сети.
10  Local / Новички / Re: Цепочка блоков on: October 27, 2016, 07:43:21 PM
у всех транзакций есть scriptSig
scriptSig - это половинка "колечка" которое связывает транзакции в цепочку
но у coinbase-транзакции нет предыдущего звена, поэтому в scriptSig можно класть
всё что угодно (ну почти всё, кое-какие правила там таки есть)
Input Scripts у рандомной транзакции имеет два значения, например вот:
https://blockchain.info/tx/20fe5d9c2733c4a8bc7c747d970abbb0013ee072b6ab92e7d0b8d54ae8fea38b

Input Scripts:
3045022100eaef1cf04e8691decf20fcd0b2f50e02cbe30e07b4dc7c3bbecd44d5dc5a82de02201 c855a9e169cb8c665a5fc0b34a1cf33024daddf888504043856642d1f0e6353010268f18c4366ab e0556c34dd9dd90ff7f37a317b649534c38f3ee09a2ddcba6901

С первым - понятно. Со вторым - нет. Как формируется - тоже не ясно. Такие дела.

Мсье хочет ездить на формуле-1, а для начала освоить управление велосипедом отказывается?
Ну ок, может кто-то и так может.
А я тебя помню, кажись. И ты это сюда принёс? Или отсюда это и выдернули?
И формула1, и езда на велосипеде у меня была кстати, мне их замутили когда малый был, лол.

Ну смотри: brainwallet -> transactions -> privkey -> данные -> re-sign -> raw-transaction -> https://blockchain.info/ru/pushtx
И всё. И никаких синхронизаций блоков в Qt.
11  Local / Новички / Re: Цепочка блоков on: October 27, 2016, 06:57:00 PM
Жмякните по ссылке [Show scripts & coinbase] не будьте ламером, который пользуется сайтом bc.i в упрощенном режиме

Quote
то я имею в виду полнофункциональный brainwallet.github.io, мёртвый уже, но работающий тут:
http://wallet-2sx53n.sakurity.com/ и конечно же, локально в JS.
Ну и зачем вам это?
В упор не видел - теперь вижу.
Значит, самая первая транзакция с отправителем "No Inputs (Newly Generated Coins)" - это coinbase-транзакция,
и только у неё есть scriptSig, а у других транзакций в блоке - scriptSig нет.
Знать бы как она формируется. Вижу в decoded - формате, в большинстве своём названия пулов фигурируют.

Ну и зачем вам это?
Чтоб не таскать с собой QT, а просто priv, js, браузер и сеть.
12  Local / Новички / Re: Цепочка блоков on: October 27, 2016, 06:02:16 PM
В целом читать тут: https://en.bitcoin.it/wiki/Category:Technical
Ок.
Quote
Где взять scriptSig?
Я не понимаю вопрос. Вам для нового блока надо придумать scriptSig или посмотреть
какие scriptSig в имеющихся блоках уже используются?
Ну открываете coinbase-транзакцию
https://blockchain.info/tx/0143ffa829782d6a7585dc47a3026ca89b40e35a4aff09ead41953991aa9a162
и строчка 03c3a7060004d13a1258046b48f7150c3ac41758250a0100000000000a636b706f6f6c182f42697 4436c7562204e6574776f726b2f5345475749542f
и будет scriptSig этой транзакции (это шестнадцатеричное представление)
Хочу понять где просмотреть scriptSig, и как именно она формируется.
По ссылке - нет указанной строчки.

Quote
А RAW-транзакцию можно в brainwallet'e создать.
Вообще-то под словом brainwallet всегда имеют в виду несколько другое.
Если имеется в виду адрес из пароля
(получаемый из privkey являющимся sha256-хешем от passphrase вида "correct horse battery staple",
умноженному на генераторную точку на эллиптической кривой y^2 = x^3 + 7;
в виде base58check ripemd'a160 от sha256 "точки-произведения" с двумя координатами или одной x, если compressed),
то я имею в виду полнофункциональный brainwallet.github.io, мёртвый уже, но работающий тут:
http://wallet-2sx53n.sakurity.com/ и конечно же, локально в JS.

Сеть биткойна представляет из себя связанные по бинарному биткойн-протоколу компы
https://en.bitcoin.it/wiki/Protocol_rules
Ок.
13  Local / Новички / Re: Цепочка блоков on: October 27, 2016, 05:14:59 PM
Бля, я картинку я для кого прикрепил? Не видно что ли?
Картинка - не ссылка.

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

В блоке есть заголовок размером 80 байт.
6 компонентов.


а) Сперва майнер собирает N валидных транзакций, которые можно включить в блок
N фиксировано, или ограничено объемом информации в блоке?
Как получить список транзакций требующих включения в блоки в ближайшее время?
б) Добавляет к ним coinbase-транзакцию в scriptSig которой помещает какую-нибудь лабуду типа "вася пупкин сдесь был"
Где взять scriptSig?
в) считает от получившегося merkle-hash
Я видел только Merkle Root.
г) формирует все поля заголовка блока из имеющихся у него данных - то есть заполняет 76 из 80 байт. структуру заголовка гуглите самостоятельно
Понятно:
д) пересчитывает sha256d ()  от заголовка перебирая все возможные варианты оставшегося 32-битового числа
Вот такое вот, нашёл:
"Hello, world!0" => 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64
"Hello, world!1" => e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8
"Hello, world!2" => ae37343a357a8297591625e7134cbea22f5928be8ca2a32aa475cf05fd4266b7
...
"Hello, world!4248" => 6e110d98b388e77e9c6f042ac6b497cec46660deef75a55ebc7cfdf65cc0b965
"Hello, world!4249" => c004190b822f1669cac8dc37e761cb73652e7832fb814565702245cf26ebb9e6
"Hello, world!4250" => 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9
Nonce = 4250
е) если повезло - бросает блок в сеть и начинает работу заново с пункта (а), если не повезло - начинает работу заново с пункта (а), изменяя что-нибудь в пункте (б)
Куда именно? Знаю, есть https://blockchain.info/ru/pushtx, но тут - транзакции.
А RAW-транзакцию можно в brainwallet'e создать.

ж) если пока мы все это делаем пришел от кого-то следующий блок - проверяем его и начинаем заново с пункта (а)
Ок.

P.S: Вот brainwallet c конвертером в JS. На github'e его нет, поэтому rghost: http://rgho.st/6LCyRbn5L
Архив распаковывается в папку и index.html в браузер.
14  Local / Новички / Re: Цепочка блоков on: October 27, 2016, 04:19:12 PM
На дваче будешь так общаться, мамкин повар)
Ха, просёк. У меня там, "Криптовалют тред." в /cc =)

getblocktemplate на клиенте.
Консоль:
Запрос: getblocktemplate
Ответ: Bitcoin is downloading blocks... (code -10)
клиента можно запустить с опцией -detachbd тогда блоки качаться не будут
Всё-равно блоки тащатся с сети. В символах не напутал?

меняют так называемый extra-nonce - то
есть scriptSig у coinbase-транзакции, в который можно записать всяких рандомных
байтиков

А где его просмотреть этот extra-nonce? Есть ссылка?

Если пул получил блок (чужой или свой - неважно), то для его обработки и создания темплейта следующего
блока нужно определенное время. Чтобы майнеры подключившиеся в этот момент к пулу не проставивали зря
им пул раздает задание майнить блок-пустышку.
Я так понимаю, откуда-то валят новые транзакции (откуда же?), а майнеры конкурируют за то,
кто быстрее подберет нонс для блока, хеш которого будет содержать достаточное количество нулей и куда транзакции входят эти транзакции (или их часть).
И кто быстрее это сделает при помощи этих своих петахешей, тот и выиграл.
При этом транзакции могут менятся местами как угодно, или вообще исключаться, и ещё и extra-nonce менять можно. Так?
15  Local / Новички / Re: Цепочка блоков on: October 26, 2016, 07:15:26 PM
Но у вас их не будет, так что и проверить корректность вы не сможете.
А этот ещё и знает. =)
Ну, есть у меня к примеру на одном из переносных жестких блоки в виде файлов blk0000*.dat.
Только их там ещё докачивать надо и это ничего не даст, потому что - петахеши.
И ваще, по сути, не нужны эти блоки все и сразу, разве что для того - чтобы птичка "синхронизировано" стояла.

Может вы для на каком-нибудь говнофорке это собирались делать.
Или вы тайный владелец трех китайских пулов.
Это всё неправда. И всё то - в большинстве своём, тоже.
100% хешей в пулах генерят сами же майнеры. Владельцы пулов только комиссии гребут.
Просто интересен сам процесс. =) Сошёл бы и форк с небольшой сложностью.
Глянул так, в сторону doge с его килохешами сложности, но там 1,4 млн. блоков в блокчейне, их же качать придётся.
Поэтому, не надо это.

upd:
Я вот, гляжу на 436042-й блок
https://blockchain.info/block/0000000000000000028603f405c303c1711f22ffa1c31ffee89397b90099cb42
с его Nonce 1106733466, которую можно было бы перебрать в соло за 6.14851926 секунд на моей видеокарте, у которой 180Мh/s

Так вот, блок 436042 уже сгенерён и вошёл в блокчейн.
А блок 436043 ещё нет. Как только "соль" к нему найдут майнеры - он будет добавлен в цепочку блоков, как и все другие последующие блоки.
И этот блок, после генерации будет разослан по p2p-сети всем клиентам у которых bitcoin-Qt, и не только, верно?

Так вот, как и откуда его получить, чтобы начать искать nonce в соло-режиме?

P.S.: Блокчейн - как я понял, это сама цепочка блоков, а не сайт blockchain.info.
blockchain.info же - это отдельный сайт, парсер её, показывающий красивый интерфейс для просмотра этой цепочки.
16  Local / Новички / Re: Цепочка блоков on: October 26, 2016, 05:25:50 PM
Стоимость хранения данных на диске - ну это такие копейки, что я и не думаю про это.
А вот качать блоки и ненужные выбрасывать - это расточительство. Потому что трафик
обходится дороже. Не столько в плане денег, сколько в плане времени.
Я что блокчейн что-ли? Зачем мне все блоки всех транзакций на моём винте?
А если это SD-карта c портаблельным линуксом на распберри, например?

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

Майнить на фальшивой цепочке блоков - это слишком рискованно. Не надо тут экономить.
Ну это понятно.

Может быть ты решаешь задачу майнить не от последнего полученного из сети блока, а от
какого-то из истории? Мсье собирается провести атаку-51? Ну так это можно решить с помощью
прокси-сервера. То есть нужна программа-посредник между стандартным клиентом
и остальным интернетом. И эта программа отдает клиенту не весь трафик, а только заданный.
Например прокси-сервер "включается" если видит блок с транзакцией перевода с адреса
"1xxxx" на адрес "1yyyyy" и не отдает больше клиенту блоки и транзакции. Клиент не получив
этот блок, разумеется, майнит другую цепочку, куда ты вставляешь перевод с адреса
"1xxxx" на свой адрес "1zzzzz" и когда ты наращиваешь цепь длиннее чем вырастила остальная сеть
ты снова включаешь прокси и таким образом наёбываешь владельца адреса "1yyyyy"
Для Double-spending нужны петахеши и петафлопсы. LOL.
17  Local / Новички / Re: Цепочка блоков on: October 26, 2016, 04:51:07 PM
А я не предлагаю тебе брать случайные адреса с directory.io
Достаточно взять с первой страницы
Вероятность встретить в блокчейне адрес с первой страницы directory.io равна 1.
И адрес из брейнваллета "correct horse battery staple" встречается тоже.
У меня тут значит конвертер от браинваллета, в JS, локально запущен в браузере, (могу скинуть, если чо)
и взяв с 6-й страницы http://directory.io/6
приваткей 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsrfQyNAxdB
получаю из base58Check - hex 0000000000000000000000000000000000000000000000000000000000000281
Следующий за ним приваткей в base58check - 5HpHagT65TZzG1PH3CSu63k8DbpvD8s5ip4nEB3kEsrfR95CsLZ
даёт hex 0000000000000000000000000000000000000000000000000000000000000282
ну, а потом, hex-ы:
0000000000000000000000000000000000000000000000000000000000000283
0000000000000000000000000000000000000000000000000000000000000284
0000000000000000000000000000000000000000000000000000000000000285
И т. д.
Значит кеи генерятся по порядку. А страницы лишь устанавливают range для генерации.

И адрес из брейнваллета "correct horse battery staple" встречается тоже.
Какая-то Кристина. =) В общем, суть понятна.

Ладно, значит я неправильно тебя понял. Ты пытаешься какую-то непонятную задачу решить
каким-то извратным (на мой взгляд) способом. Ну, чем мог - я помог. Дальше иди своими ногами.
Я хотел бы каким-то образом, задать первый блок в blkindex или в bootstrap.dat так,
чтобы этот блок являлся тем самым блоком, в который вошла транзакция на конкретный определённый адрес.
И сделать это для того, чтобы начать закачку блокчейна через тяжеловесный bitcoin-Qt именно с этого блока,
до всех актуальных.
Причём блоки не сохранять на диск, если в них не содержится этот адрес,
а качать и сохранять только current block, и при получении нового блока -
проверять что хеши этих блоков сцеплены правильно, и после этого удалять предыдущий
current-блок циклично, с выходом каждого нового блока.
Почему bitcoin-Qt? А потому что его можно включить в режим сервера.
Зачем это нужно? А чтобы поцепить на него майнер.
Сервер включается на localhost, и майнер подключается как-то вот так:
-o http://localhost:8332 -u RPCUSER -p RPCPASS
А база с блоками весит овер 42 гига. А за dogecoin - вообще молчу.
Ну и, вот...

Алсо, хотелось бы понять, как формируются блоки, как транзакции входят в блок,
из какого источника берутся блоки для майнинга, залетают ли новосформированные транзакции в bitcoin-Qt
и как этот процесс связан с current-блоком.
Инфы в сети не нашёл.
18  Local / Новички / Re: Цепочка блоков on: October 26, 2016, 04:33:06 PM
Я кажется представляю себе к чему ты клонишь.
Задача на самом деле другая.
Представь себе что у тебя четыре миллиона приваткеев. Неважно каких - с первых страниц сайта
directory.io надёрганных или из брейнваллет сгенерированных.
Ты начинаешь парсить блокчейн от начала времен и если видишь пополнение известного тебе адреса -
добавляешь неизрасходованный выход в список, а если видишь трату с этого адреса - вздыхаешь,
что кто-то тебя опередил и вычеркиваешь из своего списка.
Когда доходишь до конца цепочки блоков у тебя получается аккуратный список неизрасходованных
выходов - то есть доступная тебе сумма бабла.
Нет, нет, я клоню чисто к оптимизации всей цепочки блоков под конкретный адрес.
Что касается этих твоих миллионов приваткеев, сгенерённых или с directory.io, так длина приваткея 256 бит,
и количество их комбинаций 2^256.
А теперь, можешь сам посчитать вероятность того, что среди нагенерённых встретится адрес, юзанный в сети и уж тем более с неизрасходованными выходами.
Кстати, directory.io тоже генерит, по сути. Каждая страница - это range для генерации.
Потому что 904625697166532776746648320380374280100293470930272690489102837043110636675 страниц это YOBAбиты YOBIбайт.
19  Local / Новички / Re: Цепочка блоков on: October 26, 2016, 04:25:49 PM
так вам для майнинга? ну так не то что соло майнинг вообще про майнинг битка мжно забыть )) нужна ферма)
Будет профит - будет ферма. Главное технологию, так-сказать, прочувствовать.
20  Local / Новички / Re: Цепочка блоков on: October 26, 2016, 04:01:46 PM
так вам для майнинга? ну так не то что соло майнинг вообще про майнинг битка мжно забыть )) нужна ферма)
если майнить то только форки
Ну вот взять догкоины, у них более 1,4 млн блоков.
https://dogechain.info/
Это ещё похлеще чем 436000 биткоиновых. LOL.
https://blockchain.info/

для пивалета конечно питон надо
У меня портабельный пистон, если чо.
Pages: [1] 2 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!