Bitcoin Forum
June 24, 2024, 05:35:40 AM *
News: Voting for pizza day contest
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 [385] 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 »
7681  Local / Русский (Russian) / Re: Засерание ру-раздела форума "переводами&qu on: February 09, 2020, 11:05:18 AM
Вдохновил на создание темы этот комментарий в теме Как генерируются биткоин-адреса:

Биткоину стукнуло 10 лет, а они всё пишут инструкции как адреса генерируются и даже умудряются заблудиться в терминологии. Для кого этот перевод и для кого оригинал? Чего в этой информации нового что сектанты её дружно замеритили? Сколько ещё лет сообщество намеревается жевать букварь? Cool

В погоне за меритом докатились уже до переводов неграмотных авторов неграмотных тем.

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

Предлагаю обязать таких "переводчиков за меритом" публиковать свои переводы в отдельной специально созданной теме, либо рассмотреть идею создания для них отдельно выделенного раздела Спам переводов за мерит Переводы

Не хорошо говорить "за спиной". Вы можете написать автору лично, что он не грамотный и Лойсеву за отправку 20 заслуг за такую статью
Вот ссылка
https://bitcointalk.org/index.php?topic=5223167

Раздел кодеры мертвый, новых тем практически нет. Ошибки в терминологии исправлены мной  переводе. Если есть еще, достаточно написать в теме.

Перевод набрал 3 мерита Grin Если все так ясно, возможно вы выложите названия книг на русском, чтобы желающие смогли получить подобную информацию.



7682  Local / Русский (Russian) / Re: Надоел подписной спам? on: February 09, 2020, 10:30:11 AM
Vadi2323
чем ваша подпись лучше других Huh
Не ношу платные подписи, в чем проблема?

"Спам" набрал в английском форуме более 100 заслуг Grin
https://bitcointalk.org/index.php?topic=5223167

Не 1  критик не пришел в английский раздел и не написал автору за спам, ошибки в терминологии.
Жим жим - правильно Grin

2 момент.
Критика:
надоел, пишешь херню, плохая идея, ты дурак, не понимаешь..

Великолепно, с удовольствием читаю и ожидаю умной мысли дальше..  и.. ее нет .. умная мысль, приди наконец то

пойду "жевать букварь" Grin

7683  Local / Русский (Russian) / Re: Репутация в Русском локальном разделе on: February 08, 2020, 07:31:06 PM
Да, Маднес и zasad@
..

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

Воздержусь в этом конфликте от мнений, отзывов, тильд, потому что не хочу наделать ошибок.

Чекнул ваши траст листы. Нашел 1 человека из русского форума, которому вы оба доверяйте: xandry

попросите его рассудить, но сначала обещайте что 100% выполните его решение.
7684  Local / Русский (Russian) / Re: Репутация в Русском локальном разделе on: February 08, 2020, 01:41:51 PM
poptop, Goran потом  Yaremi удалили свои списки доверия.
Намечается тренд  Grin
7685  Local / Русский (Russian) / Re: Надоел подписной спам? on: February 07, 2020, 11:00:07 AM
OP, твоя подпись раздражает больше всех остальных Smiley
7686  Local / Кодеры / Re: Как генерируются биткоин-адреса? on: February 05, 2020, 11:59:10 AM
A-Bolt, достаточно было написать о неточностях перевода  Smiley
Правки внесены.
7687  Other / Beginners & Help / Re: How Bitcoin Addresses are generated? Understand the Math behind Bitcoin on: February 05, 2020, 11:21:10 AM
Thank you.
Russian translate
https://bitcointalk.org/index.php?topic=5223339
7688  Local / Кодеры / Re: Как генерируются биткоин-адреса? on: February 05, 2020, 10:20:07 AM
Тестирование

Code:
console.log(`This is Bitcoin Address: ${publicAddress}
This is WIF Key: ${WIF}
This is Uncompressed Public Key: ${uncompressedKey}
This is compressed Public Key: ${compressedKey}
Thisi is hexadecimal of Private Key: ${privateKey}`);

