Show Posts
|
Pages: [1] 2 »
|
А есть операция, обратная удвоению, чтобы найти пол точки? k = 3x^2 * ((2y)^-1 mod p) mod p; 2x = (k * k) - 2 * x mod p; 2y = ((x - Rx) * k) - y mod p;
|
|
|
как я вижу, идут разговоры про личные пенсионные накопления.
Можно раскидать их по криптовалютной корзине, состоящей из кучи форков.
|
|
|
Понял, уже готово. 100500G (101816950638124313904973605100560533252361743933737213833523739281647048689969, 78598442034195021184659696539822905501095501203773743829894485136115869628863) Decimal координаты.
|
|
|
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.
|
|
|
Да, и ещё, вот такой вопрос интересен. Как получить публичный ключ биткоин из приватного на эллиптической кривой, математически?
Я знаю 2 операции с точками на эллиптической кривой. Удвоение и сложение. Умножение - это комбинация умножения и сложения в соответствии со значением бит в числовой константе приватного ключа, на который умножается генераторная точка G.
|
|
|
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.
|
|
|
а зачем вам этот список валют? вы их все майнить собираетесь? или сервис по отправке транзакций делать? ну учтите, что в некоторых есть существенные отличия от биткойна.
Интересен был бы именно майнинг. Без пулов. В режиме соло. Даже не столько сам процесс, сколько его настройка. Чтобы понять так-сказать, тонкости технологии. Но не просто майнинг а майнинг такой валюты, на которую ещё ASIC не понаподключали, и чтобы получалось часто, без закачек всяких. Какой-то закрытой, малоизвестной, находящейся в дебрях "Тихого дома". Как пройти в Тихий Дом вы все и так сами прекрасно знаете.А вот сервис по отправке транзакций в сеть, хорошая идея, но там нужен дедикейтед сервер и прямые руки с нанотехнологичными извилинами заодно.
|
|
|
Это вопрос или утверждение? Если вопрос - то, нет. Я не понял эту блок-схему. Если утверждение - то позвольте вас поздравить.
Это тупо картинка, которую удалось найти по запросу 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 ещё. Интересно сколько же места надо выделить на винте, под все эти блоки? =)
|
|
|
Что есть первое, а что второе? У самой типичной транзакции scriptSig состоит из ECDSA-сигнатуры 3045022100eaef1cf04e8691decf20fcd0b2f50e02cbe30e07b4dc7c3bbecd44d5dc5a82de02201 c855a9e169cb8c665a5fc0b34a1cf33024daddf888504043856642d1f0e635301 И публичного ключа 0268f18c4366abe0556c34dd9dd90ff7f37a317b649534c38f3ee09a2ddcba6901
Понял: Вот это я и называю "трахаться стоя, в гамаке и в скафандрах". Зачем столько действий делать руками если их за тебя сделает программа?
Просто тут не надо блоки, лучше принцип видно, ну и свести всё это можно просто к вводу адреса получателя, и суммы. Ну и транзакций нагенерить в оффлайне, а потом отправить пачкой при подключении к сети.
|
|
|
у всех транзакций есть scriptSig scriptSig - это половинка "колечка" которое связывает транзакции в цепочку но у coinbase-транзакции нет предыдущего звена, поэтому в scriptSig можно класть всё что угодно (ну почти всё, кое-какие правила там таки есть)
Input Scripts у рандомной транзакции имеет два значения, например вот: https://blockchain.info/tx/20fe5d9c2733c4a8bc7c747d970abbb0013ee072b6ab92e7d0b8d54ae8fea38bInput Scripts: 3045022100eaef1cf04e8691decf20fcd0b2f50e02cbe30e07b4dc7c3bbecd44d5dc5a82de02201 c855a9e169cb8c665a5fc0b34a1cf33024daddf888504043856642d1f0e6353010268f18c4366ab e0556c34dd9dd90ff7f37a317b649534c38f3ee09a2ddcba6901 С первым - понятно. Со вторым - нет. Как формируется - тоже не ясно. Такие дела. Мсье хочет ездить на формуле-1, а для начала освоить управление велосипедом отказывается? Ну ок, может кто-то и так может.
А я тебя помню, кажись. И ты это сюда принёс? Или отсюда это и выдернули? И формула1, и езда на велосипеде у меня была кстати, мне их замутили когда малый был, лол.Ну смотри: brainwallet -> transactions -> privkey -> данные -> re-sign -> raw-transaction -> https://blockchain.info/ru/pushtxИ всё. И никаких синхронизаций блоков в Qt.
|
|
|
Жмякните по ссылке [Show scripts & coinbase] не будьте ламером, который пользуется сайтом bc.i в упрощенном режиме Ну и зачем вам это? В упор не видел - теперь вижу. Значит, самая первая транзакция с отправителем "No Inputs (Newly Generated Coins)" - это coinbase-транзакция, и только у неё есть scriptSig, а у других транзакций в блоке - scriptSig нет. Знать бы как она формируется. Вижу в decoded - формате, в большинстве своём названия пулов фигурируют. Ну и зачем вам это?
Чтоб не таскать с собой QT, а просто priv, js, браузер и сеть.
|
|
|
Ок. Где взять scriptSig? Я не понимаю вопрос. Вам для нового блока надо придумать scriptSig или посмотреть какие scriptSig в имеющихся блоках уже используются? Ну открываете coinbase-транзакцию https://blockchain.info/tx/0143ffa829782d6a7585dc47a3026ca89b40e35a4aff09ead41953991aa9a162и строчка 03c3a7060004d13a1258046b48f7150c3ac41758250a0100000000000a636b706f6f6c182f42697 4436c7562204e6574776f726b2f5345475749542f и будет scriptSig этой транзакции (это шестнадцатеричное представление) Хочу понять где просмотреть scriptSig, и как именно она формируется. По ссылке - нет указанной строчки. А 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. Ок.
|
|
|
Бля, я картинку я для кого прикрепил? Не видно что ли?
Картинка - не ссылка. Ну вам еще читать и читать... Хотя мне нравится ваш интерес, но знаний у вас явно маловато.
Есть где-нибудь инфа чисто по матчасти? Ну, или хорошо откомментированный код, где принцип работы видно и разобрать можно без всяких декомпиляций и деобфускаций. 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 в браузер.
|
|
|
На дваче будешь так общаться, мамкин повар)
Ха, просёк. У меня там, "Криптовалют тред." в /cc =) getblocktemplate на клиенте.
Консоль:Запрос: getblocktemplate Ответ: Bitcoin is downloading blocks... (code -10) клиента можно запустить с опцией -detachbd тогда блоки качаться не будут
Всё-равно блоки тащатся с сети. В символах не напутал? меняют так называемый extra-nonce - то есть scriptSig у coinbase-транзакции, в который можно записать всяких рандомных байтиков А где его просмотреть этот extra-nonce? Есть ссылка? Если пул получил блок (чужой или свой - неважно), то для его обработки и создания темплейта следующего блока нужно определенное время. Чтобы майнеры подключившиеся в этот момент к пулу не проставивали зря им пул раздает задание майнить блок-пустышку.
Я так понимаю, откуда-то валят новые транзакции (откуда же?), а майнеры конкурируют за то, кто быстрее подберет нонс для блока, хеш которого будет содержать достаточное количество нулей и куда транзакции входят эти транзакции (или их часть). И кто быстрее это сделает при помощи этих своих петахешей, тот и выиграл. При этом транзакции могут менятся местами как угодно, или вообще исключаться, и ещё и extra-nonce менять можно. Так?
|
|
|
Но у вас их не будет, так что и проверить корректность вы не сможете.
А этот ещё и знает. =) Ну, есть у меня к примеру на одном из переносных жестких блоки в виде файлов 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 же - это отдельный сайт, парсер её, показывающий красивый интерфейс для просмотра этой цепочки.
|
|
|
Стоимость хранения данных на диске - ну это такие копейки, что я и не думаю про это. А вот качать блоки и ненужные выбрасывать - это расточительство. Потому что трафик обходится дороже. Не столько в плане денег, сколько в плане времени.
Я что блокчейн что-ли? Зачем мне все блоки всех транзакций на моём винте? А если это SD-карта c портаблельным линуксом на распберри, например? Я все еще не могу понять - зачем нужна последовательность блоков не вся, а отобранная по какому-то признаку, например по наличию в блоках транзакции с определенным адресом. Толку от такой "свалки мусора" немного, так как неполный блокчейн не даёт тебе гарантии надежности. Иными словами - ты не можешь проверить дали тебе настоящую цепочку блоков или фальшивую.
Почему нельзя? А по наличию в сети хеша блока с конкретным порядковым номером, не? Некорректные блоки и их цепочки отсеиваются же. Майнить на фальшивой цепочке блоков - это слишком рискованно. Не надо тут экономить.
Ну это понятно. Может быть ты решаешь задачу майнить не от последнего полученного из сети блока, а от какого-то из истории? Мсье собирается провести атаку-51? Ну так это можно решить с помощью прокси-сервера. То есть нужна программа-посредник между стандартным клиентом и остальным интернетом. И эта программа отдает клиенту не весь трафик, а только заданный. Например прокси-сервер "включается" если видит блок с транзакцией перевода с адреса "1xxxx" на адрес "1yyyyy" и не отдает больше клиенту блоки и транзакции. Клиент не получив этот блок, разумеется, майнит другую цепочку, куда ты вставляешь перевод с адреса "1xxxx" на свой адрес "1zzzzz" и когда ты наращиваешь цепь длиннее чем вырастила остальная сеть ты снова включаешь прокси и таким образом наёбываешь владельца адреса "1yyyyy"
Для Double-spending нужны петахеши и петафлопсы. LOL.
|
|
|
А я не предлагаю тебе брать случайные адреса с 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-блоком. Инфы в сети не нашёл.
|
|
|
Я кажется представляю себе к чему ты клонишь. Задача на самом деле другая. Представь себе что у тебя четыре миллиона приваткеев. Неважно каких - с первых страниц сайта directory.io надёрганных или из брейнваллет сгенерированных. Ты начинаешь парсить блокчейн от начала времен и если видишь пополнение известного тебе адреса - добавляешь неизрасходованный выход в список, а если видишь трату с этого адреса - вздыхаешь, что кто-то тебя опередил и вычеркиваешь из своего списка. Когда доходишь до конца цепочки блоков у тебя получается аккуратный список неизрасходованных выходов - то есть доступная тебе сумма бабла.
Нет, нет, я клоню чисто к оптимизации всей цепочки блоков под конкретный адрес. Что касается этих твоих миллионов приваткеев, сгенерённых или с directory.io, так длина приваткея 256 бит, и количество их комбинаций 2^256. А теперь, можешь сам посчитать вероятность того, что среди нагенерённых встретится адрес, юзанный в сети и уж тем более с неизрасходованными выходами. Кстати, directory.io тоже генерит, по сути. Каждая страница - это range для генерации. Потому что 904625697166532776746648320380374280100293470930272690489102837043110636675 страниц это YOBAбиты YOBIбайт.
|
|
|
так вам для майнинга? ну так не то что соло майнинг вообще про майнинг битка мжно забыть )) нужна ферма)
Будет профит - будет ферма. Главное технологию, так-сказать, прочувствовать.
|
|
|
так вам для майнинга? ну так не то что соло майнинг вообще про майнинг битка мжно забыть )) нужна ферма) если майнить то только форки
Ну вот взять догкоины, у них более 1,4 млн блоков. https://dogechain.info/Это ещё похлеще чем 436000 биткоиновых. LOL. https://blockchain.info/для пивалета конечно питон надо
У меня портабельный пистон, если чо.
|
|
|
|