После записи вышеуказанного кода в файл сохраните файл и откройте терминал. Теперь выполните следующую команду в терминале. Убедитесь, что папка открыта в терминале:

node index.js (имя файла может быть другим у вас)

Вы получите адрес, WIF, открытые ключи, закрытый ключ в терминале, и они будут соответствовать ключам, сгенерированным bitaddress. Вы можете попробовать это на другом закрытом ключе. Просто измените закрытый ключ в шаге 3.

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

Надеюсь, вам понравилось это руководство. Дайте мне знать, если у вас все еще есть какие-либо сомнения, я отвечу на них.

Для получения полного кода посетите: https://webtricks.website/keyGeneration.html

Посмотреть, как работает код: https://key-generation-by-webby.herokuapp.com/


Это перевод поста пользователя webtricks. Спасибо ему за информацию!
7689  Local / Кодеры / Re: Как генерируются биткоин-адреса? on: February 05, 2020, 10:19:50 AM
Step 4. Создание сжатого и несжатого открытого ключа

Code:
const checkKey = key => key.length < 64 ? '0'.repeat(64 - key.length) : key;

const publicKeyX = checkKey(publicKey[0].toString(16));
const publicKeyY = checkKey(publicKey[1].toString(16));

const uncompressedKey = '04'+publicKeyX+publicKeyY;

let compressedKey;
if (publicKey[1]%BigInt(2)===BigInt(1)) {
  compressedKey = '03'+publicKeyX;
} else {
  compressedKey = '02'+publicKeyX;
}

Бинго! Мы достигли первой цели. Мы создали несжатый и сжатый открытый ключ. В приведенном выше коде мы прежде всего создали функцию checkKey. Эта функция делает интересную вещь. Возможно, что при преобразовании координат X и Y из числа в шестнадцатеричное число результирующая длина X и Y не равна 64. Но, как мы обсуждали ранее, длина несжатого ключа равна 130, где первые два символа равны 04, затем 64 символа X,и затем 64 из Y. Таким образом, мы добавляем нули,для заполнения пустоты, если длина меньше 64. Например, если длина X равна 63 символам, мы добавим один 0, чтобы сделать его 64.

Затем мы определили шестнадцатеричное значение координаты X как publicKeyX, а Y как publicKeyY. Вы можете видеть, что мы используем toString (16) во второй и третьей строке. Этот код преобразует число в шестнадцатеричное, а затем общая checkkey проверяет, является ли длина меньше 64, затем добавляет 0, если нет, возвращает тот же ключ.

Затем мы определили несжатый ключ как uncompressedKey, а затем сжали ключ как 03 + X, если Y нечетный, и 02 + X, если Y четный.


Step 5. Создание P2PKH ключа

Прежде чем начать с кода, давайте обсудим процесс генерации ключа P2PKH. Следует отметить, что несжатый и сжатый ключ, который мы сгенерировали на шаге 4, не был специфичным для биткоинов. Есть несколько других сервисов, таких как Gmail или Facebook, использующих криптографию Elliptic Curve(элептической кривой) для создания открытых/закрытых ключей. Однако именно на этом шаге мы конвертируем наш открытый ключ в специфичный для Биткойн формат, то есть P2PKH. Ниже приводится графическое представление процесса, да художник вернулся : D



Поэтому мы начнем с несжатого ключа, сгенерированного на шаге 4 (мы также можем начать со сжатого ключа, который будет генерировать другой адрес P2PKH, но может использоваться взаимозаменяемо и принадлежит одному и тому же секретному ключу). Затем мы используем sha256 на несжатом ключе. Затем ripemd160 хешируем на предыдущее значение. Затем мы добавляем 00 перед предыдущим хешем. Это наш 21-байтовый двоичный адрес. Сгенерируем следующие 4 байта двоичного адреса. Мы должны выполнить двойное хэширование sha256 для первых 21 байта. Возьмите первые 4 байта результирующего хэша, т.е. первые восемь символов результирующего хэша, и добавьте его в конце 21 байт. Наконец, мы получаем 25-байтовый двоичный адрес, и мы должны преобразовать его в код Base58. Теперь давайте посмотрим на окончательный код.
 
Code:
const keyHex = Buffer.from(uncompressedKey, 'hex');
const ripedHashedKey = ripemd160(sha256(keyHex));
const mainRipeKeyString = '00'+ripedHashedKey.toString('hex');
const mainRipeKey = Buffer.from(mainRipeKeyString, 'hex');
const doubleHashedKey = sha256(sha256(mainRipeKey)).toString('hex');
const checkSum = doubleHashedKey.substr(0, 8);
const binaryAddress = Buffer.from(mainRipeKeyString+checkSum, 'hex');
const publicAddress = bs58(binaryAddress);

Приведенный выше код - не что иное, как те же 8 шагов, которые я подробно описал на рисунке выше. Мы успешно создали наш Биткойн-адрес. Теперь давайте перейдем к последнему шагу и сгенерируем наш закрытый ключ WIF из шестнадцатеричного секретного ключа.

Step 6. Создание WIF из закрытого ключа

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



Первый шаг прост: мы берем шестнадцатеричную форму закрытого ключа и добавляем 80 перед ним. Обратите внимание, что все эти дополнения, которые мы вносим в код, на самом деле не являются числами. Это шестнадцатеричные коды, например, здесь 80, если преобразовать в десятичную форму, это 128. Хорошо, затем мы выполняем 2 этапа хеширования sha256. Затем мы берем первые 4 байта результирующего шестнадцатеричного значения и добавляем их в конец расширенного шестнадцатеричного секретного ключа. Наконец мы выполняем хеширование Base58 и в результате получаем ключ WIF.

Code:
const pvtKeyExtended = "80"+privateKey;
const extended = Buffer.from(pvtKeyExtended, 'hex');
const hashedExtended = sha256(sha256(extended)).toString('hex');
const checksum = hashedExtended.substr(0, 8);
const finalHex = pvtKeyExtended+checksum;
const WIF = bs58(Buffer.from(finalHex, 'hex'));

Ничего особенного в коде на этот раз тоже нет. Мы просто выполняем все шесть шагов, как указано на картинке выше. Если у вас есть какие-либо сомнения относительно какого-либо кода, вы можете спросить в теме или в ЛС.

Хорошая работа! Мы наконец завершили процесс и сгенерировали наш Биткоин-адрес вместе с ключом WIF. Отлично, теперь давайте проверим код дальше.
7690  Local / Кодеры / Как генерируются биткоин-адреса? on: February 05, 2020, 10:19:17 AM
Это перевод поста пользователя webtricks. Спасибо ему за информацию!


Как генерируются биткоин-адреса

Этот тема расскажет только о адресах формата P2PKH, то есть адрес, начинающийся с «1», также известный как Legacy Address. Далее я создам новую тему о том, как создаются адреса P2SH или Bech32.

Ok! Итак, начнем. Биткоин-адрес имеет:закрытый ключ и открытый ключ. Открытый ключ - это ключ, который предоставляется отправителю и всему миру. Пример: 18J6ai34uzGofUuzbiwhXJzKzdx1efDBqA. Принимая во внимание, что закрытый ключ - это ключ, который используется для доступа к средствам, полученным с помощью открытого ключа.

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


Приватный ключ

Проще говоря, все может быть закрытым ключом, если оно удовлетворяет двум условиям. Условие первое: оно не должно равным 0. Во-вторых, оно должно быть ниже значения N, определенного SECG для кривой secp256k1. Однако значение N очень и очень большое, поэтому практически каждое 256-битное число является допустимым закрытым ключом.

Теперь возникает вопрос, как сгенерировать закрытый ключ. Как я уже говорил в начале, что все может быть закрытым ключом. Например, эта строка: "я-строка для генерации закрытого ключа" может быть преобразована в закрытый ключ. Все, что вам нужно сделать, это преобразовать эту строку в 256-битное значение и проверить, что оно меньше, чем N.

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

Но опять возникает другая проблема. Большинство генераторов, таких как Math-библиотека Javascript (функция Math.random ()), используют фиксированные шаблоны для генерации случайных чисел. Таким образом, использование таких генераторов вызовет больше неудобств, чем ключей. : D

Так что же является окончательным решением? Лучше всего использовать ключи, сгенерированные кошельками, но если вы хотите самостоятельно погрузиться в процесс, используйте безопасные генераторы, такие как randomBytes npm module в Node.js.


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

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


1. Public Address (Публичный адрес)

P2PKH (Pay-to-Public-Key-Hash) является основной формой совершения транзакций. Для отправки биткойнов используется хеш открытого ключа . Существуют различные этапы хэширования, задействованные для генерации ключа P2PKH из шестнадцатеричного открытого ключа. Мы попытаемся рассказать об этом ниже в этой теме с примерами рабочего кода.
https://ru.bitcoinwiki.org/wiki/P2PKH

2. WIF Private Key (Закрытый ключ WIF)

WIF или Wallet Import Format - это формат закрытого ключа, в который кошельки, такие как Electrum, импортируют закрытый ключ. Если вы вставите незащищенный шестнадцатеричный секретный ключ, Electrum не откроет кошелек. Вы должны конвертировать закрытый ключ в формат WIF, чтобы использовать его в кошельках. Мы также напишем код для преобразования закрытого ключа в WIF.

3. Uncompressed Public Key (Несжатый открытый ключ)

Хорошо! Поэтому я пока не обсуждал, как генерируется открытый ключ. Процесс на самом деле сложный. Возьмем специальную точку генератора, определяемую как G по SECG, которая расположена на кривой secp256k1, то есть на одной из эллиптических кривых. Затем мы умножаем эту  точку с помощью закрытого ключа. Полученное умножение даст нам две координаты, одна из которых X, а другая Y. Несжатый открытый ключ-это не что иное, как: 04 + X + Y. таким образом, первые два числа открытого ключа-это 04, Что означает, что ключ несжат. Следующие 64 символа (32 байта, так как каждые 2 символа шестнадцатеричного кода составляют 1 байт) являются координатами X, а последние 64 символа (32 байта) - координатами Y. Общая длина несжатого открытого ключа составляет 130 или 65 байт.

4. Compressed Public Key( Сжатый открытый ключ)

Поскольку можно найти координату Y, если задана координата X. Поэтому мы обычно отбрасываем координату Y из нашего открытого ключа. Таким образом, последние 64 символа удаляются. В результате сжатый открытый ключ состоит из 66 символов (32 байта). Первые два символа могут быть либо 02, либо 03 (вместо 04), а следующие 64 символа (32 байта) будут координатами X. Если значение координаты Y равно нулю, то ставится 02. Если значение координаты Y нечетное, то ставится 03. На приведенной выше фотографии значение координаты Y было нечетным, поэтому у нас есть 03 В нашем ключе.

5. Private Key Hexadecimal Form (Закрытый ключ в шестнадцатеричной форме)

Как мы обсуждали ранее, закрытый ключ должен быть 256-битным или 32-байтовым (8 бит = 1 байт), который при преобразовании в шестнадцатеричную форму должен содержать 64 символа. Таким образом, вы можете преобразовать любое значение в шестнадцатеричное, и оно будет состоять из 64 символов. Это очень удобно для нашего биткойн-кода, потому что мы будем использовать шестнадцатеричную форму закрытого ключа, чтобы начать генерировать ключи. Итак, как я говорил ранее, мы можем даже использовать строки типа «Я строка для генерации секретного ключа» для генерации секретного ключа, вот в чем секрет. Сначала мы преобразуем такие строки в шестнадцатеричные, а затем используем 64 символа шестнадцатеричных символов для генерации пары ключей.

6. Private Key Base64 Form (Форма закрытого ключа Base64)

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

Достаточно для началаа. Теперь давайте углубимся в описание кода и сгенерируем вышеуказанный ключ.



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

Перед началом давайте подготовимся. Первый шаг - создать папку. Внутри папки создайте файл с расширением .js. Имя файла может быть любым, например, index.js или app.js.
Следующим шагом является загрузка node.js на ваш компьютер. Скачать node.js очень просто, это похоже на скачивание любого другого программного обеспечения. Следующим шагом является загрузка некоторого редактора кода, я предлагаю Visual Studio Code (простой в использовании).

После выполнения вышеуказанных действий откройте папку в Visual Studio Code и перейдите к своему терминалу. В Visual Studio Code есть встроенный терминал, вы тоже можете его использовать. Если нет, вы можете использовать собственный терминал Mac или Windows, но убедитесь, что вы открыли папку в терминале. После открытия папки в Visual Studio Code и терминале выполните следующие команды в терминале, чтобы установить 2 значения для проекта:

Code:
npm init -y
npm i ripemd160 --save
npm i bs58 --save

Нам нужны три функции хеширования в нашем коде, а именно sha256, palemd160 и base58, кроме криптографии на эллиптических кривых. sha256 уже присутствует в собственной криптографической библиотеке nodejs. Мы можем либо кодировать два других самостоятельно, либо просто импортировать их. Для простоты этого руководства мы установили выше пакеты naspullmd160 и bs58 npm и будем использовать их в нашем коде. Я проверил исходный код обоих пакетов, и использовать его в коде совершенно безопасно.

Теперь давайте начнем настоящее веселье. Откройте ваш файл и начните с кода. Код в хронологическом порядке. Код шага 1 будет идти в верхней части файла, а код шага 2 начнется там, где заканчивается код шага 1 и так далее:

Step 1. Создание функций хэширования

Code:
const crypto = require('crypto');
const RIPEMD160 = require('ripemd160');
const BS58 = require('bs58');

const sha256 = input => crypto.createHash('sha256').update(input).digest();

const ripemd160 = input => new RIPEMD160().update(input).digest();

const bs58 = input => BS58.encode(input);

Ok! Итак, в первых трех строках кода мы импортировали код всех трех функций хеширования в нашем файле. Далее мы создали функции для них. Не обязательно создавать функции, но в этом случае мы должны снова и снова писать весь код всякий раз, когда нам нужно что-то хэшировать. Например, если мы не пишем эти три функции, то каждый раз, когда нам нужно создать sha256-хэш чего-то, мы должны написать crypto.createHash ('sha256'). Update (something).digest () но с приведенным выше кодом, мы просто должны написать sha256 (something) со следующего раза. Здорово? Давайте двигаться дальше.

Step 2. Создание функции эллиптической кривой

Code:
const generateECPoints = privateKey => {

    const Pcurve = BigInt('0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F');

    const Gx = BigInt('55066263022277343669578718895168534326250603453777594175500187360389116729240');
    const Gy = BigInt('32670510020758816978083085130507043184471273380659243275938904335757337482424');

    const G = [Gx, Gy];

    const modInverse = (a, n) => {

        a = (a % n + n) % n

        const dArray = [];
        let b = n;

        while(b) {
        [a, b] = [b, a % b];
        dArray.push({a, b});
        }

        if (a !== BigInt(1)) {
        return null;
        }

        let x = BigInt(1);
        let y = BigInt(0);

        for(let i = dArray.length - 2; i >= 0; --i) {
        [x, y] = [y,  x - y * BigInt(dArray[i].a / dArray[i].b)];
        }

        return (y % n + n) % n;
    }

    const modOf = (a,b) => {
        const r = ((a % b) + b)% b;
        return r;
    }

    const ECAdd = (a,b) => {
        const lamAdd = modOf((b[1] - a[1]) * BigInt(modInverse(b[0] - a[0], Pcurve)), Pcurve);
        const x = modOf((lamAdd*lamAdd - a[0] - b[0]), Pcurve);
        const y = modOf((lamAdd*(a[0] - x) - a[1]), Pcurve);
        return [x, y];
    }

    const ECDouble = a => {
        const lamda = modOf(((BigInt(3)*a[0]*a[0])*(modInverse(BigInt(2)*a[1], Pcurve))), Pcurve);
        const x = modOf((lamda*lamda - BigInt(2)*a[0]), Pcurve);
        const y = modOf((lamda*(a[0] - x) - a[1]), Pcurve);
        return [x, y];
    };

    const ECMultiply = (genPoint, pvtKey) => {
        const scalarBinary = BigInt('0x'+pvtKey).toString(2);
        let GP = genPoint;

        for (let i=1; i < scalarBinary.length; i++) {
            GP = ECDouble(GP)
            if (scalarBinary[i] === '1') {
                GP = ECAdd(GP, genPoint);
            }
        }
        return GP;
    }
    
    return ECMultiply(G, privateKey);
}

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

Step 3. Генерация координат X и Y из открытого ключа из вышеуказанной функции и закрытого ключа

Code:
const privateKey = "6EBD5FAB742ED0734B37C63BD2A3CE8797FE4AC63C9A99781F8BEDDF6307094E";
const publicKey = generateECPoints(privateKey);

На этом шаге мы взяли шестнадцатеричное значение секретного ключа (5-й элемент изображения) и поместили его в функцию generateECPoints, созданную на шаге 2. Это даст нам координаты X и Y открытого ключа, которые будут выглядеть следующим образом:
[26552980488606060638326679080566574626825610331305555186819497546906082384636n, 106820354128014061768597493909158935631153585355120117243602895828064095418195n]

Вы можете заметить n в конце каждой координаты. Это n означает, что мы имеем дело с очень большими числами, известными как большие целые числа в Javascript. Также вы можете заметить, что эти координаты не соответствуют X и Y на изображении выше. Ну, мы сгенерировали числа на данный момент. Мы должны преобразовать их в шестнадцатеричные числа, чтобы получить несжатый ключ и сжатый ключ. Давайте сделаем это на следующем шаге.
7691  Local / Русский (Russian) / вопрос насчет изменения структуры некото on: February 04, 2020, 08:08:28 PM
не буду создавать новый топик.
Мой вопрос насчет изменения структуры некоторых разделов.
Барахолка: все в 1 разделе от ворованных кошельков до земли под строительство.
Трейдинг: биржи, стратегии, обучение- тоже самое.
Майнинг: асики, видеокарты и прочие разговоры- тоже самое

очень неудобно искать нужную информацию

есть смысл чтото пытаться поменять, или все останется как есть?
7692  Local / Oбcyждeниe Bitcoin / Re: Сколько хардфорков у биткоина? on: February 04, 2020, 08:02:29 PM
Кто объяснит, почему размер блокчейна у BSV,BCH намного меньше чем у биткоина.

Сам спросил, сам ответил ))

Там нет столько транзакций

не слежу за BSV,BCH. Мне технически не понятно как по сети будут распространятся большие блоки 128 мегабайт?
Это может вызвать проблемы
7693  Local / Oбcyждeниe Bitcoin / Re: Сколько хардфорков у биткоина? on: February 04, 2020, 03:24:35 PM
Кто объяснит, почему размер блокчейна у BSV,BCH намного меньше чем у биткоина.
У них размер блока большой. Там нет столько транзакций?
7694  Local / Новички / Re: [ГАЙД] Устав обменых операций on: February 04, 2020, 11:10:48 AM

Либо если нет такого желания, то сделать по умному. Дождаться опять медвежей фазы рынка и падения от минус 40%.
Здесь возникает 1 я проблема Grin
Если Виталик запустит ПОС, шардинг, уменьшит комиссию и .., то мы полетим на луну

Я говорю о следующей медвежьей фазе, а это примерно через 2-4 года может быть, нам ведь ещё на бычьем рынке нужно заработать, а вот уже после него и ждать эту медвежью фазу.
Нарисуйте ваш график волн по эфиру на 2-4 года, потом вместе посмеемся. с меня мерит.
7695  Bitcoin / Bitcoin Discussion / Re: How Many Bitcoin Forks Are There? You will be surprised!!! on: February 04, 2020, 10:52:33 AM
Thank you, interesting topic.
Russian translate
https://bitcointalk.org/index.php?topic=5223031
7696  Local / Oбcyждeниe Bitcoin / Re: Сколько хардфорков у биткоина? on: February 04, 2020, 10:08:38 AM
Полезное дополнение
Как вы видите, я не упомянул BSV в своей статье, и я сделал это специально, потому что BSV - это хард-форк BCH, а не BTC !!!

Как вы уже знаете, Bitcoin Cash (BCH) разрабатывался как ответ на проблему масштабирования биткоина и в ноябре 2018 года снова "форкнулся", потому что в сообществе BCH все еще шли идеологические споры о масштабируемости и конечном размере блока (на самом деле 32 МБ), что привело к созданию Bitcoin Cash SV (BSV), с размером блока 128 МБ.

Многие думают, что BCH и BSV являются наиболее известными хард-форками BTC, но это не так, и BSV является хард-форком BCH.


оставлю ссылку на хороший ресурс за наблюдением за основными блокчейнами
https://blockchair.com
7697  Local / Oбcyждeниe Bitcoin / Сколько хардфорков у биткоина? on: February 04, 2020, 09:13:11 AM
Это перевод поста пользователя wwzsocki. Спасибо ему за информацию!

Начну с объяснения, что такое хард-форк для менее опытных участников.

Quote
Hard fork (или hardfork) - относительно технологии блокчейн, то это радикальное изменение сетевого протокола, которое делает ранее недействительные блоки (цифровые фрагменты информации) и транзакции действительными или наоборот. Хардфорк требует, чтобы все узлы или пользователи обновились до последней версии ПО.
https://www.investopedia.com/terms/h/hard-fork.asp

Долгое время в сообществе обсуждалась проблема масштабирования биткоина из-за малого размера блока в 1 мегабайт, что служило причиной увеличения времени транзакций и увеличения комиссии.

Первый хард-форк состоялся на блоке № 478559 1 августа 2017 года, что привело к появлению Bitcoin Cash (BCH), который предлагает более крупные блоки (до 8 мегабайт).
Конечно, чтобы быть честным со всеми и с самим собой, я должен добавить, что проблема масштабирования BTC сегодня не так важна или даже может рассматриваться как решенная, потому что у нас есть Сеть Lightning Network, где транзакции BTC практически мгновенные и очень дешевые.

Я уже упоминал самый известный BTC hard fork- BCH и думаю, что многие из вас знают о другом, который называется Bitcoin Gold (BTG).

Итак, давайте углубимся в историю форков BTC (hard, soft) и суммируем все в хронологическом порядке:


https://www.howtotoken.com/explained/bitcoin-forks-chronology-ultimate-list-forks/

Мы видим три софт-форка BCH (XT, Unlimited, Classic) и Segwit до Bitcoin Gold.

Итак, я уверен, что все вы сейчас задаетесь вопросом: Сколько существует биткойн-форков? и сколько новых альткойнов было создано?

Всего 105 биткойн-форков (hard и soft) . Из них 74 считаются активными проектами , остальные 31 считаются историческими и более не актуальны.



https://www.forks.net/list/Bitcoin//1/2017-01-01/2020-01-01


1. BitcoinX (BCX), 2. ABitcoin (ABTC), 3. Bitcoin Hot (BTH), 4. Super Bitcoin (SBTC), 5. Bitcoin Platinum (BTP), 6. Bitcoin Oil (OBTC), 7. Bitcoin World (BTW), 8. Bitcoin Stake (BTCS), 9. Bitcoin Faith (BTF), 10 Lightning Bitcoin (LBTC, 11 Bitcoin Cash Plus (BCP), 12 Bitcoin Silver (BTCS), 13. Bitcoin Uranium (BUM), 14. Bitcoin Top (BTT), 15. Bitcoin Pizza (BPA), 16. Bitcoin File (BIFI),
17 Bitcoin God (GOD), 18 BitEthereum (BITE), 19 Bitcoin Segwit2x, 20 Bitcoin Smart (BCS), 21 Bitcoin Ore (BCO), 22 Bitvote (BTV), 23 Bitcoin Interest (BCI), 24 Bitcoin Rhodium (BTR), 25 Bitcoin Atom (BCA), 26 Bitcoin Private (BTCP), 27 Bitcoin Hush (BTCH), 28 Quantum Bitcoin (QBTC), 29 Bitcoin LITE (BTCL), 30 Bitcoin 2, 31 Big Bitcoin 32 Bitcoin Cloud, 33 Bitcoin Candy, 34 Bitcoin Lambo, 35 ClassicBitcoin, 36 BitcoinClean, 37 Bitcoin Lunar (BCL), 38 Bitcoin Prime: TBA, 39 Anonymous Bitcoin (ANON), 40 Fox BTC, 41 Bitcoin Reference Line, 42 MicroBitcoin, 43 BItcoin Classic, 44 Bitcoin Dao, 45 Bitcoin RM, 46 Bitcoin Air, 47 Bitcoin Post-Quantum, 48 Bithereum, 49 Bitcoin Stash, 50 Bitcoin Core, 51 Bitcoin Dollar, 52 Bitcoin Metal, 53 Hex, 54 Bitcoin All, 55 BitcoinCash Zero... и много других.

45 простых хардфорков, прямо или косвенно вышедших из основного блокчейна Bitcoin:



https://forkdrop.io/how-many-bitcoin-forks-are-there

Продолжение следует, потому что это данные только до 2019 года. Я не смог найти полный хронологический список форков BTC с самого начала до сегодняшнего дня, поэтому мы можем предположить, что этот список намного больше Shocked

P.S.
Продолжается дискуссия о хард-форках, софт-форках и "горе разработчиках". Многие участники дискуссии сошлись на мнении, что только пару из этих монет следует рассматривать как настоящие монеты, а большинство - не более чем бесполезные "подражатели", которые ничего нового не добавляют в проект. Конечно, я полностью согласен со всеми этими утверждениями, но цель этой темы состояла в том, чтобы показать: Сколько существует форков биткоина? , конечно,  хард-форков, софт-форков , и я не предоставил никаких подробностей о монетах специально.

Вот лучший комментарий, который суммирует все вышенаписанное:

Хотя объяснение технически правильно, но оно ужасно, потому что вводит в заблуждение.
все эти монеты должны называться биткоин-копиями вместо форков биткоина- и термин fork должен использоваться только тогда, новый проект обновляется новым решением или что то дорабатывается/удаляется. Например, bcash - это не биткойн-форк, а биткойн-копия.

Разумеется, комментарий подходит для 99% этих монет.


https://www.forks.net/list/Bitcoin//1/2017-01-01/2020-01-01
https://forkdrop.io/how-many-bitcoin-forks-are-there
https://cryptocurrencyfacts.com/a-list-of-upcoming-bitcoin-forks-and-past-forks/
https://www.investopedia.com/terms/h/hard-fork.asp
https://www.howtotoken.com/explained/bitcoin-forks-chronology-ultimate-list-forks/
7698  Local / Альтернативные криптовалюты / Re: [ETH] Ethereum - мировой компьютер on: February 04, 2020, 08:03:18 AM
Для настроения, крутая картина Grin

Etheria, 2018, Acrylics on canvas, 60x40cm/23,6”x15,7”  // 0.1 BTC

7699  Local / Русский (Russian) / Re: Аллея славы RU локали on: February 03, 2020, 10:09:40 PM
Balthazar, удалите картинку, зачем себя лишний раз деанонимизировать.
Tinkoff megafon Huh
у меня интерфейс совершенно другой в СБ, этот очень старый
7700  Local / Обменники / Re: Куплю криптовалюту на Миллиард Рублей и Б on: February 03, 2020, 09:36:13 PM
https://www.bestchange.ru/ruble-cash-to-bitcoin.html

~1650BTC

вы можете  приобрести эту сумму в МСК при ваших ресурсах и возможностях у проверенных обменников и не платить +10% к курсу. Или вы готовы отдать 10% посреднику?

нет времени доехать до Moscow-City Huh или отправить помощника с деньгами, битки обратно сами придут Smiley


Pages: « 1 ... 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 [385] 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!