Extranonce перевод: AMD — Teamredminer v0.7.7 | MiningClub.info

Содержание

AMD — Teamredminer v0.7.7 | MiningClub.info

А че все молчат? Валера хорош ботов разводить, работай, хорош халтурить.

AMD GPU Optimized Cryptocurrency Miner. Contribute to todxx/teamredminer development by creating an account on GitHub.

github.com

Changes in v0.7.7

  • Added support for Nimiq Polaris/Vega (dumb mode only).
  • Integrated a Nimiq node.js network proxy into the miner.
  • Fixed Nimiq bug that could lose shares, especially against lower vardiff pools.
  • Fixed Nimiq bug that could cause duplicate shares on startup for low-diff pools.
  • Fixed regression bug for ethash Nicehash, correct stratum mode now used again.
  • Added support for Nimiq Navi.
  • Added support for icemining Nimiq solo mining mode (set -p m=solo).
Изменения в v0.7.7
Добавлена поддержка Nimiq Polaris / Vega (только тупой режим).
Встроенный сетевой прокси Nimiq node.js в майнер.
Исправлена ошибка с Nimiq, которая могла потерять акции, особенно против младших пулов Vardiff.
Исправлена ошибка Nimiq, которая могла приводить к дублированию общих ресурсов при запуске для пулов с низкой разницей.
Исправлена ошибка регрессии для ethash Nicehash, теперь снова используется правильный режим stratum.
Добавлена поддержка Nimiq Navi.
Добавлена поддержка режима добычи в одиночном режиме Nimiq (set -p m = solo).

Changes in v0.7.6

  • Fixed broken keyboard input in tmux+screen sessions (e.g. Hive OS).
  • Added support for 5500(xt).
  • Fixed Linux watchdog support for hard driver crashes (script was not executed).
  • Fixed kawpow nicehash extranonce support.
Изменения в v0.7.6
Исправлен неправильный ввод с клавиатуры в сеансах экрана tmux + (например, Hive OS).
Добавлена поддержка 5500 (xt).
Исправлена поддержка Linux watchdog для жесткого сбоя драйвера (скрипт не был выполнен).
Исправлена поддержка extranonce для kawpow nicehash.

перевод гугла

Биткойн майнер на Java. Создание Mining Pool на Java

Большой рост цен на игровые видеокарты (сравните цены декабря 2017-го и февраля 2018-го, почувствуйте разницу) говорит о том, что предприимчивый пользователь не очень верит в падение курса биткойна. Но даже в такой холодной стране с дешевым электричеством, как Россия, себестоимость майнинга одного намайненного битка, с учетом риска дальнейшего падения и затруднений при обналичивании, не совсем себя оправдывает. Что же делать в такой ситуации? Как обычно — задействовать чужие компьютеры, переходить к распределенному майнингу, освобождать от тяжелой работы свою личную видеокарту, заварить чашку кофе и откинуться на спинку кресла.

РЕКОМЕНДУЕМ:
Как запустить свое ICO

Выбор криптовалюты и подготовка

В качестве криптовалюты мы выбрали биткойны — из-за их высокой стоимости и отличной (по сравнению с друигими криптовалютами) документации. Так как сеть биткойн не владеет централизованым хранилищем данных, чтобы с ней работать, нам потребуются средства синхронизации с другими узлами сети. К счастью, уже есть готовое решение — пакет программ Bitcoin Core. Синхронизация с живой сетью занимает очень много времени и места на диске, поэтому для начала разработки и тестирования лучше использовать тестовую сеть testnet, которую периодически очищают от информации о транзакциях. Итак, запускаем UI-приложение Bitcoin Core (testnet) и подождем, пока синхронизация закончится. В дальнейшем для работы будем использовать консольный сервис bitcoind.

Для общения с bitcoind используется протокол JSON-RPC. Это очень простой протокол поверх HTTP, который позволяет вызывать методы сервера, используя JSON, чтобы задавать имя метода и параметры.

По умолчанию в целях безопасности возможность подключения к bitcoind отключена. Чтобы ее включить, нужно создать файл bitcoin.conf в каталоге Windows: %APPDATA%\Bitcoin\ (например, C:\Users\username\AppData\Roaming\Bitcoin\bitcoin.conf) или Linux: $HOME/.bitcoin/ (например, /home/username/.bitcoin/bitcoin.conf). Готовый файл можно взять с GitHub. Находим в нем и редактируем следующие параметры:

## Говорим серверу использовать тестовую сеть, а не настоящую

testnet=1

## Имя пользователя и пароль, конечно же, нужно поменять на сложные

rpcuser=rpcuser

rpcpassword=rpcpassword

Чтобы проверить настройки, можно воспользоваться готовым клиентом bitcoin-cli. Например, выполнив команду getinfo (предварительно запустив bitcoind). Подробное описание всех команд можно посмотреть тут.

Наш JSON-RPC-клиент напишем, используя фреймворк Vert.x, потому что он простой, код занимает мало места и в нем реализованы все необходимые нам функции.

Итак, создаем HTTP-клиент. Bitcoind использует базовую аутентификацию, поэтому конвертируем в Base64 строку с логином и паролем.

client = vertx.createHttpClient();

requestOptions = new RequestOptions()

        .setHost(host)

        .setPort(port)

        .setURI(«/»);

base64Key = Base64.getEncoder().encodeToString((user + ‘:’ + password).getBytes());

Пишем простой метод для вызова методов bitcoind. Будем передавать в него команду в JSON-формате и handler, чтобы реагировать на полученный ответ от сервера.

private void executeRpc(String command, final Handler<Buffer> handler) {

    client

        .post(requestOptions, result &rarr; {

            if (result.statusCode() == 200) {

                result.bodyHandler(handler);

            } else {

                System.out.println(«Failed do post because » + result.statusMessage());

            }

        })

        .putHeader(HttpHeaders.CONTENT_TYPE, «application/json»)

        .putHeader(HttpHeaders.AUTHORIZATION, «Basic » + base64Key)

        .putHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(command.length()))

        .write(command)

        .end();

}

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

Заголовок состоит из нескольких полей:

  • версия (определяет версию валидации блока),
  • хеш заголовка предыдущего блока,
  • корень Меркле (хеш всех транзакций, включенных в блок),
  • время создания блока,
  • bits (закодированная версия заданного максимального значения хеша блока),
  • nonce (произвольное значение).
Расшифровка заголовка

Всю эту информацию позволяет получить команда getblocktemplate.

executeRpc(new JsonObject(ImmutableMap.of(

        «id», «1»,

        «method», «getblocktemplate»,

        «params», «»,

        «jsonrpc», «1.0»)).toString(), buffer &rarr; {

    createJobData(buffer.toJsonObject());

});

В результате получим JSON-объект.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

{

  «result»: {

    «version»: <версия блока>,

    «previousblockhash»: «<хеш предыдущего блока>»,

    «transactions»: [ <транзакции, которые нужно включить в блок>

      {

        «data»: «<данные транзакции>»,

        «hash»: «<хеш транзакции, который понадобится для построения корня Меркле>»,

        «fee»: <разница в биткойнах между входами и выходами>,

        …

      }

      …

    ],

    «coinbaseaux»: { <данные, которые нужно включить в скрипт транзакции генерации новых денег>

      «flags»: «»

    },

    «coinbasevalue»: <максимальная награда за майнинг этого блока>,

    «target»: «<целевое значение для хеша блока>»,

    «mintime»: <минимальное возможное время создания блока>,

    «mutable»: [ <изменяемые поля>

      «time»,

      «transactions»,

      «prevblock»

    ],

    «noncerange»: «<допустимый диапазон nonce>»,

    «curtime»: <время создания блока>,

    «bits»: «<упакованное значение target>»,

    «height»: <высота текущего блока>

  },

  «error»: null,

  «id»: «1»

}

Чтобы добиться нужного значения хеша заголовка, майнер может менять nonce и время создания блока (в ограниченном диапазоне). Размерность nonce и ограничения на изменения времени создания блока приводят к ограниченному диапазону перебора возможных значений. Чтобы его увеличить, предусмотрена возможность изменения транзакций, в результате чего меняется корень Меркле, увеличивая тем самым варианты перебора. Задача пула — распределить работу между майнерами таким образом, чтобы их работа не дублировалась.

РЕКОМЕНДУЕМ:
Создание майнера криптовалюты Electroneum

Первой транзакцией в блоке обычно идет так называемая coinbase-транзакция, которая отвечает за генерацию новых денег. Она отличается от обычной транзакции тем, что не имеет входа, описывающего, откуда пришли деньги. Кроме того, в каждой транзакции есть поля scriptPubKey и scriptSig. В них содержится небольшая программа на языке Script, которая отвечает за валидацию транзакции. Чтобы транзакция считалась валидной, вызывается сначала scriptSig из старой транзакции, а затем scriptPubKey из новой транзакции. Если выполнение успешно, то транзакция считается валидной. Так как в coinbase-транзакции нет входящей транзакции, то поле scriptSig называется coinbase и в него можно писать любую информацию. Этим и пользуются пулы, чтобы увеличить диапазон перебираемых значений.

Описание полей coinbase-транзакции

Разработчики Bitcoin немного перемудрили с представлением данных — то прямой, то обратный порядок байтов, поэтому, чтобы не сойти с ума, воспользуемся для генерации coinbase-транзакции Java-библиотекой bitcoinj.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

TestNet3Params params = TestNet3Params.get(); // Используем тестовую сеть

byte[] pubKeyTo = (new ECKey()).getPubKey(); // Тут должен быть валидный кошелек пула

Coin coin = Coin.valueOf(blocktemplate.getJsonObject(«result»).getLong(«coinbasevalue»));

int height = blocktemplate.getJsonObject(«result»).getInteger(«height»);

String coinbaseauxFlags = blocktemplate.getJsonObject(«result»).getJsonObject(«coinbaseaux»).getString(«flags»);

byte[] extranonce = new byte[8];

String message = «Troyanpool Rulez!»;

byte[] coinbase = generateCoinbaseTransaction(params, height, extranonce, message, pubKeyTo, coin).bitcoinSerialize();

 

private Transaction generateCoinbaseTransaction(NetworkParameters params, int height, String coinbaseauxFlags, byte[] extranonce, String message, byte[] pubKeyTo, Coin value) {

    Transaction coinbase = new Transaction(params);

    ScriptBuilder inputBuilder = new ScriptBuilder();

    inputBuilder.number((long)height);

    byte[] coinbseauxFlagsData = isNotEmpty(coinbaseauxFlags) ? coinbseauxFlagsData = HEX.decode(coinbaseauxFlags) : new byte[0];

    byte[] messageData = message.getBytes();

    byte[] data = new byte[coinbseauxFlagsData.length + extranonce.length + messageData.length];

    if (coinbseauxFlagsData.length > 0) {

        System.arraycopy(coinbseauxFlagsData, 0, data, 0, coinbseauxFlagsData.length);

    }

    System.arraycopy(extranonce, 0, data, coinbseauxFlagsData.length, extranonce.length);

    System.arraycopy(messageData, 0, data, coinbseauxFlagsData.length + extranonce.length, messageData.length);

    inputBuilder.data(data);

    coinbase.addInput(new TransactionInput(params, coinbase, inputBuilder.build().getProgram()));

    coinbase.addOutput(new TransactionOutput(params, coinbase, value, ScriptBuilder.createOutputScript(ECKey.fromPublicOnly(pubKeyTo)).getProgram()));

    return coinbase;

}

Для удобства майнеров (чтобы им лишний раз не делать вычисления) разделим coinbase-транзакцию на три части: coinbase1, extranonce, coinbase2.

Осталось обеспечить канал связи с майнерами. Для этого воспользуемся протоколом Stratum. Он базируется на TCP/IP-сокетах, через которые гоняются данные в формате JSON. Создадим обработчик соединения с майнерами.

vertx.createNetServer().connectHandler(netSocket &rarr; {

    // Конец команды обозначается символом перевода каретки

    RecordParser parser = RecordParser.newDelimited(«\n», netSocket);

    parser

            .endHandler(v &rarr; netSocket.close())

            .exceptionHandler(throwable &rarr; {

                throwable.printStackTrace();

                netSocket.close();

            })

            .handler(buffer &rarr; {

                String inputCommand = buffer.toString(«UTF-8»);

                processCommand(new JsonObject(inputCommand));

            });

}).listen(33333);

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

// Сохраним информацию о майнере

Miner miner = new Miner(netSocket);

miner.setExtranonce1(minerCounter++);

Информацию об extranonce и уникальный идентификатор подписки отправляем клиенту в ответ на команду mining.subscribe:

if (command.getString(«method»).equalsIgnoreCase(«mining.subscribe»)) {

    String answer = «{\»jsonrpc\»:\»2.0\»,\»result\»:[[\»mining.notify\»,\»» + subscriptionId + «\»],\»»

        + extraNonce1 + «\»,» + extraNonce2.length + «],\»id\»:1}»;

Сформируем задание для майнера.

{

«params»:

  [«<идентификатор задания>»,

  «<хеш предыдущего блока>»,

  «<coinbase1>»,

  «<coinbase2>»,

  [«<хеш транзакции 1>», … «<хеш транзакции х>»],

  «<версия>»,

  «<bits>»,

  «<время создания блока>»,

  <если true, то необходимо переключиться на новую задачу>],

  «id»: «1», «method»: «mining.notify»

}

Когда майнер найдет решение, он пришлет вторую часть extranonce, время создания блока и nonce. Пулу необходимо собрать новый блок и отправить его в bitcoin-сеть.

TestNet3Params params = TestNet3Params.get(); // Используем тестовую сеть

// Не забываем добавить coinbase-транзакцию

transactions.add(generateCoinbaseTransaction(params, height, extranonce, message, pubKeyTo, coin));

Block block = new Block(params, blockVersion, prevBlockHash, merkelRoot, ntime, difficulty, nonce, transactions);

byte[] blockBytes = block.bitcoinSerialize();

executeRpc(new JsonObject(ImmutableMap.of(

        «id», «1»,

        «method», «submitblock»,

        «params», HEX.encode(blockBytes),

        «jsonrpc», «1.0»)).toString(), buffer &rarr; {

    JsonObject result = buffer.toJsonObject();

    if (result.getString(«result») == null) {

        System.out.println(«Блок успешно вставлен!»);

    }

});

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

// Сервер подписывается на события

vertx.eventBus().consumer(«miner.notify», message &rarr; {

    for (Miner miner : miners) {

        miner.getSocket().write(message.body().toString());

    }

});

// Планировщик заданий отправляет уведомление о новой работе

vertx.eventBus().publish(«miner.notify», jobNotification);

Рекомендуем к прочтению: Лучшие ICO-компании

Биткойн майнер готов!

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

Загрузка…

Сатоши Накамото добыл 1 миллион BTC в 2009 году?

Аннотация: Мы изучили, в какой степени майнер может доминировать в сети Биткойн в 2009 году. Мы рассмотрели анализ Серджио Демиана Лернера в 2013 году и обнаружили, что увеличение значения ExtraNonce в этом блоке может быть использовано для подключения разных блоков к одному и тому же майнеру. Мы использовали его анализ в качестве основы и пришли к выводу, что, хотя доказательства гораздо менее убедительны, чем предполагали многие люди, есть разумные доказательства того, что майнер, доминирующий в сети Биткойн в 2009 году, может добыть около 700000 биткойнов, поэтому Сатоши Накамото вряд ли будет добывать 1 миллион биткойнов. Хотя сам по себе наш анализ не очень убедителен, идеального способа решения этой проблемы не существует.

Майнеры, доминировавшие в сети Биткойн в 2009 году

В начале апреля 2013 года исследователь блокчейнов Серджио Демиан Лернер считал, что Сатоши Накамото добыл один миллион биткойнов в 2009 году. Логика, лежащая в основе этой точки зрения, заключается в том, что вычислительная мощность в 2009 году была на очень низком уровне, около 7 миллионов хеш-вычислений в секунду (то есть 7Megahash). В то же время этот хешрейт примерно такой же, как хешрейт Биткойна за предыдущие 14 дней, и Серджио считает, что Сатоши Накамото может быть единственным майнером в то время. Многие люди в сообществе скептически относятся к заявлениям Серджио. Подозрение, похоже, основано на следующем:

· Оценка вычислительной мощности 7 MH / sec основана на отметке времени блока, но она ненадежна и размер выборки недостаточно велик. · Нет никаких оснований полагать, что Сатоши Накамото добывал в одиночку в первые 14 дней. · Многие вспоминали, что в этот период они начали майнить. · Предположения Серджио об оборудовании неверны.

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

Анализ Серджио

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

Доказательства Серджио сосредоточены на том, что называется ExtraNonce. ExtraNonce не является частью протокола Биткойн, потому что он не является частью правил консенсуса, и нет официального заявления о том, как его интерпретировать. ExtraNonce является частью транзакции coinbase.Когда стандартные случайные числа в заголовке блока израсходованы, майнерам могут быть предоставлены дополнительные случайные числа после нескольких попыток хеширования. Как показано на рисунке ниже, по мере изменения ExtraNonce его влияние перемещается вверх по дереву Меркла к заголовку блока (хотя в 2009 году большинство блоков содержало только транзакции на основе монеты, поскольку сеть не используется для транзакций).

Серджио опубликовал картинку ниже, где ось Y — это ExtraNonce, а ось x — высота блока (он неправильно отметил ось x как время). Изображение показывает, что ExtraNonce увеличивается со временем в виде длинной серии диагональных линий. Говорят, что некоторые диагональные линии (черные) имеют одинаковые градиенты, не перекрываются и возвращаются к нулю, когда достигают определенной высоты. Это показывает, что все черные линии принадлежат майнеру (вероятно, Сатоши Накамото), и что теперь этот майнер контролирует почти миллион биткойнов. Хотя технические моменты, касающиеся градиента, высоты и отсутствия перекрытия диагональных линий, могут быть трудными для понимания, мы думаем, что само изображение явно очень убедительно.

Анализ BitMEX Research

Мы решили повторить анализ Серджио, но наша цель — подсчитать блоки, добытые кажущейся единственной сущностью, и выделить все блоки. Это занятие очень сложное, потому что диагональные линии взаимодействуют со многими другими точками. Поэтому сделать точное распределение невозможно. Поэтому наш анализ далек от совершенства. Мы использовали различные методы, включая статистический анализ, генераторы случайных чисел и даже ручной просмотр, чтобы выделить некоторые блоки. Мы делаем много ошибок, поэтому не утверждаем, что наши методы убедительны или научны. Однако, насколько нам известно, в 2009 году исследователи впервые попытались выделить каждый блок, чтобы определить, принадлежит ли он очевидному единому объекту. На изображениях с высоким разрешением ниже показано распределение каждого блока в 2009 году.

Анализ результатов распределения

По состоянию на август 2009 года мы согласны с выводами Серджио. До августа было 22 диагональных линии, каждая из которых имела одинаковую высоту и наклон (значение ExtraNonce для каждого блока увеличилось примерно на 4). При этом эти диагональные линии практически никогда не пересекаются. (В некоторых случаях очевидное перекрытие происходит менее чем в 5 блоках, поэтому это может быть просто совпадением).

После августа 2009 года это правило было в определенной степени нарушено. Градиент диагональной линии сильно варьируется (от 1,1 одноразовых значений на блок до 10 одноразовых значений на блок). При этом высота диагональных линий непостоянна, и между ними много больших промежутков. Поэтому, хотя изображение все еще кажется пояснительным, мы считаем, что доказательства того, что майнер является сущностью, немного слабоваты. Мы перечислили результаты ниже, включая данные до и после августа 2009 года.

Заключение: В целом, хотя есть веские доказательства того, что в 2009 году был доминирующий майнер, мы считаем, что доказательства гораздо менее убедительны, чем предполагали многие люди. Хотя изображение стоит тысячи слов, иногда изображение может вводить в заблуждение. Даже если кто-то убежден, доказательства только подтверждают утверждение о том, что, по нашему мнению, доминирующие майнеры могли добыть гораздо меньше одного миллиона биткойнов. Возможно, от 600000 до 700000 биткойнов — лучшая оценка.

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

Мы закончим известной цитатой Сатоши Накамото: «Зачем удалять кошелек вместо того, чтобы отложить его и оставить старую версию на всякий случай? Никогда не удаляйте кошелек».

Stratum V2 | The next generation protocol for pooled mining

Stratum V2 | The next generation protocol for pooled mining

Приносим свои извинения, но эта страница еще не переведена на русский язык.

ПРОТОКОЛ МАЙНИНГА

The next generation protocol for pooled mining by Pavel Moravec and Jan Čapek, in collaboration with Matt Corallo and other industry experts.

Stratum V2 is the next generation protocol for pooled mining. It focuses on making data transfers more efficient, reducing physical infrastructure requirements for mining operations, and increasing security. Additionally, Stratum V2 introduces three new sub-protocols that allow miners to select their own transaction sets through a negotiation process with pools, improving decentralization.

In the sections below, we’ll go through Stratum V2 feature-by-feature so that you can understand what’s changed from V1, why those changes matter, and how it all works on a technical level.

Note: Before you dive into the technical details, be sure that you understand the Terminology we’ll be using.

Protocol Overview

Device

The actual mining machine computing the hashes.

Proxy

An intermediary between Mining Devices and Pool Services that aggregates connections for efficiency and may optionally provide additional functionality, such as monitoring the health and performance of devices.

Hashrate Consumer

An upstream node to which shares (i.e. completed jobs) are being submitted. The most common hashrate consumers are pools.

Job Negotiator

A node which negotiates with a pool on behalf of one or more miners to determine which jobs they will work on. This node also communicates with a block template provider (e.g. bitcoind) and sends jobs to mining proxies to be distributed to miners.

Mining Protocol

This is the direct successor of stratum protocol v1. It’s the main protocol used for mining and the only part of the full protocol stack that needs to be implemented in all scenarios. It is used for communication between Mining Devices, Proxies, and Pool Services.

The protocol defines three types of communication channels: 

  • Standard channels don’t manipulate the Merkle path / coinbase transaction, greatly simplifying the communication required between them and upstream nodes.

  • Extended channels are given extensive control over the search space so that they can implement advanced use cases (e.g. translation between v1 and v2, difficulty aggregation, custom search space splitting, etc.).

  • Group channels are simply collections of standard channels that are opened within a particular connection so that they are addressable through a common communication channel.

Job Negotiation Protocol

Used by a miner to negotiate a block template (which includes the transaction set) with a pool, making pooled mining more similar to solo mining and thus increasing decentralization. The negotiation results can be re-used for all mining connections to the pool (of which there can be hundreds of thousands), greatly reducing the computational intensity.

This protocol is a separate, optional piece of infrastructure from the Mining Protocol and can be provided as a 3rd party service for mining farms.

Template Distribution Protocol

Used to get information about the next block out of Bitcoin Core. This protocol was designed as a much more efficient and easy-to-implement API to replace getblocktemplate (BIPs 22 and 23).

More specifically, the Template Distribution Protocol is used to communicate with a part of Bitcoin Core called “bitcoind” which implements the Bitcoin protocol for Remote Procedure Call (RPC) use. In other words, bitcoind allows the Bitcoin protocol to be integrated with other software.

Job Distribution Protocol

Used to pass newly-negotiated work to interested nodes, which can either be proxies or actual mining devices. This protocol is complementary to the Job Negotiation protocol.

In the case that miners aren’t negotiating their own work (i.e. choosing their own transaction sets), jobs will be distributed directly from pools to proxies and end devices, similarly to in the original stratum protocol. Additionally, it’s possible that the Job Negotiation role will be part of a larger Mining Protocol proxy that also distributes jobs, making this sub-protocol unnecessary even when miners do choose their own transaction sets.

Upstream and downstream describes the direction that data is flowing. The furthest downstream component is a Mining Device, while the furthest upstream component is a Pool Service.

Features

Bandwidth consumption

Stratum V2 is optimized in two ways to reduce bandwidth consumption. First, because it’s completely binary instead of JSON-based like V1, the size of data transfers is minimized. Second, it eliminates many instances where data is being transferred unnecessarily (e.g. redundant messages), meaning that the total amount of data transfers is also minimized.

V2 typical share submission message is 32 bytes without encryption and 48 with it.

V1 typical share submission message is approximately 100 bytes

Technical Description

Having a binary rather than text-based protocol reduces bandwidth consumption considerably. Making messages human-readable in Stratum V1 resulted in some messages being approximately 2-3 times heavier than necessary, and those have now been reduced to a minimum size in V2.

Additionally, V1 includes some messages that are unnecessary altogether, such as mining.subscribe. By eliminating these instances, fewer messages need to be transmitted in total and bandwidth consumption is reduced even further.  

Motivation & Impact

Reducing network traffic as well as client-side and server-side computational intensity translates to lower infrastructure costs for all participants. At the same time, a significant reduction in bandwidth consumption allows for hashing results to be transmitted more frequently, enabling more precise hashrate measurement and mining reward distribution as a result.

Server CPU load

With the introduction of standard and group channels for end devices, Stratum V2 enables efficient caching so that server CPUs don’t need to recompute the Merkle root for every share submission. This shifts more responsibility upstream from end mining devices to proxies that connect to pools via extended channels.

V2 70-80% reduction in CPU load on share submissions vs. V1

V1 Efficient caching is not possible. The Merkle root is recomputed for every submission.

Technical Description

Reduced server CPU load in Stratum V2 is a result of enabling end devices to do header-only mining. This means that the Merkle root is always provided by an upstream node and doesn’t need to be handled by end devices at all. In other words, end devices no longer have to perform any coinbase modifications. This makes computations simpler for miners, but it also has the added benefit of making work validation (i.e. CPU load) much lighter on the server side.

Motivation & Impact

As pool operators ourselves, one of our motivations for reducing server CPU load is probably rather obvious — it reduces our overhead costs. However, any pool can (and should) take advantage of this benefit, so the greater motivation in the big picture is simply to reduce the inefficiency of the entire network.

Job distribution latency

Pools can send jobs to workers ahead of time for future blocks, even before the prior block has been found. Then the pools can send the latest prevhash to the miners in a much smaller (i.e. faster) message, indicating that they should start working on the next block immediately.

V2 separates the messages, making it possible for the miners to start working on new (full) blocks more quickly after a previous block has been found.

V1 prevhash and future job are part of the same message, so pools send empty blocks.

Technical Description

Pools distribute jobs to miners by sending blocks containing some predefined data as well as some variable data that the miners handle. In Stratum V1, the predefined data includes the prevhash (i.e. hash of the most recently found valid block) and the Merkle root for the transaction set to be included in the current block. However, these two pieces of data aren’t seperabable, so there is a heavy (slow) data transfer necessary to distribute new jobs as soon as a new block (with a new prevhash) has been found and propagated. In Stratum V2, it’s possible to separate the prevhash from the rest of the predefined block data, which allows for the block data to be sent before a new prevhash is available. As a result, the new prevhash message can be sent on its own as soon as a valid block is found, and this transmission can occur much faster because the message doesn’t include heavier data. This enables miners to begin working on new jobs more quickly than they could with Stratum V1.

Motivation & Impact

Every millisecond that a miner has to wait to begin working on a new job is opportunity (i.e. money) lost. By separating the prevhash message from other job distribution messages in Stratum V2, those precious milliseconds can be saved.

Binary vs. non-binary

Stratum V2 is binary, which means messages are encoded so that machines can read and write them efficiently, but they aren’t suitable for humans to read or work with directly. As a consequence, the size of data transfers between miners, proxies, and pool operators is minimized.

V2 data transfers are not human-readable, but are significantly more efficient.

V1 sends human-readable (JSON) data, which helped with adoption and is easier to parse / debug, but is much less efficient.

Technical Description

The protocol has fixed message framing and is precisely defined, which means that there isn’t room for different interpretations of Stratum V2 like there was with V1. The specific message framing structure can be found in the ‘Framing’ section of the BIP.

Motivation & Impact

The original stratum protocol uses JSON, which has a very poor ratio between message payload size and actual information transmitted. Making Stratum V2 a binary protocol yields far better data efficiency, and the saved bandwidth can be used for more frequent submits to further reduce hashrate variance.

Man-in-the-middle attack prevention

To ensure the confidentiality and integrity of sensitive data, Stratum V2 uses a robust encryption scheme that prevents data from being deciphered by potentially malicious third parties. This protects miners from several attacks that are possible in V1, including hashrate hijacking in which a third party intercepts communication between a miner and pool and takes credit (i.e. steals payouts) for the work the miner has done.

Has mechanism(s) to prevent malicious parties from stealing hashrate and eavesdropping on mining data transfers?

Technical Description

Stratum V2 employs a type of encryption scheme called AEAD (authenticated encryption with associated data) to address the security aspects of all communication that occurs between clients and servers. This provides both confidentiality and integrity for the ciphertexts (i.e. encrypted data) being transferred, as well as providing integrity for associated data which is not encrypted.

Motivation & Impact

Stratum V1 is vulnerable to man-in-the-middle attacks of three varieties: eavesdropping on all communication between pools and miners, stealing metadata from ISP logs, and hashrate hijacking. These attacks can all be executed without being easily detected, making them all the more troublesome. Stratum V2 uses authenticated encryption with associated data (AEAD) so that possible adversaries will be unable to use share submission data to identify particular miners, thus maintaining the privacy of miners and protecting them against hashrate hijacking.

Empty block mining elimination

In Stratum V2, it is equally as efficient for pools to send full blocks for miners to begin working on as it is for them to send empty blocks (i.e. blocks that don’t contain any transactions). Since there is no extra delay caused by sending a full block, the incentive to send an empty block is eliminated.

No extra delay to send a full block vs. an empty block.

Slower to send a full block than an empty block.

Technical Description

Very similarly to the Job Distribution Latency section, the elimination of the incentive for empty block mining comes down to the separation of the prevhash message from other block header data. With Stratum V1, there is an incentive for pools to send empty blocks containing the new prevhash as soon as possible, as these messages will arrive faster than a message containing a full block. By separating these two messages in Stratum V2, it’s now possible for pools to send full blocks to miners before the new prevhash message. In other words, the miners can be prepared to start working on a new (full) block before the previous block has been found, and then all they need is the new prevhash message to begin working on that next block. Since this prevhash message is the same size (i.e. takes the same amount of time to arrive) regardless of whether or not the pool has sent an empty block or a full block, there is no longer an incentive to mine on empty blocks.

Motivation & Impact

As long as the incentive to mine on empty blocks exists, there is a nonzero chance that a miner will actually find a valid solution during this time and propose an empty block that’s accepted by the rest of the network. Given that there is no advantage to mining on an empty block vs. a full block with Stratum V2, empty block mining should effectively be eliminated.

Job selection

Miners now have the ability to choose their own work (i.e. choose their own transaction set), making mining more decentralized. This is implemented separately from the main mining protocol and is optional for pools and miners.

Allows miners to choose their own transaction set?

Technical Description

Job selection by end miners has been included as an optional component of Stratum V2, separate from the main mining protocol. In fact, this is actually done by three sub-protocols: the Job Negotiation Protocol, Job Distribution Protocol, and Template Distribution Protocol.

The name Job ‘Negotiation’ Protocol is telling, as job selection is indeed a negotiation process between a miner and a pool. The miner proposes a block template, and it is up to a pool to accept or reject it. Once a negotiated template has been accepted, the results can be used by any number of mining devices, even hundreds of thousands of them. The reason this is separate from the main mining protocol is to allow pools to terminate connections on seperate infrastructure from the main mining protocol, that way there is no impact on the efficiency of actual share submissions.

Motivation & Impact

Allowing miners to choose their own transaction sets moves some power from mining pools further downstream to the miners themselves, thereby increasing the censorship resistance of Bitcoin. This idea was originally put forth by Matt Corallo in BetterHash, and we felt it was very important to include in Stratum V2 as well because it has a meaningful impact on Bitcoin’s decentralization.

Multiplexing

Allows a single connection (e.g. TCP) to be used for independent communication channels between any number of devices. This reduces the total amount of connections necessary for pools and proxies, resulting in some cost savings.

Technical Description

Although it wouldn’t be practical, there can theoretically be as many as 232 (~4.3 billion) open channels within a single physical connection (e.g. TCP) to an upstream stratum node. These channels are independent and have unique channel IDs, meaning that many devices can simultaneously receive different job assignments using the same connection, saving on infrastructure costs. At the same time, the channels may all share some information for greater efficiency, such as when a new prevhash is broadcasted.

Motivation & Impact

Every physical connection adds complexity and extra infrastructure overhead to mining operations. Enabling multiplexing makes it possible to communicate a lot of different information to multiple different parties within a single connection, which is more efficient and simpler to manage.

Implicit work subscription

Stratum V2 eliminates some unnecessary messages from V1 by implicitly assuming that opening a mining channel is an indication that the miner is ready to be assigned jobs.

V2 eliminates the mining.subscribe message.

V1 there are two messages: mining.subscribe and mining.authorize

Technical Description

When a miner establishes a connection with a pool (client —> server) in Stratum V1, they send a mining.authorize message. Once the authorization request is successful, the miner then sends a mining.subscribe message indicating that they wish to begin (or resume) working on jobs assigned by the pool. In other words, miners must explicitly request job assignments. In Stratum V2, it is implicitly assumed that a miner wants to receive job assignments if they open a channel with a pool.

Motivation & Impact

Mining subscriptions (i.e. the mining.subscribe message) was originally part of a more elaborate mining protocol that is no longer relevant. Currently, explicit mining subscriptions simply create unnecessary data transfers in Stratum V1. Making work subscription implicit improves the relative efficiency of the protocol.

Native version rolling

Version rolling was added as an extension (BIP 310) for Stratum V1. This has become an essential part of mining, and V2 directly supports version rolling by the miners without requiring any extensions.

V2 natively supports this.

V1 Has an extension (BIP 310) to allow version rolling 

Technical Description

Each Bitcoin block header contains a version field whose bits can be freely used to extend the search space for a miner. This process is called version rolling. Given the current hashing power of modern ASIC machines, the 32-bit nonce field can be exhausted in under 100ms. Every time this occurs, the controller on the machine must distribute new jobs to each mining chip. This consumes a lot of bandwidth and CPU load. Rolling the version bits can greatly reduce the frequency with which new jobs need to be distributed, and it’s already a common technology (see BIP320). Given it’s prevalent use, we’ve decided to make version rolling a native part of Stratum V2 rather than requiring an extension as it does in V1.

Motivation & Impact

Version rolling is already extremely common and widely adopted. We’ve simply changed it from an extension in Stratum V1 to a native component of the protocol in Stratum V2. The end result from the outside perspective is not much different.

Бэкэнд-переключение с нулевым временем

Zero-time backend switching means that a proxy can provide jobs from different pools without causing a loss of mining efficiency. In other words, a mining farm operator could use a single proxy for all of their devices while mining with multiple pools and they wouldn’t experience any latency or other inefficiencies by doing so.

V2 natively supports receiving jobs from multiple upstream sources.

V1 has a non-standard extension that allows miners to change their pool, but the end device needs to explicitly support it.

Technical Description

Enabling miners to do zero-time backend switching (i.e. changing the upstream server from which they are receiving jobs or connecting to multiple upstream servers at once) means that it’s possible to efficiently implement more complicated use cases (e.g. coin switching between Bitcoin and Bitcoin Cash). This can be done with the extraNonce subscription extension in v1, but it’s uncommon and has to be supported in the mining firmware. By making this a native feature of v2, it’s possible for miners on standard channels to receive jobs from multiple sources simultaneously without experiencing any inefficiency compared to receiving jobs from only one upstream server at a time.

Motivation & Impact

Enabling backend switching with zero delays enables more elaborate mining setups to be implemented more efficiently in terms of the physical infrastructure required.

Different type of jobs on the same connection

Allows miners to mine on different jobs (and potentially even different coins) on a single connection. For example, some mining machines could mine Bitcoin while others are mining Bitcoin Cash and they can share the same connection.

V2 Different channels within the same connection can have different jobs.

V1 All devices on a connection always share the same job.

Technical Description

One of the specific advantages of multiplexing when it comes to Stratum V2 is that a single physical connection can be used to transmit data about various different jobs. This reduces infrastructure complexity and cost. For example, setting up a TCP connection requires a 3-way handshake in which 3 data packets are transmitted, consuming some resources in the process. When there are hundreds or even thousands of these connections opening and closing each day, the cost can add up. Being able to send different jobs on a single connection reduces the frequency with which connections need to be opened and closed, as well as the total number of connections needed.

Motivation & Impact

As stated above in the Multiplexing section, the primary motivation for enabling data about different jobs to be transmitted on a single connection is to reduce physical infrastructure complexity and overhead costs.

Implementation

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Dolor aliquam eget sit urna. Morbi at at amet sed lorem nisl. Viverra integer id purus sed facilisis eu condimentum nulla.

The Stratum Proxy

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ornare quisque maecenas cursus magna tempus diam.

Link to repository

The mining client

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ornare quisque maecenas cursus magna tempus diam.

Link to repository

Possible Deployment


scenarios

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus. Erat ut quam massa velit.

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus. Erat ut quam massa velit.

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus. Erat ut quam massa velit.

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus. Erat ut quam massa velit.

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus. Erat ut quam massa velit.

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus. Erat ut quam massa velit.

Extensions

The Bitcoin mining industry evolves quickly and it is expected that participants in the industry will wish to add functionality to this protocol over time as extensions. We’ve left extensions largely undefined in the Stratum V2 BIP, but we have outlined some basic requirements which all extensions must comply with/be aware of. These can be found in the Protocol Extensions section.

Pick your number

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Faucibus morbi morbi amet sed. Id elit aliquam aliquam.

Pick your number

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Faucibus morbi morbi amet sed. Id elit aliquam aliquam.

Pick your number

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Faucibus morbi morbi amet sed. Id elit aliquam aliquam.

Currently available extensions

Extension name

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Read more

Extension name

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Read more

Extension name

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Read more

Technical Description

Protocol extensions in Stratum V2 may be defined by using a non-zero extension_type field in the message header. Extensions in the range 0x4000 — 0x7fff are considered “experimental” and aren’t present in production equipment. Extensions that have been allocated for the specific purpose they address will be present in the ‘Currently Available Extensions’ section of this site.

One of our design goals with Stratum V2 is to enable simple support for vendor-specific extensions without polluting the mining protocol or complicating pool implementation. Thus, it is possible to request extension_type allocations for vendor-specific proprietary extensions to be used in production hardware. To do so, a brief description of the extension’s intended use case should be sent to the Bitcoin Protocol Development List and here.

For a complete description of requirements for extensions, see the Protocol Extensions section of the Stratum V2 BIP.

Currently available extensions

For a complete description of requirements for extensions, see the Protocol Extensions section of the Stratum V2 BIP.

A spec draft has been published and is open for comments from the mining community. Take a look and contribute your input.

Перевод — Журнал встречи исследовательской лаборатории Monero от 2020-09-23

Когда: Среда, 23 сентября 2020 года @ 17:00 UTC
Где: #monero-research-lab (freenode/matrix)

Повестка дня:

  1. Приветствия
  2. Круглый стол
  3. Вопросы
  4. Ключевые моменты
Журнал встречи:

<sarang> Хорошо, давайте начнем нашу исследовательскую встречу
intj440 вышел
<sarang>
Во-первых, приветствия!
<sarang> Hi
<midipoet> серьезно, если кому-то интересно посмотреть, как работает новый метод вызова, дайте мне знать.
<n3ptune> Здравствуйте
Isthmus запускает волну из рук
intj440 подключился
<midipoet>
Horizon Europe хочет, чтобы консорциумы создавались с упором на партнерство за пределами Европы. Бюджет составляет 4-12 миллионов.
<TheCharlatan> hi
midipoet замолкает, так как начинается встреча
<ArticMine>
hi
<sarang> Краткое напоминание о том, что встреча на следующей неделе будет последней, которую я буду проводить; если кто-то еще захочет взять на себя это бремя, пожалуйста, не стесняйтесь
<sarang> Переходим к круглому столу
<sarang> Где каждый желающий может поделиться своими интересными исследованиями
<sarang> Кто-нибудь хочет чем-нибудь поделиться?
<n3ptune> Я хотел бы поделиться двумя большими проектами в ключе SQL, которые я только что закончил
<n3ptune> Первый — это парсер tx_extra для PostgreSQL: http://github.com/neptuneresearch/tx-extra-parse
<n3ptune> Это нужно для того, чтобы проанализировать данные из полей tx_extra (которые упакованы в одну байтовую строку) как отдельные записи базы данных для каждого тега подполя
<n3ptune> Вот несколько выполненных нами запросов, а также их результаты: http://github.com/neptuneresearch/monero-tx-extra-statistics-report
<n3ptune> Некоторые из них мы уже представляли ранее на собрании MRL в феврале 2020 года и в комментариях к повестке дня на github. С тех пор накопилось весьма много вопросов, на которые теперь у нас есть ответы. Извините, что на это потребовалось так много времени!
<n3ptune> Самым большим результатом данного исследования стало то, что никто не хранит в транзакциях Monero другие нестандартные для консенсуса данные
<sarang> Хех, весьма интересно
<sarang> Означает ли это, что отказ от tx_extra в пользу стандартных полей, таких как зашифрованный pID, вряд ли нарушит существующие варианты использования?
<n3ptune> Да, относительно текущего использования
<n3ptune> Это все равно сломало бы всё в будущем
<sarang> но это уже другая проблема
<Isthmus> у нас получился весьма интересный ответ на ранее заданный вопрос UkoeHB_
<Isthmus> кроме того, одна транзакция содержит 1000 идентификаторов платежей, lol
<Isthmus> и там очень много чего интересного
<n3ptune> существует несколько способов записи одних и тех же данных
<sarang> Да, наверняка
<n3ptune> Например, вы записываете открытый ключ, а затем зашифрованный идентификатор платежа или зашифрованный идентификатор платежа, а уже потом открытый ключ
<sarang> Все верно
<n3ptune> или, например, вы добавляете «дополнительные публичные ключи» к каждой транзакции
<sarang> «Лучший» вариант (для некоторого определения «наилучшего») — это установить стандартный набор данных и их порядок
<sarang> тем самым исключая возможность дактилоскопии
<sarang> или как минимум просто всё усложните
<n3ptune> Да и вообще полное прекращение поддержки этого поля заставит отказаться от использования незашифрованных PID.
<sarang> Угу
<Isthmus> Да, проголосуйте за TLV
<sarang> Приятно иметь данные, подтверждающие это
<sarang> Что-то еще, чем вы хотели бы поделиться в ключе данной работы, n3ptune?
<sarang> или Isthmus?
<n3ptune> Если вы о tx_extra, то нет
<n3ptune> любые вопросы приветствуются
<n3ptune> Другой SQL проект, которым бы я хотел поделиться: http://github.com/neptuneresearch/ring-membership-sql
<n3ptune> Это дает возможность PostgreSQL построить индекс вывода транзакции и декодировать key_offsets транзакции, что позволяет получить отдельные элементы колец транзакции
<n3ptune> Это строительный блок для написания более сложных запросов, касающихся участников колец и таких данных, как последующий анализ выбора приманки
<sarang> Круто, похоже на то, что делает интерфейс обозревателя блоков
<n3ptune> В точку!
<sarang> понятно
<sarang> Что-нибудь интересное в процессе этой работы?
<sarang> Или еще рано для анализа?
<n3ptune> у нас пока нет вариантов использования
<Isthmus> хех, у нас масса вариантов использования, просто они еще не готовы в текущей реализации
<Isthmus> Будет забавно повозиться с этим в дальнейшим
<sarang> Полностью согласен с вами
<sarang> Поскольку выбор приманки полностью зависит от клиента
<Isthmus> Особенно когда добавляется слой для отслеживания цепочек с дефектами взаимозаменяемости
<sarang> Это великолепно!
<sarang> Есть вопросы для n3ptune и/или Isthmus?
<sarang> Хорошо
<sarang> Тогда позвольте мне поделиться моей работой
<sarang> Я представил Triptych на мастер-классе ESORICS, документ был весьма тепло встречен
<sarang> Еще в эти выходные я буду выступать на тему конфиденциальности на предстоящем MCCVR и участвую в конференции, посвященной конфиденциальности в Bitcoin
<dEBRUYNE> Чтобы внести немного ясности, это отдельные выступления? Потому что я видел только объявление о предстоящей панели
<sarang> Я сделал несколько обновлений для повышения эффективности Arcturus, которые немного упрощают ситуацию, а также обновил его код подтверждения концепции на Python, чтобы указать, как лучше выполнять верификацию
<sarang> Да, это отдельное выступление, и оно состоится непосредственно перед самой панелью
<sarang> Они попросили меня выступить с докладом после того, как я согласился провести панель
<sarang> Я также планирую обновить статистику транзакций для общего пользования
<sarang> Недавно у компании cargodog[m] появилась интересная идея
<cargodog[m]> Где она будет представлена? Я как раз искал статистику транзакций
<sarang> Они разработали реализацию Arcturus на Rust: https://github.com/cargodog/arcturus/
cargodog[m] машет рукой
<dEBRUYNE>
Спасибо за разъяснения
<sarang> cargodog[m]: Я сделаю репозиторий доступным после того, как закончатся основные скрипты с проверками
<sarang> Скрипты находятся в ветке `tracing` моего репозитория `skunkworks`
<cargodog[m]> Большое спасибо!
<sarang> у cargodog[m] была идея использовать обобщенный код Gray для ускорения работы Triptych/Arcturus и т. д.
<sarang> Я все еще в процессе определения степени повышения эффективности, при которой они применяются, а также в какой степени на них влияют лежащие в их основе криптографические системы
<sarang> cargodog[m]: Вы можете сами поделиться этой работой, если хотите!
<sarang> Я не знал, присутствуете ли вы на этой встрече
<cargodog[m]> Спасибо, sarang: в настоящее время я заканчиваю статью, чтобы отобразить все улучшения
<cargodog[m]> Извините, я опоздал на несколько минут
<sarang> Еще одна вещь, которую я заметил в вашей бинарной реализации Gray — она заключается в том, что вы выполняете разложение Gray отдельно от самого определения
<cargodog[m]> Моя цель — получить статью (короткую, но приятную), которая могла бы четко объяснить концепцию, не только применимую к Arcturus, но и к Triptych, Lelantus, One-out-of-Many и т. д.
<sarang> также я работаю над обобщенной версией с кодом Gray, еще я хочу напрямую интегрировать изменения коэффициентов, чтобы избежать возможной избыточности
<cargodog[m]> Действительно. Моя реализация OOM довольно специфична. Большая часть работы это обобщение текущего материала, чтобы сделать его более применимым к различным схемам
<sarang> К счастью, вы можете итеративно вычислять код `n`-Gray, а это значит, что есть много возможностей для улучшения работы вашего двоичного метода.
<sarang> я уже реализовал подобный метод на бумаге и могу представить его после окончания встречи
<cargodog[m]> Это было бы прекрасно
<sarang> Осталось сделать обновление коэффициентов, что не так уж сложно
<sarang> Я не думаю, что таким образом можно добиться весомых улучшений, в отличие от не повторяющегося метода, но этот способ, безусловно, быстрее
<sarang> Поскольку вы не вычисляете все методы с нуля
<sarang> Я также прокомментировал, что подверг сомнению ваш подход из-за того, что он полагался на дорогостоящие инверсии, но я полностью пренебрегал эффектами пакетной инверсии, которые поддерживает ваш код
<cargodog[m]> Тем не менее нам нужно каждое, пусть и потенциальное улучшение
<cargodog[m]> В конечном итоге я надеюсь привлечь больше внимания к Arcturus и укрепить его позиции в криптографическом сообществе
<sarang> Это означает, что вам нужно сделать только одну инверсию, а затем нетривиальное количество умножений мультипликатора
<sarang> В любом случае я очень рад, что вы реализовали это, cargodog[m]
<sarang>
rot вышел
<cargodog[m]>
Надеюсь, я смогу создать что-нибудь полезное
rot подключился
<sarang>
Каждая скалярная инверсия эквивалентна ~200 мультипликаторам
<cargodog[m]> Это очевидно
<sarang> Пакетная инверсия k скаляров — это одно 200-кратное обращение и еще одно дополнительное умножение на 3k
<sarang> Спасибо!
<cargodog[m]> ^ О! Я вчера как раз искал этот пример. Спасибо!
<sarang> Я рад, что мой препринт смог помочь
<sarang> Так или иначе, использование метода Gray повлечет за собой затраты на пакетную обработку
<sarang> и, следовательно, я предполагаю, что есть некоторый компромисс, в котором преобладают некоторые улучшения от использования метода Gray при использовании больших анонимных наборов
<sarang> Вы также указали, что в случае пакетной проверки, когда большие анонимные наборы являются обычным явлением, выигрыш становиться еще больше.
<cargodog[m]> тут наоборот, скорее, более важен размер пакетной обработки, чем размер набора
<cargodog[m]> а так, да
<sarang> Конечно, эффективность там зависит от того, как именно вы пакетируете
<sarang> Для чего-то по типу Lelantus мы просто повторно используем тот же анонимной набор
nssy подключится
<sarang>
Для текущего подхода, мы, скорее, заботимся о возрасте выхода, чтобы у нас было как можно меньше повторяющихся пакетов
<cargodog[m]> Да, поэтому я весьма скептически отношусь к тому, как именно они собираются получать данные о транзакциях для пакетной обработки
<cargodog[m]> но в общем идеи очень схожи
<sarang> Конечно, это означает, что улучшение в Gray очень зависит от того, как именно вы выбираете анонимные наборы, и, следовательно, от того, как вы группируете
<cargodog[m]> Да, все верно
<sarang> В любом случае, если вы устраните вычислительные препятствия инверсии, вы заметите преимущества
<cargodog[m]> Мне еще предстоит изучить методы выбора колец, чтобы максимизировать пакетирование
<sarang> Да, это очень нетривиально
<cargodog[m]> Очевидный подход — это увеличение размера кольца
<sarang> Конечно, но нельзя игнорировать возраст выхода, это является потенциальной эвристикой.
<sarang> к тому же он динамически изменяется
<cargodog[m]> Действительно. Это очень большая проблема
<sarang> В Lelantus используется большой анонимный набор, что отлично подходит для текущей реализации
<cargodog[m]> К сожалению, мне нужно уходить, но потом я с радостью отвечу на все ваши вопросы
<sarang> я боюсь, что на практике это может привести к возрастной эвристике
<sarang> Нет проблем! Спасибо, что присоединились
<cargodog[m]> Надеюсь, что в следующий раз буду присутствовать на целой встрече!
<sarang> Возвращайтесь на канал в любое время
<sarang> Я подготовлю для вас информацию о сложности инверсии, а также пример кода `n`-Gray после окончания текущей встречи
<sarang> Журналы встречи доступны по ссылке в теме канала
<sarang> Просто ищите упоминания и т. д.
<sarang> или, возможно, что ваш IRC клиент умеет искать по тегам
<sarang> в любом случае я подготовлю ссылки
<sarang> Хорошо, есть вопросы по темам, которые я упомянул выше?
<sarang> Если нет, желает ли кто-нибудь еще поделиться своими темами исследования?
<Isthmus> Я нашел рисунок, который является конкретным примером работы фреймворка n3ptune
<sarang> Продолжай!
<Isthmus> я выбрал случайный дефект взаимозаменяемости (в данном случае конкретный дополнительный тег) и показал, как он используется для связывания транзакций через уже имеющиеся цепочки
<Isthmus> https://usercontent.irccloud-cdn.com/file/1F4ccO3H/image.png
<Isthmus> Таким образом, кошелек получил 3 свежих внешних выхода и совершил 16 транзакций.
<Isthmus> Но каждый раз новая транзакция использовала изменения с одним и тем же дефектом.
<sarang> Оу
<Isthmus> Так что можно сказать, что все транзакции были отравлены в какой-то мере
<UkoeHB_> тег — это идентификатор платежа?
<Isthmus> круто то, что я могу автоматизировать фреймворк n3ptune для 1) автоматического анализа данных для выявления дефектов взаимозаменяемости и 2) автоматической идентификации каждой транзакции или цепочки кошелька.
<Isthmus> Таким образом, мы можем отобразить дерево транзакций через адреса для ЛЮБОГО кошелька с ЛЮБЫМ дефектом взаимозаменяемости
<Isthmus> Это совершенно новый монстр!
<UkoeHB_> это действительно впечатляющая работа, ребята
<dEBRUYNE> +1
<n3ptune> Спасибо
<Isthmus> Я думаю, что это был тег `n_extra_nonce`?
<dEBRUYNE> А я думаю, что стандартизация формата tx_extra поможет в этом отношении.
<sarang> угу
<Isthmus> Стандартизация tx_extra полностью исключила бы этот вид анализа, если бы сам протокол разрешал использовать только ключи и зашифрованный PID
<sarang> Ну, в теории, да
<sarang> На самом деле вы не сможете заставить корректно работать зашифрованный pID на уровне консенсуса
<Isthmus> к дефектам взаимозаменяемости могут быть применимы такие пункты, как время разблокировки, необычные сборы и т. Д.
<sarang> Вы можете использовать аутентифицированное шифрование, чтобы получатель не получил такую отравленную транзакцию…
<sarang> Нет, я имею в виду, что вы можете использовать «pID» как угодно
<sarang> Как вариант, заполнить нулями
<moneromooo> Это допустимо в соответствии с правилами парсинга в кошельке?
<sarang> или вашим номером телефона
<sarang> в общем хоть чем
<n3ptune> Я думаю, что это не тот случай
<moneromooo> Раньше уже была жалоба на использование нестандартных полей в транзакциях
<moneromooo> И как это выглядит по сравнению с выходами monerod?
<n3ptune> Были случаи с полями extra nonce
<n3ptune> В смысле пример по типу того, что официальное ПО не смогло бы создать?
<moneromooo> 32-байтовый?
<moneromooo> Не, больше такого не будет
<n3ptune> То есть это не какой-либо идентификатор платежа. у zcash есть подобная реализация
<sarang> С получателем? Да
<moneromooo> Получатель просто не тратит полученные деньги? Отличный вариант
<sarang> это вполне возможно (но не так просто в реализации)
<dEBRUYNE> Мы могли бы добавить соответствующее предупреждение
<sarang> Isthmus: это все на стороне клиенте
<dEBRUYNE> Если такой выход был бы получен
<sarang> Но вы можете написать клиент, который все равно сможет потратить этот выход
<sarang> Сеть не может сказать вам «НЕТ»
<Isthmus> Угу
<sarang> dEBRUYNE: нам нужно будет использовать метод AEAD и изменить способ шифрования
<sarang> вероятно, в конечном итоге мы включим в него все зашифрованные данные получателя, что намного лучше с точки зрения самого протокола
<sarang> отдельный AEAD тег
<sarang> Тем не менее
<sarang> Мы приближаемся к концу нашего часа
<sarang> Другие моменты, связанные с этим исследованием?
<Isthmus> gg
<sarang> Я думаю, что это является дополнительным свидетельством того, что применение стандартных TLV полей в tx_extra было бы очень кстати
<sarang> и данные показывают, что нет очевидных вариантов использования нестандартных полей
<sarang> Хорошо, есть ли другие темы для исследований, которыми можно поделиться до окончания встречи?
vtnerd_ вышел
<sarang>
Если нет — мы заканчиваем
vtnerd_ подключился
<sarang>
Спасибо всем за участие

Источник: Research meeting: 23 September 2020 @ 17:00 UTC #510

Перевод:
Unholy (@Unholy)
Редактирование:
Mr. Pickles (@v1docq47)
Коррекция:
Kukima (@Kukima)

 

Прошивка для Antminer S17+ (разгон до 100 TH/s)

Релиз 2.0.3

 

Изменения:
1) Общая стабильность, оптимизация и доработка основных драйверов.
2) Исправили некорректно работающие профили для модели t17.
3) Исправили перевод для корректного отображения Русского языка.
4) Исправлена ошибка веб сервера когда при долгом аптайме майнер мог подвисать.
5) Добавлена опция режима сна.
6) Добавлена опция отель фии (где вы можете перенаправлять часть мощностей на оплату электричества, размещения оборудования или оплату за обслуживания майнеров).
7) Добавлен перерасчет минимального хешрейта если одна или более плат не прошли инициализацию.
8) Изменили режим работы кулеров когда они переводятся в 100% за 5 градусов от критической температуры (было 10).
9) Добавили сигнатуру (подпись) для полной безопасности проникновения вирусов с полной возможностью откатится на стоковую прошивку без сд карты, при этом оставили доступ к ssh для полного доступа к вашему железу и полной децентрализации (SSH по умолчанию выключен).
10) Для тех, кто к сожалению пострадал от антбилд мы сделали блокировку, чтобы ваш хэш не уводили.
11) Добавлена уникальная ЗАЩИТА!!! На аппаратном уровне против Antbuild и всех ему подобных вирусов навсегда!!

 

 

1) Доработали, улучшили и ускорили работу автотюна
2) Добавили опцию, которая игнорирует минимальный вольтаж профиля.
3) Исправили перепутанный ввод данных в разделе автосмены.
4) переименовали fan rpm check в “immersion mode” и перенесли в раздел settings.

 

1. Общая стабильность, доработка и рефакторинг драйвера.
2. Доработали отображение хешрейта чипов.
3. Исправили отображение текущей временной зоны в региональных настройках. 
4. Внесли небольшие изменения в дизайн веб интерфейса.
5. Добавлены новые профиля: S17 — 55th, 60th, 63th.
S17+ — 55th, 60th, 62th, 68th, 74th, 80th, 88th. 
T17 — 40th. 
T17+ — 40th, 48th, 55th, 63th, 68th.
6. Добавлена функция автоматического исправления красных доменов (TIMER).
7. Расширены диапазоны поиска напряжений для профилей автотюнера.
8. Добавлена функция для полной кастомизации ручного автотюнинга майнера.
9. Реализовано плавное изменение скорости куллеров во время инициализации майнера (без резкого скачка).
10. Добавлена защита разрыва цепочки чипов для предотвращения выхода оборудования из строя.
11. Добавлен перевод майнера в “аварийный” режим охлаждения в случае “потери” одного из датчиков температуры майнера.
12. Добавлена обработка ошибочных данных от термодатчиков.
13. Доработали Лог, теперь статуса майнера стал более понятным и детальным.
14. Реализовали сохранение всех логов майнера даже в случае полной перезагрузки.
15. И самое главное ваш майнер забудет про перегревы принося вам максимальную прибыль благодаря функции автоматического переключения профилей автотюнера с гибкой системой настроек для адаптации майнера к изменениям температуры окружающей среды. Переключение профилей осуществляется путем задания диапазона температур и скоростей вращения вентиляторов для (автоматического режима).

 

Релиз 1.1.0

1) Общая стабильность, рефакторинг кода для упрощения добавления поддержки других моделей и доработка основного драйвера.
2) Написан новый способ чтения температурных датчиков.
3) Автоматическое переключение на пониженный профиль при перегреве майнера. 
4) Автоматическое переключение на пониженный профиль при невозможности оттюнить заданный профиль.
5) Добавлен триггер по максимальному количеству перезагрузок майнера в случае отвала платы.
6) Улучшен алгоритм контроля скорости кулеров (плавный переход с ручного на автоматический режим без провалов).
7) Исправлена ошибка установки вольтажа в ручном режиме. 
8) Исправлена проверка минимального хешрейта (срабатывала при отключенном значении 0 в конфиге).
9) Добавлен вывод информации по всем успешно оттюненым профилям.
10) Добавлена защита майнера от кражи хешрейта вирусами.
11) Режим старта при низких температурах активируется только при включенном silent mode режиме (тихий старт).
12) Добавлен триггер, дающий возможность отключения функции разогрева (пред нагрева) чипов.
13) Фикс бага, когда при прошивке скорость кулеров выставляется на 100% в ручном режиме.

 

Релиз 1.0.0

1. Общая стабильность

2. Корректировка параметров профилей для S17/T17

3. Улучшена поддержка nicehash (extranonce subscribe)

4. Добавлен триггер отключения/включения проверки установки вольтажа (холодный старт)

5. Добавлена триггер отключения/включения проверки разбалансировки доменов

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

7. Реализована поддержка “тихого” старта майнера

8. Автоматический перевод майнера в режим прогрева при старте в холодных условиях

9. Добавлен учёт мертвых чипов во время автотюна.

10. Доработали и значительно уменьшили время запуска майнера.

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

12. Добавлена проверка на все виды вирусов о которых знаем на сегодня.

13. Весь функционал добавлен а раздел конфиг мультипликатор.

14. Активировали задания часового пояса.

15. Добавлена Расчетная мощность потребления майнером (ваттметр).

16. Статус майнера (его API) доступен сразу при старте уже спустя 15 секунд.

 

 

 

1) Небольшие дороботки стабильности и драйвера.
2) Исправления подключения к пулу Nicehash.com
3) Исправления подключения к пулу Bitcoin.com
4) Исправления подключения к пулу Ukrpool.com
5) Исправления покдлючения к пулу Warphash.com

 

 

 

 

Релиз 0.9.9 beta 1

  

1) Доработана и полностью откорректирована работа автотюна.
2) Полностью переписан алгоритм регулировки напряжения чипов.
3) Улучшен метод контроля за разбалансировкой доменов.
4) Скорректированы и полностью настроенные профиля.
5) Добавлена совместимость с BTC Tools версии 1.2.6.
6) Исправлен баг конфиг мультипликатора при размножение воркеров.
7) Добавлена поддержка пула nicehash.com.
8) Добавлена поддержка пула warphash.com.
9) Проверена и исправлена стабильность работы с пулом emcd.io

 

 

1. Общая стабильность
2. Доработка и Рефакторинг основного драйвера.
3. Очередная итерация доработки и улучшения ошибок (HW) 
4. Была проанализирована и исправлена потеря хэшрейта на некоторых пулах.
5. Добавлена поддержка п2п пула.
6. Активировали мультипликатор для раздачи массовых конфигов.
7. Проведена работа с чтением сенсоров температур I2C
8. Создали больше 10 профилей разгона.
9. Добавлен автотюн. (примечание, результаты автотюна сохраняются в отдельном конфиге, при смене профиля на новый и возврат к прежнему профилю, повторный автотюн не требуется за исключением принудительного ретюна со стороны пользователя).
После завершения тюна временно правки по чипам в ручном разделе gui не отображаются. 
10. Автотюн вынесен отдельным логом в разделе профилей.
11. Автоматическая перезагрузка при разбалансировке доменов для сохранения чипов от выгорания.
12. Добавлено ручное понижения домена целиком.

 

 

1) Общая стабильность
2) Доработка основного драйвера
3) Совместимость с btc tools версии 1.2.3.4
4) добавлена функция ручного почипного управления

(раздел Chain Freq settings , по каждой плате можно массово понимажть частоту на красных и орандевых чипах через фукцию -1 Red, -1 Orange)
5) проведена работа над HW

1) Общая стабильность
2) Рефакторинг кода драйвера
3) сглаживания отображения хр в майнер статусе 
4) доработка автоматического режима вентиляторов 
5) добавили поддержку лампочек:
А) Когда майнит мигающий зеленый
Б) Когда есть ошибки святящийся красный

 

1) общая стабильность

2) доработка драйвера 

3) добавили опцию выбора индивидуально частоты для каждого лезвия

4) включили конфиг мультипликатор 

5) включили массовую смену паролей 

 

 

Релиз 0.9.2

1) убрали скачок напряжения при старте.

5) добавили режим отключения проверки вентиляторов для (иммерсионки)

  

Релиз 0.9.1

 

Анонс:

представляю вашему внимаю прошивку для Antminer s17/t17 0.9.1-alpha

 

Прошивка визуально имеет аналогичный и привычный для вас по функционалу интерфейс.

 

Что не вошло в альфа версию

 

1) профили

2) почипный автотюн

3) режим иммерсионки

4) ребут по иксам

5) по платный вольтаж

6) удержания температуры

7) смена вольтажа на лету

 

Знаю, вы можете спросить, зачем тогда выпускать продукт без этого функционала.

сразу отвечу с помощью альфы вы можете делать такой же разгон, который предлагают конкуренты только при, этом вам не надо тратить 50-100-150$ за установку. 

В прошивке встроен привычный для вас метод вознаграждения   DevFee 2,8%

 

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

 

P.s хочу обратить ваше внимание, что мы полностью написали драйвер с нуля, а не патчили майнеры от битмейн как у конкурентов и только такой подход позволит реализовать все пожелания пользователей и получить полный контроль над оборудованием!!!! 

 

Всем профита.

 

Оплата № 1: Пристальный взгляд на самый первый Bitcoin Transfer

Всем кто хочет заработать Биткоины без вложений — рекомендую сайт http://bitcoin-zarabotat.ru

Девять летнего юбилей официального документа Bitcoin публикуемого напомнил мне все времени я потраченная глядя на самых ранних частях истории Bitcoin назад, когда я был в средней школе. Сообщество расширилось много с тех пор, и поэтому у меня есть свои навыки, так что я понял, я хотел бы вернуться назад и посмотреть на раннем событии, которые сделали историю: что первый взнос от 10 BTC между Сатоши Накамото и Hal Финни.

Характер blockchain является то, что каждый может пойти и проверить, что это 10 BTC сделка действительно имела место. Вы можете увидеть это сами, прямо сейчас, если вы хотите. Вот! Вы можете увидеть на нем дату, 2009-01-12. Сеть Bitcoin было всего лишь несколько дней в этой точке.

50 BTC это операция тратит от монет, добытых в адресе 12cbQLTFMXRnSzktFkuoG3eHoMeFtpTu3S. Теперь посмотрим на получателей сделки: во-первых это 1Q2TWHE3GMdB6BZKafqwxXtWAWgFt5Jvm3, который Hal Финни сказал был адрес его. А потом снова 12cbQLTFMXRnSzktFkuoG3eHoMeFtpTu3S, что Сатоши Накамото отправки 40 BTC обратно к себе, как изменение. Если вы посмотрите на других платежах в истории 12cbQLTFMXRnSzktFkuoG3eHoMeFtpTu3S, вы увидите, что Satoshi на самом деле послал монеты довольно много людей, вероятно, из списка рассылки криптографии, хотя Hal Финни (первый получатель) является только один из них, которые когда-либо были идентифицированы.

Hal сказал Satoshi, что он направит эти 10 биткойнов назад, но он забыл сделать это до того Сатоши исчез. позже Hal был поставлен диагноз БАС, и продал его биткойны в середине 2013 года, чтобы оплатить медицинские счета. Он скончался, гордился своим влиятельным участие в Bitcoin и криптографии в целом, в 2014 году.

Все это очень интересно. Но, держись, почему Satoshi решили провести биткойны из блока № 9, в частности? Почему бы не блокировать 1, или блок 100, или что-то? 9 кажется рода произвольным. Ни один из других Bitcoins, которые были подтверждены в тот момент не было когда-либо проводил.

Я не мог понять, ответ, когда я был молод. Но я думаю, что я нашел теперь. Первая версия Bitcoin кошелек выбрать, какие монеты должны были быть потрачены в транзакции на основе идентификатора транзакции монеты пришли из (на самом деле, на сколько есть первый, но в этом случае все операции добыты именно 50 BTC, так что не делает разницы). Первый платеж Hal Финни был в блоке 170, и вновь добытый Bitcoins может быть потрачен только после того, как у них есть 101 подтверждений, поэтому только монеты до блока 68 были расходуемыми, когда первый платеж произошел. (Блок 0 не считается, потому что она Bitcoins создаваемые unspendable.)

Я захватил идентификаторы транзакций для всех Bitcoins добываемой из блоков 1 до 68 и сортирую их. Конечно, монеты из блока 9 находятся прямо на вершине:
0437cd7f8525ceed2324359c2d0ba26006d92d856a9c20fa0241106ee5a597c9 Блок # 9
04391286b3aefbb5df4cdb515ac7fce7942525fa602e1d7757e90a4fd41a1e20 Блок # 40
0731f33cf07a2e5f749a2910c437a015968e1fc2ed79c95634829167db280c4f Блок # 63
0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098 Блок # 1
1484c18ba443b13851098597d8cb6d49d5983eab63c53d6b0dcc565612e7ca6b Блок # 39
194c9715279d8626bc66f2b6552f2ae67b3df3a00b88553245b12bffffad5b59 Блок # 49
19521c62482ac299b37c8ae4eab67abd150e3c21dc66b7e2b0919444769ee2ed Блок # 55
20251a76e64e920e58291a30d4b212939aae976baca40e70818ceaa596fb9d37 Блок # 6
223b0620a8f1c1f23a2ebf8032ed11321b921017d01974e74cddd651319b5474 Блок # 34
230cf03a6ce420eaa42e3c64feebb47920f3470efb4323b4574b4b6e5a004f65 Блок # 27
27c4d937dca276fb2b61e579902e8a876fd5b5abc17590410ced02d5a9f8e483 Блок # 42
2b9905f06583c01454f10f720b5709e3b667c9dd3d9efc423c97b7e70afdc0c9 Блок # 32
2f5c03ce19e9a855ac93087a1b68fe6592bcf4bd7cbb9c1ef264d886a785894e Блок # 43
32edede0b7d0c37340a665de057f418df634452f6bb80dcb8a5ff0aeddf1158a Блок # 48
3b96bb7e197ef276b85131afd4a09c059cc368133a26ca04ebffb0ab4f75c8b8 Блок # 12 *
3c0db11484606a63b04ef4b8adcd665655939d3932ab1ebe90d1dfc5f077ca95 Блок # 59
3c6f58905f06a9fe9b4313a88827c43dbfb0156fcc3b17bb311d51e8be6746f5 Блок # 53
439aee1e1aa6923ad61c1990459f88de1faa3e18b4ee125f99b94b82e1e0af5f Блок # 44
43c39b8b3728c6cb26fae0fc18803ca6cf43e15fde218e3dfbd54e633cf6753e Блок # 24
50748b7a193a0b23f1e9494b51131d2f954cc6cf4792bacc69d207d16002080d Блок # 15
540a7e54fd64478554519f1b2d643ecc888c5030631487f9cfc530b71d281309 Блок # 50
63522845d294ee9b0188ae5cac91bf389a0c3723f084ca1025e7d9cdfe481ce1 Блок # 5
67c1e8143bb6ad221a4ce77d6c8be68f2e25e0743f51b2db1a7b22bab59014dc Блок # 26
6d344eb5d67ed329a1c1d7603bba4b85d5916435b49f7a585bb370b76820287d Блок # 37
701ce76c033e0b03fa79503770a5874840373e30cd9c1eca472ec66617f3a3ee Блок # 62
82a1e1731a9b22fdea55c09f2fac191a89efee127956fcfef65caab70f54002d Блок # 60
852b1997ed935ba638078998e2d15bc8a91b8ad232e2d988e22c969eba3bafe0 Блок # 35
86b33edba8ff663b0f73ef487e4433f34d26ef91de15659d2cc09594d27b52cb Блок # 31
8aa673bc752f2851fd645d6a0a92917e967083007d9c1684f9423b100540673f Блок # 7
9635054e3de101ea39dcfa5f4cec63ceb1205db6e0a99304c8db2b3a162137e4 Блок # 58
9962d5c704ec27243364cbe9d384808feeac1c15c35ac790dffd1e929829b271 Блок # 13
999e1c837c76a1b7fbb7e57baf87b309960f5ffefbf2a9b95dd890602272f644 Блок # 3
9b0f52332d7d013b49016416c4818b5abb80b01ca526b7b813830348ad2321be Блок # 25
9b0fc92260312ce44e74ef369f5c66bbb85848f2eddd5a7a1cde251e54ccfdd5 Блок # 2
9b9e461221e5284f3bfe5656efdc8c7cc633b2f1beef54a86316bf2ae3a3e230 Блок # 19
9e2eaf1d7e5178a2d116f331c340f1f7fd6de7540783ac36a7054fe9a4d64943 Блок # 22
9efa6cb3b8cca3c9387144f397f80e7b4bc2dd86026fdd308625a2e100a08d5a Блок # 41
a09c89d2a31440658a42ec97aeee0d36b01529e45b315922e2aa2955334d1821 Блок # 51
a3e0b7558e67f5cadd4a3166912cbf6f930044124358ef3a9afd885ac391625d Блок # 17
a6f7f1c0dad0f2eb6b13c4f33de664b1b0e9f22efad5994a6d5b6086d85e85e3 Блок # 8
ae6eedf8e47ac6dda10ca9f3334bd3031795c55a124948003acd944ebd31fee1 Блок # 61
b17fc28c1dc15ca4b05bf4784419c145b14e79ece54c793656997984c4e46715 Блок # 67
b3f978e6ee5e91662af30a634b3f3268c6f5d34aac1eb54e6cc9535026f5084f Блок # 52
bc0f0f8b3235421a036122299db7046a00c3a7cd1d650de3d92969780b873728 Блок # 57
bdc5121446fd203abbf0e4d13fe99594dc3dc4c1cb95504feb459e8982d923be Блок # 68
bdeaa0089cd84670da5e6385f0185c2d7978bf57a1aa5540d3ff3b3eabaa1210 Блок # 33
c361e2f4581f035dd58b99788347884e046e47b4c17ec347344ff8b24cd377ec Блок # 29
d05d256fbd5845b30039e37d48215788a4e438249048c47ddb9c83cd927d4d5a Блок # 36
d17b9c9c609309049dfb9005edd7011f02d7875ca7dab6effddf4648bb70eff6 Блок # 47
d3ad39fa52a89997ac7381c95eeffeaf40b66af7a57e9eba144be0a175a12b11 Блок # 10
d3dc9be5d58809579e56cdd64e78257ecd24e2726cf26ef0a698f4e5c07670b5 Блок # 54
ddd4d06365155ab4caaaee552fb3d8643207bd06efe14f920698a6dd4eb22ffa Блок # 46
df2b060fa2e5e9c8ed5eaf6a45c13753ec8c63282b2688322eba40cd98ea067a Блок # 4
e0175970efb4417950921bfcba2a3a1e88c007c21232ff706009cc70b89210b4 Блок # 21
e1afd89295b68bc5247fe0ca2885dd4b8818d7ce430faa615067d7bab8640156 Блок # 14
e1cf3476234d8446653ad52a8939ed792003eefdcd0e897319ab9d2cb4c14c8c Блок # 23
e690daeb9f73d29d8a22cb4b5ec29970e9b32283d4376adeaad8691ccb449a68 Блок # 38
e79fc1dad370e628614702f048edc8e98829cf8ea8f6615db19f992b1be92e44 Блок # 16
ebdb8335d5b148e9cc1b1bb795ee619a649bd1638e5514fdfc3004b1c56fd6a4 Блок # 64 *
ee1afca2d1130676503a6db5d6a77075b2bf71382cfdf99231f89717b5257b5b Блок # 20
f01d7897ca02ed20dfb5544b3c1228e225fd97b72510d40af6c9d8e489033a74 Блок # 66
f15c7c51118c1dc93129a9f4999c7768ef2ff8cda3230f56d32576518c5f9349 Блок # 65
f399cb6c5bed7bb36d44f361c29dd5ecf12deba163470d8835b7ba0c4ed8aebd Блок # 28
f5e26c8b82401c585235c572ba8265f16f7d9304ed8e31c198eab571754f5331 Блок # 30
f69778085f1e78a1ea1cfcfe3b61ffb5c99870f5ae382e41ec43cf165d66a6d9 Блок # 45
f8325d8f7fa5d658ea143629288d0530d2710dc9193ddc067439de803c37066e Блок # 11
f925f26deb2dc4696be8782ab7ad9493d04721b28ee69a09d7dfca51b863ca23 Блок # 18
fe9ccc6c8b44c67ab170135d4148d6424e748f7549547d8174d59b5127df0102 Блок # 56
* На самом деле никто не знает, если Satoshi добывали блоки 12 или 64, но они здесь в любом случае, чтобы быть уверенным,

Вот еще один забавный факт. В 10 Bitcoins Hal Финни получил от первого взноса не был его первые Bitcoins. Он фактически добыты блок # 78, так что он уже 50 BTC, что он сделал себя перед Satoshi послал ему, что оплата. В 2014 году, Hal фактически выпустила скриншот своих ранних сделок:

В этом скриншоте вы можете ясно видеть, как 50 он добывал первоначально и 10 он получил от Satoshi. (Он держал добычу на некоторое время после этого!) Блок 78 имеет еще нераскрытая тайна, хотя. Его параметр extraNonce предполагает, что человек, который добывал блок 78 также минные блоки 73 до 77, как вы можете видеть на восходящем склоне, что они делают, когда вы участок блоков, extraNonce:

(Чем выше склон там блоки, добываемые на Satoshi, и блок 64 является путь вниз есть причина того, что мы не знаем, если Satoshi заминировали или нет!)

Если бы мы не знали, H добывали блок 78, а не блоки 73 до 77, мы могли бы сделать вывод из этого графика нескольких вещей. Во-первых, Сатоши Накамото остановил добычу после блока 72, или перезапустить его шахтером, потому что склон extraNonce заканчивается. Во-вторых, блоки 73 до 78 сделать четкий уклон, очень наводящий, что все они были найдены и тем же лицом, будь они Накамото или Финни, и в той же горной сессии. extraNonce может быть неправильным, и Hal, претендующий на решении блока 78, а не 73-77 говорит о том, что она есть. Является ли это просто удача, что блок-78 было смотреть, как это было на том же extraNonce склоне как блоки 73-77? Почему Накамото остановить добычу права, когда Финни начал? Кроме того, есть три часа разрыв между блоками 78 и 79. Почему Накамото ждать в течение 3 часов после того, как Финни остановил добычу, чтобы начать снова? Было ли это просто невезение, что потребовалось так много времени, чтобы найти решение? Эти нерешенные вопросы. Не стесняйтесь рассуждать о том, что вы думаете, что здесь произошло!

Надеюсь, это было интересно читать, и счастливый Bitcoin Whitepaper годовщины !!!

Stratum V2 | Протокол нового поколения для объединенного майнинга

Stratum V2 | Протокол нового поколения для объединенного майнинга

Приносим извинения, но эта страница еще не переведена на ваш язык.

MINING PROTOCOL

Протокол следующего поколения для объединенного майнинга, созданный Павел Моравец и Ян Чапек , в сотрудничестве с Мэтт Коралло и другими отраслевыми экспертами.

Stratum V2 — это протокол нового поколения для объединенного майнинга.Он нацелен на повышение эффективности передачи данных, снижение требований к физической инфраструктуре для операций майнинга и повышение безопасности. Кроме того, Stratum V2 представляет три новых подпротокола, которые позволяют майнерам выбирать свои собственные наборы транзакций в процессе переговоров с пулами, улучшая децентрализацию.

В следующих разделах мы рассмотрим Stratum V2 по функциям, чтобы вы могли понять, что изменилось по сравнению с V1, почему эти изменения имеют значение и как все это работает на техническом уровне.

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

Обзор протокола

Устройство

Фактическая машина для майнинга, вычисляющая хэши.

Прокси-сервер

Посредник между устройствами майнинга и службами пула, который объединяет соединения для повышения эффективности и может дополнительно предоставлять дополнительные функции, такие как мониторинг состояния и производительности устройств.

Потребитель хешрейта

Вышестоящий узел, на который отправляются общие ресурсы (т. Е. Выполненные задания). Самыми распространенными потребителями хешрейта являются пулы.

Устройство согласования заданий

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

Протокол майнинга

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

Протокол определяет три типа каналов связи:

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

  • Расширенные каналы получают обширный контроль над пространством поиска, чтобы они могли реализовывать расширенные варианты использования (например,грамм. перевод между v1 и v2, агрегирование сложности, настраиваемое разделение пространства поиска и т. д.).

  • Групповые каналы — это просто наборы стандартных каналов, которые открываются в рамках определенного соединения, так что к ним можно обращаться через общий канал связи.

Протокол согласования заданий

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

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

Протокол распространения шаблонов

Используется для получения информации о следующем блоке из Bitcoin Core. Этот протокол был разработан как гораздо более эффективный и простой в реализации API для замены getblocktemplate (BIP 22 и 23).

В частности, протокол распространения шаблонов используется для связи с частью ядра биткойна, называемой «биткойн», которая реализует протокол биткойна для использования удаленного вызова процедур (RPC). Другими словами, биткойн позволяет интегрировать протокол Биткойн с другим программным обеспечением.

Протокол распределения заданий

Используется для передачи недавно согласованной работы заинтересованным узлам, которые могут быть прокси или фактическими устройствами майнинга. Этот протокол является дополнительным к протоколу согласования заданий.

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

Восходящий и нисходящий поток описывает направление потока данных.Самый дальний нисходящий компонент — это устройство майнинга, а самый дальний восходящий компонент — это служба пула.

Функции

Потребление полосы пропускания

Stratum V2 оптимизирован двумя способами для снижения потребления полосы пропускания. Во-первых, поскольку он полностью двоичный, а не основан на JSON, как V1, размер передаваемых данных минимален. Во-вторых, он устраняет множество случаев, когда данные передаются без необходимости (например, избыточные сообщения), а это означает, что общий объем передаваемых данных также сводится к минимуму.

V2 типичное сообщение отправки общего ресурса составляет 32 байта без шифрования и 48 байтов с ним.

Типичное сообщение отправки общего ресурса V1 составляет приблизительно 100 байтов

Техническое описание

Использование двоичного, а не текстового протокола значительно снижает потребление полосы пропускания. Благодаря тому, что сообщения стали удобочитаемыми в Stratum V1, некоторые сообщения стали примерно в 2-3 раза тяжелее, чем необходимо, и теперь они уменьшены до минимального размера в V2.

Кроме того, V1 включает некоторые сообщения, которые вообще не нужны, например mining.subscribe. За счет исключения этих случаев общее количество передаваемых сообщений уменьшается, а потребление полосы пропускания сокращается еще больше.

Мотивация и влияние

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

Загрузка ЦП сервера

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

V2 Снижение нагрузки на ЦП при отправке общих ресурсов на 70-80% по сравнению с V1

V1 Эффективное кэширование невозможно. Корень Меркла пересчитывается для каждой заявки.

Техническое описание

Снижение нагрузки на ЦП сервера в Stratum V2 является результатом того, что конечные устройства могут выполнять интеллектуальный анализ только по заголовкам. Это означает, что корень Меркла всегда предоставляется вышестоящим узлом и совсем не нуждается в обработке конечными устройствами. Другими словами, конечным устройствам больше не нужно выполнять какие-либо модификации базы монет. Это упрощает вычисления для майнеров, но также дает дополнительное преимущество, так как значительно облегчает проверку работы (то есть нагрузку на ЦП) на стороне сервера.

Мотивация и влияние

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

Задержка распределения заданий

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

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

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

Техническое описание

Пулы распределяют задания между майнерами, отправляя блоки, содержащие некоторые предопределенные данные, а также некоторые переменные данные, которые обрабатываются майнерами.В Stratum V1 предопределенные данные включают в себя предварительный хэш (т. Е. Хэш последнего найденного действительного блока) и корень Меркла для набора транзакций, который будет включен в текущий блок. Однако эти две части данных нельзя разделить, поэтому для распределения новых заданий требуется интенсивная (медленная) передача данных, как только новый блок (с новым предшешем) был обнаружен и распространен. В Stratum V2 можно отделить предварительный хэш от остальных предопределенных данных блока, что позволяет отправлять данные блока до того, как станет доступен новый предварительный хэш.В результате новое сообщение prevhash может быть отправлено само по себе, как только будет найден действительный блок, и эта передача может происходить намного быстрее, поскольку сообщение не содержит более тяжелых данных. Это позволяет майнерам начать работу над новыми работами быстрее, чем при использовании Stratum V1.

Мотивация и влияние

Каждая миллисекунда, которую майнер должен ждать, чтобы начать работу над новой работой, — это потеря возможности (то есть денег). Эти драгоценные миллисекунды можно сэкономить, отделив сообщение prevhash от других сообщений распределения заданий в Stratum V2.

Двоичные и небинарные

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

V2 передачи данных не читаются человеком, но они значительно более эффективны.

V1 отправляет данные в формате JSON в формате, удобочитаемом человеком, что помогло с внедрением и легче анализировать / отлаживать, но гораздо менее эффективно.

Техническое описание

Протокол имеет фиксированную структуру сообщений и точно определен, что означает, что нет места для различных интерпретаций Stratum V2, как это было с V1. Конкретную структуру кадрирования сообщения можно найти в разделе «Кадрирование» BIP.

Мотивация и влияние

Исходный протокол страты использует JSON, который имеет очень плохое соотношение между размером полезной нагрузки сообщения и фактической передаваемой информацией. Превращение Stratum V2 в двоичный протокол дает гораздо лучшую эффективность данных, а сохраненная полоса пропускания может использоваться для более частых отправок, чтобы еще больше уменьшить дисперсию хешрейта.

Предотвращение атак «злоумышленник посередине»

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

Имеются ли механизмы для предотвращения кражи хешрейта злоумышленниками и перехвата передачи данных майнинга?

Техническое описание

Stratum V2 использует тип схемы шифрования под названием AEAD (аутентифицированное шифрование со связанными данными) для решения аспектов безопасности всех коммуникаций, которые происходят между клиентами и серверами.Это обеспечивает как конфиденциальность, так и целостность передаваемых зашифрованных текстов (т. Е. Зашифрованных данных), а также целостность связанных данных, которые не зашифрованы.

Мотивация и влияние

Stratum V1 уязвим для атак типа «злоумышленник в середине» трех разновидностей: перехват всех коммуникаций между пулами и майнерами, кража метаданных из журналов интернет-провайдеров и захват хешрейта. Все эти атаки могут быть выполнены без легкого обнаружения, что делает их еще более неприятными.Stratum V2 использует аутентифицированное шифрование со связанными данными (AEAD), поэтому возможные злоумышленники не смогут использовать данные отправки общего доступа для идентификации конкретных майнеров, таким образом поддерживая конфиденциальность майнеров и защищая их от перехвата хешрейта.

Исключение майнинга пустых блоков

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

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

Медленнее отправляется полный блок, чем пустой.

Техническое описание

Очень похоже на раздел «Задержка распределения заданий», устранение стимула для майнинга пустых блоков сводится к отделению сообщения prevhash от других данных заголовка блока. В Stratum V1 у пулов есть стимул как можно скорее отправлять пустые блоки, содержащие новый предхэш, поскольку эти сообщения будут приходить быстрее, чем сообщения, содержащие полный блок.Разделив эти два сообщения в Stratum V2, пулы теперь могут отправлять майнерам полные блоки до нового сообщения предхеширования. Другими словами, майнеры могут быть готовы начать работу над новым (полным) блоком до того, как будет найден предыдущий блок, а затем все, что им нужно, — это новое сообщение prevhash, чтобы начать работу над следующим блоком. Поскольку это сообщение prevhash имеет один и тот же размер (т.е. для его доставки требуется одинаковое количество времени), независимо от того, отправил ли пул пустой блок или полный блок, больше нет стимула для майнинга на пустых блоках.

Мотивация и влияние

Пока существует стимул майнить на пустых блоках, существует ненулевой шанс, что майнер действительно найдет правильное решение в течение этого времени и предложит пустой блок, который будет принят остальной частью сети . Учитывая, что майнинг пустого блока не дает преимущества перед полным блоком с Stratum V2, майнинг пустых блоков следует эффективно исключить.

Выбор работы

Шахтеры теперь могут выбирать свою работу (т.е. выбрать собственный набор транзакций), что делает майнинг более децентрализованным. Это реализовано отдельно от основного протокола майнинга и не является обязательным для пулов и майнеров.

Разрешает майнерам выбирать собственный набор транзакций?

Техническое описание

Выбор заданий конечными майнерами включен как дополнительный компонент Stratum V2, отдельный от основного протокола майнинга. Фактически, это фактически выполняется тремя подпротоколами: протоколом согласования заданий, протоколом распределения заданий и протоколом распространения шаблонов.

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

Мотивация и влияние

Разрешение майнерам выбирать свои собственные наборы транзакций перемещает некоторую власть от майнинговых пулов дальше вниз по течению к самим майнерам, тем самым повышая устойчивость Биткойна к цензуре. Первоначально эта идея была выдвинута Мэттом Коралло в BetterHash, и мы сочли очень важным включить ее в Stratum V2, поскольку она оказывает существенное влияние на децентрализацию Биткойна.

Мультиплексирование

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

Техническое описание

Хотя это было бы непрактично, теоретически может иметь до 232 (~ 4,3 миллиарда) открытых каналов в пределах одного физического соединения (например, TCP) с вышестоящим узлом страты. Эти каналы независимы и имеют уникальные идентификаторы каналов, что означает, что многие устройства могут одновременно получать разные задания, используя одно и то же соединение, что позволяет сэкономить на затратах на инфраструктуру.В то же время все каналы могут обмениваться некоторой информацией для большей эффективности, например, когда транслируется новый предхеш.

Мотивация и влияние

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

Неявная подписка на работу

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

V2 исключает сообщение mining.subscribe.

V1 есть два сообщения: mining.subscribe и mining.authorize

Техническое описание

Когда майнер устанавливает соединение с пулом (клиент -> сервер) в Stratum V1, он отправляет сообщение mining.authorize. После успешного запроса авторизации майнер отправляет сообщение mining.subscribe, указывающее, что он хочет начать (или возобновить) работу над заданиями, назначенными пулом. Другими словами, майнеры должны явно запрашивать задания.В Stratum V2 неявно предполагается, что майнер хочет получать задания, если они открывают канал с пулом.

Мотивация и влияние

Подписки на майнинг (то есть сообщение mining.subscribe) изначально были частью более сложного протокола майнинга, который больше не актуален. В настоящее время явные подписки на майнинг просто создают ненужные передачи данных в Stratum V1. Неявная подписка на работу повышает относительную эффективность протокола.

Прокачка собственной версии

Прокачка версии была добавлена ​​как расширение (BIP 310) для Stratum V1. Это стало неотъемлемой частью майнинга, и V2 напрямую поддерживает установку версий майнерами, не требуя каких-либо расширений.

V2 изначально поддерживает это.

V1 Имеет расширение (BIP 310), позволяющее обновлять версию.

Техническое описание

Каждый заголовок блока Биткойн содержит поле версии, биты которого могут быть свободно использованы для расширения пространства поиска для майнера.Этот процесс называется прокруткой версий. Учитывая текущую мощность хэширования современных машин ASIC, 32-битное поле nonce может быть исчерпано менее чем за 100 мс. Каждый раз, когда это происходит, контроллер на машине должен распределять новые задания на каждый чип майнинга. Это потребляет много полосы пропускания и нагрузки на процессор. Накрутка битов версии может значительно снизить частоту распространения новых заданий, и это уже распространенная технология (см. BIP320). Учитывая его широкое распространение, мы решили сделать версию, включающую встроенную часть Stratum V2, вместо того, чтобы требовать расширения, как в V1.

Мотивация и влияние

Прокатная версия уже очень распространена и широко применяется. Мы просто изменили его с расширения в Stratum V1 на собственный компонент протокола в Stratum V2. Конечный результат со стороны не сильно отличается.

Бэкэнд-коммутация с нулевым временем

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

V2 изначально поддерживает получение заданий из нескольких вышестоящих источников.

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

Техническое описание

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

Мотивация и влияние

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

Различные типы заданий на одном и том же соединении

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

V2 Различные каналы в одном соединении могут выполнять разные задания.

V1 Все устройства в соединении всегда совместно используют одно и то же задание.

Техническое описание

Одно из особых преимуществ мультиплексирования, когда дело доходит до Stratum V2, заключается в том, что одно физическое соединение может использоваться для передачи данных о различных заданиях.Это снижает сложность и стоимость инфраструктуры. Например, для установки TCP-соединения требуется трехстороннее рукопожатие, в котором передаются 3 пакета данных, потребляя при этом некоторые ресурсы. Когда ежедневно открываются и закрываются сотни или даже тысячи таких подключений, стоимость может возрасти. Возможность отправлять разные задания по одному соединению снижает частоту, с которой соединения нужно открывать и закрывать, а также общее количество необходимых соединений.

Мотивация и влияние

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

Реализация

Lorem ipsum dolor sit amet, conctetur adipiscing elit. Dolor aliquam eget sit urna. Morbi at at at amet sed lorem nisl. Целое число Viverra id purus sed facilisis eu condimentum nulla.

The Stratum Proxy

Lorem ipsum dolor sit amet, conctetur adipiscing elit. Ornare quisque maecenas cursus magna tempus diam.

Ссылка на репозиторий

Клиент для майнинга

Lorem ipsum dolor sit amet, conctetur adipiscing elit.Ornare quisque maecenas cursus magna tempus diam.

Ссылка на репозиторий

Возможное развертывание


сценариев

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus. Erat ut quam massa velit.

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus. Erat ut quam massa velit.

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus.Erat ut quam massa velit.

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus. Erat ut quam massa velit.

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus. Erat ut quam massa velit.

Lorem ipsum dolor sit amet, onsectetur adipiscing elit. Diam mi sit sed molestie ligula volutpat ipsum risus. Erat ut quam massa velit.

Расширения

Индустрия добычи биткойнов быстро развивается, и ожидается, что участники отрасли со временем захотят добавить функциональность к этому протоколу в качестве расширений.Мы оставили расширения в значительной степени неопределенными в Stratum V2 BIP, но мы обрисовали в общих чертах некоторые основные требования, которым все расширения должны соответствовать / о которых должны быть осведомлены. Их можно найти в разделе «Расширения протокола».

Выберите свой номер

Lorem ipsum dolor sit amet ,conctetur adipiscing elit. Faucibus morbi morbi amet sed. Id elit aliquam aliquam.

Выберите свой номер

Lorem ipsum dolor sit amet ,conctetur adipiscing elit. Faucibus morbi morbi amet sed.Id elit aliquam aliquam.

Выберите свой номер

Lorem ipsum dolor sit amet ,conctetur adipiscing elit. Faucibus morbi morbi amet sed. Id elit aliquam aliquam.

Доступные в настоящее время расширения

Имя расширения

Lorem ipsum dolor sit amet, conctetur adipiscing elit.

Подробнее

Имя расширения

Lorem ipsum dolor sit amet, conctetur adipiscing elit.

Подробнее

Имя расширения

Lorem ipsum dolor sit amet, conctetur adipiscing elit.

Подробнее

Техническое описание

Расширения протокола в Stratum V2 могут быть определены с помощью ненулевого поля extension_type в заголовке сообщения. Расширения в диапазоне 0x4000 — 0x7fff считаются «экспериментальными» и не используются в производственном оборудовании. Расширения, которые были выделены для конкретной цели, для которой они предназначены, будут представлены в разделе «Доступные в настоящее время расширения» на этом сайте.

Одна из наших целей разработки Stratum V2 — обеспечить простую поддержку расширений для конкретных поставщиков, не загрязняя протокол майнинга и не усложняя реализацию пула.Таким образом, можно запросить выделение extension_type для проприетарных расширений конкретного производителя, которые будут использоваться в производственном оборудовании. Для этого краткое описание предполагаемого варианта использования расширения следует отправить в Список разработчиков протокола Биткойн и сюда.

Полное описание требований для расширений см. В разделе «Расширения протокола» в Stratum V2 BIP.

Доступные в настоящее время расширения

Полное описание требований к расширениям см. В разделе «Расширения протокола» в Stratum V2 BIP.

Черновик спецификации опубликован и открыт для комментариев сообщества майнеров. Взгляните и внесите свой вклад.

Протокол Stratum Mining (Slushpool) — Искал программист

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

Содержимое

  • Зачем менять то, что работает?
    • HTTP: обмен данными осуществляется майнерами…
    • Ntime Rolling: для быстрых майнеров недостаточно
    • Длинный опрос: анти-шаблон
  • Как все это исправить?
    • Stratum Protocol
    • Extranonce Rolling: новое измерение
    • Другие решения
  • Для разработчиков программного обеспечения для майнинга
    • Обработка исключений
    • Пример из реального мира
  • Загрузки
  • Совместимые майнеры

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

Основная причина, по которой я разработал этот протокол и реализовал сервер пула с открытым исходным кодом, заключается в том, что текущий протокол майнинга getwork и LP имеет много недостатков и вряд ли может быть использован в какой-либо крупномасштабной установке. Майнеры ASIC, вероятно, появятся в конце 2012 года, поэтому сообществу Биткойн определенно нужно какое-то решение, которое будет легко масштабироваться до тера-хешей в секунду на пользователя пула…

1. Зачем менять то, что работает?

HTTP: обмен данными осуществляется майнерами …

… Однако сервер пула знает гораздо лучше, когда клиентам нужны новые задания по добыче полезных ископаемых. HTTP был разработан для просмотра веб-сайтов, когда клиенты запрашивают у серверов определенный контент. Объединенный майнинг отличается — сервер очень хорошо знает, что нужно клиентам, и может более эффективно контролировать обмен данными. Давайте поменяемся ролями и оставим оркестровку серверу!

Ntime Rolling: не хватает рабочих мест для быстрых майнеров

В настоящее время для каждого полученного задания с сервера майнер может изменять только ntime и nonce.Nonce — это 32-битное целое число (4,2 миллиарда итераций). Ntime — это 32-битное целое число, хранящее временную метку UNIX, и оно должно отражать текущее время, хотя оптимизированные майнеры немного переносят ntime в будущее, что дает майнерам больше комбинаций (nonce range * ntime range). Однако блок, созданный из массово измененного ntime, может быть отклонен сетью Биткойн.

В строгом соответствии со спецификацией getwork, одного задания getwork достаточно для майнинг-фермы 4,2 GHash / s, и (благодаря ntime Rolling) это задание можно использовать в течение одной минуты или до прибытия нового блока биткойнов (в зависимости от того, что произойдет первым).Итак, для установки на 42 GHash / s вам потребуется 10 запросов getwork одновременно, но обычно несколько больше из-за некоторых стратегий предварительного кэширования, реализованных майнерами для предотвращения простоя в сети. А что насчет ASIC-майнеров 1 THash / s в ближайшее время? Нам просто нужно какое-то решение, где нагрузка на сеть совсем не ограничена производительностью майнеров.

Длинный опрос: анти-шаблон

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

Длинный опрос использует отдельное соединение с сервером пула, что приводит к различным проблемам на стороне сервера, таким как балансировка нагрузки соединений между несколькими бэкэндами.Балансировка нагрузки с использованием IP-хэшей или липких HTTP-сессий — это еще один обходной путь, позволяющий сохранить все это в рабочем состоянии.

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

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

2. Как все это исправить?

Теперь мы знаем, что не так в текущей ситуации, поэтому давайте разработаем новый протокол и больше не будем повторять плохие решения:

Stratum Protocol

Изначально я разработал протокол Stratum для легкого клиента Биткойн под названием Electrum.Позже я узнал, что требования к протоколу очень похожи на требования для майнинга биткойнов, поэтому решил повторно использовать его как есть. Пусть вас не смущает эзотерическое название протокола, я старался максимально придерживаться стандартов.

В упрощенном виде Stratum — это линейный протокол, использующий простой TCP-сокет, с полезной нагрузкой, закодированной как сообщения JSON-RPC. Это все. Клиент просто открывает TCP-сокет и записывает запросы на сервер в виде сообщений JSON, заканчивающихся символом новой строки \ n.Каждая строка, полученная клиентом, снова является действительным фрагментом JSON-RPC, содержащим ответ.

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

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

Extranonce Rolling: новое измерение

Это, вероятно, самая инновационная часть нового протокола. В отличие от текущего майнинга, где можно повторять только ntime и nonce, протокол майнинга Stratum дает майнерам возможность легко создавать локальные уникальные транзакции базы монет, чтобы они могли создавать уникальные заголовки блоков локально.Я рекомендую перебирать четыре байта extranonce, что дает возможность обслуживать установку для майнинга 18 EHash / s (Exa-hashes / s) из одного TCP-соединения. Но он может быть легко изменен оператором пула в любое время.

Теперь это будет немного технически, так что давайте объясним это немного. Заголовок блока (строка, содержащаяся в ответе getwork и хешируемая майнерами) состоит из следующих частей:

  • Версия блока, nbits, хэш предыдущего блока в цепочке блоков и некоторые байты заполнения, которые являются константами.
  • Nonce и ntime, которые майнер уже может изменять.
  • Корневой хэш
  • Merkle, который создается путем хеширования транзакций биткойнов, включенных в конкретное задание майнинга.

Чтобы создать больше уникальных заголовков блоков (и, таким образом, иметь возможность генерировать больше уникальных хэшей), мы должны что-то изменить.

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

Другие решения

JSON по сравнению с вашим предпочтительным протоколом

Я рассмотрел множество решений для сериализации и десериализации полезных данных сообщений. Я написал несколько причин для JSON выше, но давайте подведем их еще раз:

  • Полезная нагрузка JSON удобна для чтения, проста в реализации и отладке.
  • Все биткойн-майнеры уже имеют библиотеки JSON. JSON имеет встроенную поддержку почти на всех языках.
  • В отличие от большинства бинарных протоколов, полезную нагрузку JSON можно легко расширить без нарушения обратной совместимости.
  • JSON-RPC уже определяет три собственных типа сообщений, которые использует Stratum: запрос, ответ и уведомление. Нам не нужно изобретать велосипед.
  • JSON определенно имеет некоторые накладные расходы на данные, но сообщения майнинга Stratum обычно помещаются в один TCP-пакет…
    Почему я выбрасываю другие сериализаторы:
  • Пользовательский текстовый протокол удобен для чтения и прост в отладке, но не так прост в реализации, как может показаться на первый взгляд. Мы должны определить способ объединения запроса и ответа, потому что последовательная обработка запросов может быть немного сложной на некоторых платформах (да, теперь я имею в виду Twisted framework, который я использовал для реализации пула). Мы также должны определить, как сериализовать различные типы данных, такие как списки или даже сопоставления. JSON решает все это прозрачно для нас.
  • Пользовательский двоичный протокол — это самая компактная форма, которая может значительно сэкономить пропускную способность, особенно при работе с двоичными данными, участвующими в майнинге биткойнов. Однако правильная запись (де) сериализатора может быть немного сложной. Я хотел протокол, который легко реализовать. Я не искал возиться с порядком байтов и двоичными заголовками.
  • Буферы протокола
  • от Google — интересная концепция, которая может соответствовать потребностям, за исключением того, что поддерживаются только C ++, Python и Java.
  • Thrift — еще один бинарный протокол, который я использовал некоторое время назад, но он определенно слишком тяжел для наших целей.
Stratum Versus Getblocktemplate

Getblocktemplate, представленный в bitcoind 0.7, является очень прогрессивным решением для делегирования создания блоков от полноценного биткойн-клиента отдельному специализированному программному обеспечению. Сервер майнинга Stratum использует механизм getblocktemplate под капотом. По-прежнему есть несколько причин, по которым Stratum, на мой взгляд, является лучшим решением для объединенного майнинга:

  • Это менее сложно, гораздо проще внедрить в существующие майнеры, но при этом он отлично справляется со своей задачей.
  • По историческим причинам getblocktemplate по-прежнему использует протокол HTTP и механизм длительного опроса. Я описал выше, почему это не удается при крупномасштабном майнинге.
  • Stratum намного лучше масштабируется для растущего количества обрабатываемых биткойн-транзакций, поскольку он передает только хэши ветвей Меркла, в отличие от полного дампа пула памяти сервера в getblocktemplate.
  • Проверка отправленных общих ресурсов также намного дешевле для обработки ресурсов в Stratum, чем в getblocktemplate.

На самом деле есть только одна причина, по которой Stratum в настоящее время хуже, чем решение getblocktemplate: майнеры не могут самостоятельно выбирать транзакции биткойнов. По моему опыту, 99% реальных майнеров все равно не заботятся о выборе транзакции, они просто хотят максимально возможное вознаграждение за блок. На данный момент они разделяют интересы оператора пула, поэтому нет реальной причины усложнять протокол майнинга только для тех 1%, кто хочет создавать собственные блоки для пула.

У меня уже есть некоторые идеи для расширения протокола майнинга Stratum, где майнеры смогут предложить свою собственную ветвь Меркла (я называю это внутренне «демократический майнинг»), которая решит такие проблемы, как централизованный выбор транзакций.На данный момент я решил сосредоточиться на таком решении, которое подойдет большинству майнеров и позже сделает некоторые расширения.

3. Для разработчиков программного обеспечения для майнинга

Протокол

Stratum основан на JSON-RPC 2.0. В этой главе я полагаю, что вы знакомы с этим протоколом и понимаете такие термины, как «запрос», «ответ» и «уведомление». Пожалуйста, прочтите спецификацию JSON-RPC для получения более подробной информации.

Для получения высокоуровневого изображения концепции протокола Stratum, пожалуйста, прочтите спецификацию протокола Stratum в документации Google.Этот документ требует некоторого внимания, но в нем приведены основные примеры подключения к серверу Stratum.

Обработка исключений

Stratum определяет простую обработку исключений. Пример отклоненной акции выглядит так:

  {"id": 10, "result": null, "error": (21, "Job не найден", null)}
  

Где поле ошибки определено как (error_code, human_readable_message, traceback). Traceback может содержать дополнительную информацию для отладки ошибок.

Предлагаемые коды ошибок для службы майнинга:

  • 20 — Другое / Неизвестно
  • 21 — Задание не найдено (= просрочено)
  • 22 — Двойная акция
  • 23 — Сегмент низкой сложности
  • 24 — Посторонний
  • 25 — Нет подписки

Реальный пример

Эта глава содержит реальный журнал связи майнер-пул, который разрешил блок testnet3

.
  000000002076870fe65a2b6eeed84fa892c0db924f1482243a6247d931dcab32
  
Майнер подключает сервер

В начале сеанса клиент подписывает текущее соединение для получения майнинговых заданий:

  {"id": 1, "method": "mining.subscribe "," params ": []} \ n {" id ": 1," result ": [[[" mining.set_difficulty "," b4b6693b72a50c7116db18d6497cac52 "], [" mining.notify "," ae6812eb4cd7735a302a8a9dd95 ]c «08000002», 4], «error»: null} \ n
  

Результат содержит три элемента:

  • Сведения о подписках — 2-кортеж с именем подписанного уведомления и идентификатором подписки. Теоретически его можно использовать для отписки, но, очевидно, майнеры не будут его использовать.
  • Extranonce1 — Шестнадцатеричная уникальная строка для каждого соединения, которая будет использоваться для сериализации базы монет позже.Держать его в безопасности!
  • Extranonce2_size — представляет ожидаемую длину extranonce2, которая будет сгенерирована майнером.
Авторизовать работников

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

  {"params": ["slush.miner1", "password"], "id": 2, "method": "mining.authorize"} \ n {"error": null, "id": 2, "результат": true} \ n
  
Сервер начинает отправку уведомлений с заданиями майнинга

Сервер отправляет одно задание почти сразу после подписки.

Небольшое инженерное примечание: есть веская причина, по которой первое задание не включается непосредственно в ответ подписки — майнеру нужно будет обрабатывать один тип ответа двумя разными способами; сначала как ответ подписки, а затем как отдельное уведомление. Обработка задания перехвата только для уведомления JSON-RPC кажется мне немного лучше.

  { "PARAMS": [ "БФ", "4d16b6f85af6e2198f44ae2a6de67f78487ae5611b77c6c0440b921e00000000", "01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff20020862062f503253482f04b8864e5008", "072f736c7573682f000000000100f2052a010000001976a914d23fcdf86f7e756a64a7a9688ef9

7048ed988ac00000000", [], "00000002", "1c2ac4af", "504e86b9", ложные], "Идентификатор": нулевой, «метод ": "добыча.поставить в известность"}

Наконец-то у нас есть кое-что интересное! Я опишу каждое поле уведомления в определенном порядке:

  • job_id — ID задания. Используйте этот идентификатор при отправке общего ресурса, созданного на основе этого задания.
  • prevhash — Хеш предыдущего блока.
  • coinb1 — Начальная часть транзакции coinbase.
  • coinb2 — Заключительная часть транзакции coinbase.
  • merkle_branch — Список хэшей, которые будут использоваться для вычисления корня Меркла.Это не список всех транзакций, он содержит только подготовленные хеши шагов алгоритма дерева Меркла. Пожалуйста, прочтите некоторые материалы, чтобы понять, как работает расчет деревьев Меркла. К сожалению, в этом примере нет хэшей шагов, плохо!
  • Версия
  • — версия блока биткойнов.
  • нбит — закодированная текущая сложность сети
  • ntime — Текущее ntime /
  • clean_jobs — Когда истина, сервер указывает, что отправка общих ресурсов из предыдущих заданий не имеет смысла, и такие общие ресурсы будут отклонены.Когда этот флаг установлен, майнер также должен отбросить все предыдущие задания, поэтому в конечном итоге job_ids может быть изменен.
Как создать транзакцию Coinbase

Теперь майнер получил все данные, необходимые для сериализации транзакции Coinbase: Coinb1, Extranonce1, Extranonce2_size и Coinb2. Во-первых, нам нужно сгенерировать Extranonce2 (он должен быть уникальным для заданного job_id!). Extranonce2_size сообщает нам ожидаемую длину двоичной структуры. Просто будьте абсолютно уверены, что ваш генератор extranonce2 всегда производит extranonce2 с правильной длиной! Например, моя реализация пула устанавливает extranonce2_size = 4, что означает, что это действительный Extranonce2 (в шестнадцатеричном формате): 00000000.

Для создания Coinbase мы просто объединяем Coinb1 + Extranonce1 + Extranonce2 + Coinb2 вместе. Это все!

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

  импорт hashlib
импорт binascii
coinbase_hash_bin = hashlib.sha256 (hashlib.sha256 (binascii.unhexlify (coinbase)). digest ()). digest ()
  
Как построить Merkle Root

Следующий фрагмент Python сгенерирует для вас корень Меркла.Используйте merkle_branch из трансляции и coinbase_hash_bin из предыдущего фрагмента в качестве входных данных:

  импорт binasciidef
build_merkle_root (self, merkle_branch, coinbase_hash_bin):
  merkle_root = coinbase_hash_bin
  для h в self.merkle_branch:
    merkle_root = даблша (merkle_root + binascii.unhexlify (h))
  вернуть binascii.hexlify (merkle_root)
  
Как построить заголовок блока?

Теперь мы почти закончили! Мы должны собрать все вместе, чтобы получить заголовок блока для хеширования:

 версия  + prevhash + merkle_root + ntime + nbits + '00000000' + '0000008000000000000000000000000000000000000000000000000000000000000000000000000080020000'
  

Первые нули — это пустой одноразовый номер, остальные — это заполнение до uint512, и оно всегда одно и то же.

Обратите внимание, что merkle_root должен быть в обратном порядке байтов. Если вы разработчик майнера, у вас уже есть утилитарные методы для этого. Для некоторых примеров на Python см. Исходные коды прокси для майнинга Stratum.

Сервер
может иногда просить майнера изменить сложность обмена

Сложность общего доступа по умолчанию равна 1 (цель с прямым порядком байтов для сложности 1 — 0x00000000ffff0000000000000000000000000000000000000000000000000000), но сервер может попросить вас в любое время во время сеанса изменить ее:

  {"id": null, "method": "mining.set_difficulty "," params ": [2]}
  

Это означает, что сложность 2 будет применяться к каждому следующему заданию, полученному с сервера.

Как отправить?

Когда майнер находит задание, соответствующее запрошенной сложности, он может отправить долю на сервер:

  {"params": ["slush.miner1", "bf", "00000001", "504e86ed", "b2957c02"], "id": 4, "method": "mining.submit"} {"error ": null," id ": 4," result ": true}
  

Значения в определенном порядке: worker_name (ранее авторизовано!), Job_id, extranonce2, ntime, nonce.

Вот и все!

4. Загрузки

5. Совместимые майнеры

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

Майнеры с нативной поддержкой протокола Stratum (прокси не нужен!)

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

eth прокси соло майнинг

eth прокси соло майнинг Я сейчас использую 5700xt и хотел бы попытаться ударить пару блоков. Недавно я добавил ether-proxy, чтобы видеть прогресс. Пул для майнинга Ethereum Classic Solo. Если вы занимаетесь соло-майнингом и не используете пул, просто скачайте geth и позвольте ему синхронизироваться, а затем запустите ethminer. Ethereum Stack Exchange — это сайт вопросов и ответов для пользователей Ethereum, платформы децентрализованных приложений и блокчейна с поддержкой смарт-контрактов.Почему волновая функция частицы не является реальной, но мы все еще можем ее наблюдать? Uniswap v3 намерен преобразовать свой DEX, другие видят. Удаленная конфигурация: дистанционное управление установкой, установка частоты ядра, частоты памяти, управление вентиляторами, информация о пуле и другие параметры удаленно. Затем перейдите к загрузке обеих программ, сначала установив Ethminer (не забудьте выбрать папку, которую вы создали, в качестве области памяти). Резюме сообщения. Интерактивные команды также перечислены в конце следующего раздела.Пул Ethereum Classic SOLO. После успешной установки вы можете найти файл «Ethereum» в файле «Ethermining». Стабильные выплаты. Есть ли шанс, что вы можете отправить мне в личку информацию о соло-майнинге через прокси? Взгляните и посмотрите, помогает ли это. США. Аргументы командной строки. Он подсчитал, что установка 300Mh / s может достигать 1-2 блоков в месяц, прямо сейчас я получаю около 5 ETH в виде выплат в месяц. Соло-майнинг Ethereum чрезвычайно сложен. В соло-пуле майнеры НЕ сотрудничают, чтобы найти новый блок. Разделение вознаграждения за блок НЕТ.Тот, кто найдет блок, получает все (1,0% остается у MaxHash для покрытия операционных расходов). Другие майнеры в пуле сохраняют вознаграждение за найденные блоки. Капитанский журнал. Исправлена ​​дополнительная поддержка kawpow nicehash. Улей ОС). Пул ETH поддерживает майнеров, таких как qt miner, прокси Ethereum, cudaminer и ethminer. Пока майнер работает, вы можете использовать некоторые интерактивные команды. Успех майнинга зависит не только от работы серверов пула и удачи. Мы смогли настроить майнинг ETC, ETH SOLO, а также ETC, ETH STANDARD.Он поддерживает многие типы майнеров, такие как qtMiner, eth-proxy, ethminer и cudaminer. Постоянный порт — вы можете майнить только на пуле Ethereum SOLO, но вы можете использовать любой адрес кошелька ETH. Зависимости: go> = 1.4; гет; Экспорт GOPATH: export GOPATH = $ HOME / go Установите необходимые пакеты: ПОЖАЛУЙСТА, НЕ ПЛАТИТЕ ALEX COBB КАКИЕ-ЛИБО ДЕНЬГИ, ЧТОБЫ ПОМОЧЬ ЕГО УСТАНОВИТЬ ПРОКСИ. Также в майнинг-пуле другая система выплат. Чтобы подписаться на этот RSS-канал, скопируйте и вставьте этот URL-адрес в программу для чтения RSS. Это шоки, которые являются «мягкими» или управляемыми с точки зрения денежно-кредитной политики, потому что… Домой.Порт автопереключения — вы можете переключать монеты (или переключаться на SOLO) на лету, не меняя конфигурацию вашего майнера. Требуется регистрация. ОБЪЯСНЕНИЕ СОЛЬНОГО МАЙНИНГА ПРОКСИ-СЕРВЕРА ETH. Поскольку ether-proxy вынуждает меня войти в сложность, я поставил его на 500. Per Rig Stats. Поскольку акции не имеют значения для соло-майнинга, знает ли кто-нибудь, какую сложность я должен установить в Ether-Proxy, чтобы мой узел пытался решить полный блок? Соло-майнинг криптовалюты Ethereum. История успеха Solo Mining. Как всегда, спасибо Discord и Бэтмену за то, что позволили мне забрать свой мозг! Спасибо за ответ на Ethereum Stack Exchange! Насколько обычно / возможно для европейских университетов принимать кандидатов наук сразу после получения степени бакалавра? дизайн сайта / логотип © 2021 Stack Exchange Inc; пользовательские вклады под лицензией cc by-sa.Насколько мне известно, eth-proxy используется только для майнинга против майнинг-пула с использованием прокси-сервера Stratum. Puoi attivare solo 1 «Cynet Mining» за оборот. Алгоритм Кинжал-Хашимото (Ethash). Судя по его видео, он использует 12 GH / s + Я ​​НЕ ВЕРЮ, ЧЕМ ЕГО БОЛЬШЕ, ЧЕМ ЕГО ОДНА УСТАНОВКА НА ПРОКСИ, ЧТО ОН РАБОТАЕТ У СВОЕГО ДОМА. Если вы, наконец, решите добывать Ethereum, то это правильное место, с которым вы можете заключить сделку. 87479 05:46. Первый — это шоки спроса. С учетом сказанного, я действительно вижу преимущества в использовании прокси-сервера.Ключом всегда может быть точный расчет. RTX 2080 Ti — майнинг Eth на 57Mh / s + RTX 2080 и более. Cynet Mining: Manda 1 карта далла туа аль-Симитеро; Добавьте 1 мост Cyberso di Livello 4 или нижний конец этой палубы. Список возможностей прокси: мониторинг доступности буровых установок; Следите за приемами, отклонениями, статистикой блоков; Легкое обнаружение больных буровых установок; Список отработки отказа демона; Основываясь на Linux. Начните с создания новой папки на носителе данных и назовите ее «Ethermining». Сеть Stack Exchange состоит из 177 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.Модель транзакции eUTXO против модели транзакции, основанной на счете, значение «кипящая вода» в инструкциях по приготовлению пищи, идиома, означающая «делать что-то, что не дает результата». Я провел пошаговое руководство по майнингу эфириума на графическом процессоре AWS, те же шаги должны быть актуальны для вас. Чтобы еще больше запутать ситуацию, Ether-proxy также сообщает, что сложность сети составляет Сложность: 79,764,482,404,251. Я предполагаю, что он спрашивает, какую трудность я хочу решить. 85463 06:02. Законно ли для магазина принимать платежи с дебетовой карты, но не иметь возможности вернуть ей деньги, даже в случае ошибки персонала? Ключом всегда может быть точный расчет.Однако теперь ether-proxy думает, что я являюсь частью пула, и это вынуждает меня создавать трудности. Для дальнейшего обучения важно точно установить файловую структуру как она есть… Он имеет очень эффективный и действенный движок для майнинга, который помогает Ethpool выплачивать выплаты. Серверы этого майнингового пула расположены в США, Европе и Азии. Я видел несколько видеороликов на YouTube о том, как люди используют прокси для повышения шансов майнинга блока в одиночку. Вышеупомянутые пулы для майнинга Ethereum были проверены многими пользователями.Есть ли примеры ухода политиков в отставку после невыполнения предвыборного обещания? Я попытался посмотреть, не делал ли кто-нибудь это, но не заметил. Программное обеспечение Ether Mining для соло-майнинга Ether: Geth и Ethminer. Спасибо . Команда пула Ezil.me предложила майнерам Ethereum увеличить свой доход за счет добычи криптовалюты Zilliqa (ZIL). Мой вопрос: кто-нибудь знает, какую сложность мне нужно установить, чтобы мой узел пытался разрешить весь блок, а не только долю? Прокси слоя ETH; Автоматическое переключение через прокси; Только одно подключение к пулу; Рабочие сразу же получают новую работу; Отправка акций без задержки в сети, это как соло-майнинг, но с преимуществами профессионального пула; Конфигурация центрального кошелька, майнерам не нужен кошелек в качестве имени пользователя; Поддержка мониторинга по электронной почте. Добавлена ​​поддержка для 5500 (xt).Исправлен сбой ввода с клавиатуры в сеансах tmux + screen (например, как долго персонаж будет оставаться без сознания после обморока после боя? Рабочий Telegram и бот для уведомления об оплате. Я использую geth и ethminer в Windows. Насколько мне известно, eth-proxy используется только для майнинг против майнингового пула с использованием прокси-сервера Stratum. Я использую его, чтобы указать на DwarfPool, поскольку мои 6 GPUS не будут майнить ничего самостоятельно. Если вы майните самостоятельно и не используете пул, просто скачайте geth и позвольте ему синхронизироваться, затем запустите ethminer. Выберите новую папку «Ethermining» в качестве области памяти.эфир-прокси. Профессиональные майнеры постоянно отслеживают сложность сети Ethereum Classic и в определенные моменты присоединяются к майнингу, используя свои собственные майнинговые установки или арендованную Nicehash мощность. Какова оптимальная стратегия майнинга ETC SOLO? Вы сохраните программное обеспечение для майнинга эфира в этой папке. СОЛО. Совместимость NiceHash и MiningRigRentals. Кто-нибудь пробует майнинг прокси ETH? 10.10.2020 Майнинг Ethereum Kazanç Hesaplama. 2017/12/18 13:36:55 Действительная доля на высоте 2427590/2427590 от [email protected] на сложности 50000000000.Мы заказали мощности, они начали медленно загружаться в пул,… Эти двое… Профессиональные майнеры все время отслеживают сложность сети Ethereum и в определенные моменты присоединяются к майнингу, используя свои собственные майнинг-фермы или арендованную Nicehash мощность. Прокси слоя ETH; Автоматическое переключение через прокси; Только одно подключение к пулу; Рабочие сразу же получают новую работу; Отправка акций без задержки в сети, это как соло-майнинг, но с преимуществами профессионального пула; Конфигурация центрального кошелька, майнерам не нужен кошелек в качестве имени пользователя; Мониторинг поддержки по электронной почте Насколько мне известно, eth-proxy используется только для майнинга против майнинг-пула с использованием прокси-сервера Stratum.500+ Mh / s SOLO ETHEREUM на 2MINERS. рев 2021.5.25.39370. Чтобы узнать больше, ознакомьтесь с нашими советами по написанию отличных ответов. Можно ли вообще это сделать с помощью Simple Mining? Просто сменить соло-пул? Настраиваемая минимальная выплата. Когда наш майнинговый пул ZEC Solo только запустился, ему потребовалось некоторое тестирование. Это пул для соло-майнинга, который позволяет пользователям майнить Ethereum. Исправлены неработающие оптимизации для kawpow в 0.7.4. Например, вы можете запустить реализацию Stratum V2 на своих устройствах для майнинга и по-прежнему подключаться к пулу, в котором есть только Stratum V1, с помощью прокси-сервера трансляции V2 -> V1.Блок ZEC — 10 монет (2400 долларов), поэтому на поиск одного блока пришлось потратить около 2400 долларов. Объяснение короткого майнинга Ethereum; 3 способа добычи Ethereum; Заключительные слова; Распечатать электронную книгу в формате PDF. Прокси-сервер для Stratum Mining. Теперь существует несколько вариантов для stratum-прокси. Что необходимо с точки зрения системы, чтобы персонаж стал членом Общества следопытов? Если у кого-то есть опыт в этом вопросе, пожалуйста, свяжитесь со мной или хотя бы направьте меня в правильном направлении. Перетащите папку «eth-proxy» в папку «Ethermining».69.81G для Nicehash. Португальский: Mineração Cinet: Envie 1 card da sua mão para o Cemitério; adicione 1 monstro Ciberso de Nível 4 ou menos do seu Deck à sua mão. Является ли плохой писатель серьезным препятствием для исследователя? Пул и соло Майнинг. Просить о помощи, разъяснениях или отвечать на другие ответы. Я использую его, чтобы указать на DwarfPool, так как мои 6 GPUS не будут добывать ничего самостоятельно. Теперь существует новый проект с открытым исходным кодом под названием ether-proxy, который по сути является прокси-сервером для соло-майнинга Ethereum, который может помочь вам отслеживать, как ваш сольный майнинг для Ether происходит с несколькими майнинг-ригами, хотя он будет работать даже с одним. .Выберите новую папку «Ethermining» в качестве области памяти. Активный. Сходство алгоритмов майнинга позволяет перейти с ETH на другую монету за 1,5 часа. 1 Günde 663 TL Kazandım! solo-eth.2miners.com:6060. https://www.youtube.com/watch?v=UUQ9UW6f5Dg&t=1s. Для чего смазывать деревянную разделочную доску маслом? C: \ eth \ ethminer.exe -U -S eth-eu1.nanopool.org:9999 -FS eth-eu2.nanopool.org:9999 -O WALLET_ETHER.UN_NOM. Таким образом, вы могли бы использовать его для подключения к нескольким ПК (с любым количеством графических процессоров).Изменения в v0.7.5. Видео-руководство по майнингу Ethereum. Подключайтесь и обменивайтесь знаниями в едином структурированном и удобном для поиска месте. 11 голосов, 18 комм. TA: Стоимость биткойнов преодолевает препятствия, вот почему быки могли стремиться. В дополнение к исходному прокси-серверу stratum существуют также прокси-серверы перевода для Stratum V2 и Stratum V1, которые можно использовать вместе. Есть ли другие способы ограничить игроков, кроме валютной системы или системы ресурсов? ETH Pool также предлагает мобильное приложение на базе Android с уникальным интерфейсом для пользователя, с помощью которого вы можете легко получить информацию о своих счетах и ​​сохранить… Пулы.Низкая плата за пул. Успех майнинга зависит не только от работы серверов пула и удачи. По словам автора, поля самоописываются. La question à se poser, c’est si cette méthode est plus a rentable que Ethermine. Динамическая или фиксированная сложность. 85099 09:49. Лучший майнинг-пул 2021 года. Какова оптимальная стратегия майнинга ETH SOLO? Алекс Кобб блокировал соло-майнинг с использованием прокси-сервера ETH. ОН НЕ ПРАВДИТЕЛЬНО РАССКАЗЫВАЕТ ВИДЕО. Скорость обычно выше, чем у майнера Ethereum от Claymore в режиме только eth (мы измерили улучшение скорости примерно на 0.4–1,3%, но ваши результаты могут быть немного ниже или выше в зависимости от графических процессоров). Соло-майнинг ETH с прокси? За лучшие ответы голосуют и занимают первое место. Ethereum Stack Exchange лучше всего работает с включенным JavaScript. Начните здесь, чтобы получить быстрый обзор сайта, Подробные ответы на любые вопросы, которые могут у вас возникнуть, Обсудите работу и политику этого сайта, Узнайте подробнее о компании Stack Overflow, Подробнее о найме разработчиков или размещении рекламы у нас, https://www.youtube.com/watch?v=UUQ9UW6f5Dg&t=1s, Подкаст 341: Блокировка ненавистников как услуга, Будущее сообщества Рекламные объявления, реклама с открытым исходным кодом и горячие сетевые вопросы, плановое техническое обслуживание запланировано на пятницу, 4 июня 2021 г., в 12:00 по всемирному координированному времени… Вопросы и ответы о выборах модератора 2021 г. — сборник вопросов, проблема с майнингом эфира, застряла в цикле генерации DAG.Загрузите обе программы и установите «Ethminer». Как майнить Ethereum в одиночку? Я использую его, чтобы указать на DwarfPool, так как мои 6 GPUS не будут добывать ничего самостоятельно. Было бы неплохо очистить реальные блоки, особенно с приближением заката майнинга ETH! Я пытаюсь соло-майнить. Оповещения по электронной почте о сбоях рабочих. Validez avec ОК. Il ne reste plus qu’à double-cliquer sur «ethminer — Raccourci» для lancer le mining. Что это было, что Розамунд Пайк (Эми) плюет в стакан? Стабильный и надежный пул для майнинга Ethereum (ETH).Использование eth-proxy сегодня просто добавит задержки и сделает майнинг менее эффективным. Читать далее. Любое понимание этого? Плата за пул — 1.5% ETH ПРОКСИ-СЕРВЕР ОБЪЯСНЯЕТ СОЛЬНЫЙ МАЙНИНГ | Источник новостей Crypto. Вам нужно только распаковать Stratum Proxy после загрузки. Тип вознаграждения за майнинг: PPS +; Комиссия: 1,0%; Нижняя граница. Может ли правительство США указывать, что людям разрешено есть? Он подсчитал, что установка 300Mh / s может достигать 1-2 блоков в месяц, прямо сейчас я получаю выплаты около 0,5 ETH в месяц. Прибыльный пул для соло-майнинга Ethereum.Поддержка xmr-node-proxy. Подключайтесь к лучшему майнинговому пулу Ethereum, выбрав один из наших серверов для майнинга и лучшее доступное программное обеспечение для майнинга. 85176 05:28. Читать далее. Я не мог найти никакой информации о том, как его настроить, да и информации там мало. Система уведомлений по электронной почте. Вообще говоря, реализация денежно-кредитной политики — это практика определения характера, продолжительности и масштабов потрясений, поражающих нашу экономику. us-solo-eth.2miners.com:6060. Активный. При соло-майнинге пользователи добывают криптовалюту, не полагаясь на сторонние системы, такие как пулы для майнинга.… Что означает 50000000000. Нажимая «Принять все файлы cookie», вы соглашаетесь с тем, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в ​​отношении файлов cookie. solo-eth.2miners.com:6161. 86461 26:52. Я построил установку 6x 5700xt, в настоящее время добываю с использованием Simple Mining PhoenixMiner 5.1c, указав на Ethermine, сообщая 302,13Mh / s, в среднем 291,07 фактических. Как я фронтенд-разработчик, как мне начать больше узнавать о блокчейне и стоит ли мне начинать с Plutus? Соло-майнинг: как следует из названия, это просто означает соло-майнинг, что означает, что майнер выполняет задачи по майнингу независимо.В то время у нас не было достаточно собственных майнинговых установок ZEC, поэтому оставался единственный вариант — арендовать установки в Nicehash. Как tlmgr понимает, какие зависимости устанавливать? Исправлена ​​поддержка сторожевого таймера Linux для жестких сбоев драйверов (скрипт не выполнялся). Чтобы достичь максимально возможной скорости на картах AMD, вам может потребоваться вручную настроить коэффициент настройки графического процессора (число от 8 до 400, которое можно изменить в интерактивном режиме с помощью клавиш + и — во время работы майнера). Конфигурация говорит сама за себя, просто скопируйте config.example.json в config.json и укажите URL-адрес конечной точки и восходящие URL-адреса. В этом примере мы указали пул майнинга EuroHash.net в качестве основной цели майнинга и локальный узел geth в качестве резервного для соло. С «submitHashrate»: true | false прокси будет пересылать запросы eth_submitHashrate в апстрим. Привет, ребята, я только что подтолкнул свой прокси-сервер для майнинга к. Теперь легко управлять своими установками, если вы добываете ETH в одиночку, используя веб-интерфейс … Посмотрите, я добываю блоки на вашей трубке, и мне очень жаль, но вам придется разобраться в этом самостоятельно оттуда, Powered by Discourse, лучше всего просматривать с включенным JavaScript.Изменения в… установке для майнинга ETH на Windows 10 с использованием 9x Nvidia GTX 1070. Почему Йованка Хуска представлена ​​как WGM, когда она имеет более престижный титул IM? Европа. Как добывать Ethereum Plus… Майнинг Ethereum / Bitcoin Cihazımızı Yeniden Prize Taktık. Какие изменения в прокси-сервере, который он использует, вам нужно сделать для и т. Д.? Если вы занимаетесь соло-майнингом и не используете пул, просто скачайте geth и позвольте ему синхронизироваться, а затем запустите ethminer. Порт Stratum для майнинга Альтернативный порт Порт NiceHash; Во всем мире: eth.cruxpool.com: 5555: 15555: 25555: Европа: eu.cruxpool.com: 5555: 15555: 25555: Северная Америка: us.cruxpool.com: 5555: 15555: 25555: Азия: asia.cruxpool.com: 5555: 15555-Мы совместимы с выделенным портом, сложность установлена ​​на 32G . (область информатики). Нет документации. Прокси-сервер для майнинга Ethereum с веб-интерфейсом. Низкие комиссии. Спасибо за ваше время! Комиссия пула 1% Низкая комиссия за майнинг в размере 1%. Расчетный доход. Ethereum не является исключением из этого правила при соло-майнинге и с небольшим количеством пулов и с некоторыми пулами, имеющими проблемы, хотя сложность сети не так уж и мала, есть еще довольно много людей, которые майнят соло … особенно если они иметь больше, чем несколько графических процессоров.30 декабря 2020 г. 11 февраля 2021 г. / Инвестиции в криптовалюту. 3. Время чтения: ~ 4 минуты. Vous pouvez évoluer en solo, c’est à dire faire du mining en direct. Você só pode ativar 1 «Mineração Cinet» por turno. Если вы использовали майнер Claymore Dual Ethereum, вы можете переключиться на PhoenixM… Как ни печально, но у нас не было других вариантов. Какова оптимальная стратегия майнинга ETH SOLO? Профессиональные майнеры постоянно отслеживают сложность сети Ethereum и в определенные моменты присоединяются к майнингу, используя свои собственные майнинговые установки или арендованную Nicehash мощность.Успех майнинга зависит не только от работы серверов пула и удачи. Ключом всегда может быть точный расчет. Делать заявления, основанные на мнении; подкрепите их ссылками или личным опытом. Поддержка Exchange Wallet. Вторник, 18 мая 2021 г. Вам нужно распаковать прокси-сервер Stratum только после загрузки. После успешной установки вы можете найти файл «Ethereum» в файле «Ethermining». Особенности нашего пула для майнинга Ethereum Classic. (Майнинг напрямую на биржу) Регулируемый порог.Требуется регистрация. Что произойдет, если я мутирую поверх существа, находящегося под моим контролем, до конца хода? Если у вас есть несколько графических процессоров в вашей установке и вы запускаете один экземпляр программного обеспечения для майнинга, ваши графические процессоры НЕ будут майнить независимо в пуле. Порты TLS. Как группа элементальных магов защитится от орудий и артиллерии конца Первой мировой войны? Самое замечательное в этом пуле для майнинга заключается в том, что вам не нужно загружать блокчейн или запускать узел за 1% комиссии. Регистрация займет всего минуту. Нажимая «Опубликовать ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie.Перетащите папку «eth-proxy» в папку «Ethermining». Открыть статистику ETH SOLO. Могу ли я вернуть деньги, которые я «одолжил» со своего личного счета на бизнес-счет? Поддержка обменного кошелька. Добавлена ​​поддержка режима соло-майнинга в Nimiq (set -p m = solo). 17,45 Гб для графического процессора. Нажмите клавишу «h», когда окно консоли майнера находится в фокусе клавиатуры, чтобы увидеть список доступных команд. Своевременные настраиваемые выплаты. Следует помнить о скорости хеширования, которую он использует для попадания в эти блоки.Я попытался посмотреть, не делал ли кто-нибудь это, но не заметил. Соло-майнинг поддерживается начиная с версии 2.7c. Изменения в v0.7.6. Алекс Кобб блокировал соло-майнинг с использованием прокси-сервера ETH. НЕ ВЕРЬТЕ ВСЕ, ЧТО ЧИТАЕТЕ. Как удержать себя от прерывания сеанса, чтобы исправить ошибки DM? Панель управления блокирует выплаты. Майнеры начинают майнинг. Начать майнинг ETC … Порт автопереключения — вы можете переключать монеты (или переключаться на SOLO) на лету, не меняя конфигурацию вашего майнера. Низкая плата за пул.Чтобы понять, как изменение климата может повлиять на денежно-кредитную политику, полезно сначала вспомнить основные принципы того, как центральные банки принимают решения о своих действиях. Поскольку я хочу майнить соло, но использую внешний майнер, который подключается к пулу (чтобы не было необходимости делить машину между узлом и майнером), я решил настроить пул соло-майнинга monero-stratum на машине, которая уже размещает узел. 250 Mh / s SOLO ETHEREUM на 2MINERS (ОБНАРУЖЕН ПРОКСИ) https://solo-eth.2miners.com/account/0x45033a8f350f3f5c8b893dc22c51ad0d6bd88e3f.Эфирный пул для майнинга Эфириума. Постоянный порт — вы можете майнить только на пуле Ethereum Classic SOLO, но вы можете использовать любой адрес кошелька ETC. Кроме того, eth-proxy не управляет несколькими графическими процессорами, он управляет одной или несколькими установками для майнинга. Политики обычно различают две широкие категории потрясений.

L’amour En Solde Софи Тапи, Баскетбольная мечта11, Лыжная акробатика Квебек, Плейлист Мелоди Гардо на Youtube, Эксперт по практическим экзаменам En Sinistre, Бернар Монтьель Войтюр, France Tv Sport Replay, Fyber Nv по связям с инвесторами, Логотип Олимпик Лион 2020, Payfit Solde D ‘Отсутствие,

Прошивка

для Antminer S17 + (разгон до 105 / с) ~ Asic.до

Функции
Разгон : более 10 5-й / с с S17 + и 8 5-й / с T17 +!
ASICboost и автонастройка : Все наши версии включают автонастройку частоты для достижения максимальной эффективности, а также использование ASICboost.
Уменьшить количество ошибок оборудования
ЭНЕРГОСБЕРЕЖЕНИЕ
Нет Bmminer
Готовность к погружению / отключение вентилятора : Поддержка высокоэффективного жидкостного иммерсионного охлаждения путем отключения вентилятора в настройках.
Нижний порог температуры : Понижает стандартную защиту от перегрева, чтобы продлить срок службы машин.
Развертывание всей фермы : отправьте файл конфигурации неограниченному количеству майнеров в одной сети. Перезагрузка не требуется!
Контроль мощности : Функция встроенного ваттметра.
Поиск : Найдите другой Asic в сети.
Изменение пароля : Возможность массового изменения паролей и порта ssh.
Развертывание с несколькими ASIC : Настройте один компьютер и установите его на всех одним щелчком мыши.
Бесплатно — Загрузите и начните использовать немедленно. Небольшая комиссия в размере 3% для поддержки проекта.
Поддерживает популярные ASIC : Поддержка всех моделей Antminer S17 / T17 , S9 / S9i / S9j.
Stable : Автоматическая настройка напряжения для лучшей стабильности и производительности хэш-панели.
Спящий режим : майнинг может остановиться, и вентиляторы снизятся до нормальной скорости, потребляя очень мало энергии.
Asic Virus Scanner : Инструмент, который проверяет бывшие в употреблении асики на предмет ночного переключения и других вариантов.
Простое удаление

Привет, ребята.
Встречайте выпуск 2.0.3 для Antminer s17, s17pro, t17, s17 +, t17 +
— самая безопасная прошивка на рынке, над которой мы много работали.

Изменения:
1) Общая стабильность, оптимизация и доработка основных драйверов.
2) Исправлены некорректно работающие профили для модели t17.
3) Исправлен перевод для корректного отображения русского языка.
4) Исправлена ​​ошибка веб-сервера, когда майнер мог зависать в течение длительного времени безотказной работы.
5) Добавлена ​​опция спящего режима.
6) Добавлена ​​опция сбора за гостиницу (где вы можете перенаправить часть хешрейта на оплату электроэнергии, размещения оборудования или оплаты обслуживания майнеров).
7) Добавлен пересчет минимальной скорости хеширования, если одна или несколько плат не были инициализированы.
8) Изменен режим работы кулеров при переводе их на 100% на 5 градусов от критической температуры (было 10).
9) Добавлена ​​подпись для полной безопасности защиты от вирусов с полной возможностью отката к стоковой прошивке без SD-карты, при этом оставив доступ к ssh для полного доступа к вашему оборудованию и полной децентрализации (SSH по умолчанию отключен).
10) Для тех, кто к сожалению пострадал от antbuild, мы сделали блок, чтобы ваш хеш не забирали.
11) Добавлена ​​УНИКАЛЬНАЯ ЗАЩИТА !!! На аппаратном уровне против Antbuild и всех подобных вирусов навсегда !!

Привет, ребята.

Встречайте выпуск прошивки 2.0.0 для Antminer s17, s17Pro, s17 +, t17, t17 +

Изменения:
1. Общая стабильность, доработка и рефакторинг основного драйвера.
2. Улучшено отображение хешрейта чипа.
3. Исправлено отображение вывода текущего часового пояса в региональных настройках.
4. Внесены незначительные изменения в дизайн веб-интерфейса.
5. Добавлены новые профили:
S17 — 55, 60, 63.
S17 + — 55, 60, 62, 68, 74, 80, 88.
T17 — 40мм.
T17 + — 40-й, 48-й, 55-й, 63-й, 68-й.
6. Добавлена ​​автоматическая коррекция красных доменов (ТАЙМЕР).
7. Расширенные диапазоны поиска напряжения для профилей автонастройки.
8. Добавлена ​​полная настройка ручной автонастройки майнера.
9. Сделано плавное изменение скорости вращения вентилятора при инициализации майнера (без резкого скачка).
10. Добавлена ​​защита от разрыва чиповой цепи для предотвращения выхода оборудования из строя.
11. Добавлен автоматический режим «аварийного» охлаждения при «потере» датчиков температуры майнера.
12. Добавлена ​​обработка ошибочных данных с датчиков температуры.
13. Изменен лог, теперь статус майнера стал более понятным и подробным.
14. Реализовано сохранение всех логов майнеров даже при полной перезагрузке.
15. И самое главное, ваш майнер забудет о перегреве, принося вам прибыль с максимальным временем безотказной работы за счет автоматического переключения профилей автонастройки с гибкой системой настроек для адаптации майнера к изменениям температуры окружающей среды.Переключение профилей осуществляется установкой диапазона температур и скорости вращения вентиляторов для (автоматический режим).

Привет, ребята.
Встречайте новый релиз Antminer S17, S17 Pro, T17, S17 +, T17 + версии 1.1.0 от лучшей команды разработчиков✌🏻.

1) Общая стабильность, рефакторинг кода для упрощения добавления поддержки других моделей и доработки основного драйвера.
2) Полная поддержка S17 +.
3) Полная поддержка T17 +.
4) Добавлен новый способ чтения датчиков температуры (переписан с нуля).
5) Автоматическое переключение на более низкий профиль при перегреве майнера.
6) Автоматически переключается на пониженный профиль, когда невозможно настроить выбранный профиль.
7) Добавлен триггер на максимальное количество перезапусков майнера при выходе из строя платы.
Улучшен алгоритм управления скоростью кулера (плавный переход из ручного режима в автоматический без сбоев).
9) Исправлена ​​ошибка установки напряжения в ручном режиме.
10) Исправлена ​​проверка минимального хешрейта (работала при значении 0 как отключено в конфиге).
11) Добавлена ​​информация по всем успешно настроенным профилям.
12) Добавлена ​​защита майнера от кражи хешрейта вирусами.
13) Режим низких температур активируется только при включенном бесшумном режиме (тихий старт).
14) Добавлен триггер, дающий возможность отключить функцию подогрева (предварительного подогрева) чипов.
15) Исправить ошибку, когда прошивка выставляет скорость кулера на 100% в ручном режиме.

Привет, ребята.
Рад представить первый официальный релиз прошивки Best Mining версии 1.0.0 для Antminers s17 & T17

Журнал изменений:
1. Общая стабильность.
2. Корректировка параметров профиля для S17 / T17.
3. Улучшена поддержка nicehash (дополнительная подписка).
4. Добавлен триггер на отключение / включение напряжения (холодный старт).
5. Добавлен триггер для отключения / включения проверки дисбаланса домена.
6. Добавлена ​​возможность задавать целевую температуру чипа (новый фирменный метод настройки, который значительно снижает скорость вращения вентилятора).
7. Реализована поддержка «тихого» старта майнера.
8. Автоматический перевод майнера в режим прогрева при запуске в холодных условиях.
9. Добавлена ​​регистрация мертвых чипов при автонастройке.
10. Улучшено и значительно уменьшено время запуска майнера.
11. Добавлено сохранение частоты чипов / результата автонастройки для последующей ручной предварительной настройки.
12. Добавлена ​​проверка на все типы вирусов, о которых мы знаем сегодня.
13. Вся функциональность добавлена ​​в секцию config multiplier.
14. Активированный часовой пояс.
15. Добавил расчетное энергопотребление майнером (электронный ваттметр).
16. Статус майнера (его API) доступен сразу при запуске через 15 секунд.
17. Добавлена ​​возможность выставлять критическую температуру чипов для автоматического отключения хеш-платы.

Всем привет!
Catch Release: 0.9.9_beta для antminer s17 & t17

Изменения:
1) Доработана и полностью скорректирована работа автонастройки.
2) Полностью переписан алгоритм регулировки напряжения микросхем.
3) Улучшенный метод управления несбалансированными доменами.
4) Настроенные и полностью настроенные профили.
5) Добавлена ​​совместимость с BTC Tools версии 1.2.6.
6) Фиксированный множитель конфигурации с пакетным распространением воркеров.
7) Добавлена ​​поддержка пула nicehash.com.
8) Добавлена ​​поддержка пула для warphash.com.
9) Проверена и исправлена ​​стабильность пула emcd.io

Новый релиз, 0.9.8_beta для моделей Antminer S17 и T17

Что сделано:
1. Общая стабильность
2. Расширен и переделан основной Водитель.
3. Очередная итерация доработки и исправления ошибок (HW)
4. Потеря скорости хеширования на некоторых пулах была проанализирована и исправлена.
5. Добавлена ​​поддержка P2P-пула.
6. Активировал множитель для раздачи массовых пакетных конфигов.
7. Работа со считыванием датчиков температуры I2C
8. Создано более 10 профилей разгона.
9. Добавлена ​​автонастройка !!! (обратите внимание, результаты автонастройки сохраняются в отдельном конфиге, при смене профиля на новый и возврате к предыдущему профилю повторная автонастройка не требуется, за исключением принудительной перенастройки пользователем).
После завершения настройки «временные» изменения фишек в ручном разделе графического интерфейса не отображаются.
10. Автонастройка вынесена отдельным журналом в раздел профилей.
11. Автоматическая перезагрузка при разбалансировке доменов для сохранения чипов от выгорания.
12. Добавлен ручной откат всего домена.

Крипто от А до Я Термин, жаргон, мем, определения

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

Адрес

— это место, куда можно отправлять и отправлять криптовалюту в виде строки букв и цифр. Адрес криптовалюты может быть опубликован в виде текста или QR-кода для тех, кто хочет отправить вам криптовалюту.

Airdrop — это маркетинговая кампания по распространению определенной криптовалюты или токена среди аудитории.Обычно он инициируется создателем криптовалюты, чтобы стимулировать использование и повысить популярность монеты или токена. Большинство кампаний по аирдропу работают с такими механизмами, как получение монет или токенов в обмен на простые задачи, такие как обмен новостями, приглашение друзей или загрузка приложения.

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

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

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

Альткойн — это термин, используемый для описания альтернативных цифровых активов, таких как монета или токен, которые не являются биткойнами. Эта номенклатура исходит из идеи, что Биткойн является исходной криптовалютой, а все остальные считаются «альтернативными» или «альтернативными» монетами.

Трейдер альткойнов — это человек, который торгует криптовалютами, но не биткойнами, потому что биткойн не является альткойном.Лучшие альткойны: Eth, BNB, DOT, ADA, LTC, XRP. ссылка и т. д.

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

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

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

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

Ситуация, когда вы теряете все свои деньги, а точнее, когда вы теряете все свои деньги, продавая биткойны. Это было основано на истории румынского трейдера, который продолжал продавать BTC, когда он упал с 300 до 500 долларов, поскольку исторически он получал большую прибыль.Адаптируйте свою торговую стратегию!

Сокращение от «Интегральная схема специального назначения»; это оборудование для майнинга, которое используется специально для добычи определенной криптовалюты. ASIC, которые часто сравнивают с графическими процессорами, специально создаются и покупаются для целей майнинга и предлагают значительное повышение эффективности и экономию энергии благодаря узкому варианту использования.

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

Термин «исторический максимум» относится к самой высокой цене, которую актив достиг на бирже, для текущей торговой пары, на которую ссылаются. Например, если акция XZY Corp выходит на IPO по цене 5 долларов за акцию, то торгуется до 20 долларов за акцию, прежде чем упасть до 10 долларов за определенный период времени, мы могли бы сказать, что «Все- Time High »для акций XZY Corp. составляла 20 долларов.

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

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

Аттестационная книга — это бухгалтерская книга, предназначенная для подтверждения отдельных транзакций. Обычно он используется для «подтверждения» того, что финансовая транзакция имела место, или для подтверждения подлинности транзакций или продуктов.

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

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

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

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

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

Автомат, с помощью которого вы можете покупать или продавать биткойны и получать наличные. Пример: BTC в доллары, BTC в евро и т. Д.

На данный момент в мире насчитывается 7586+ активных биткойн-банкоматов

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

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

Бизнес-лицензия, выданная криптовалютным компаниям в Нью-Йорке, созданная и предоставленная Департаментом финансовых услуг штата Нью-Йорк (NYSDFS).

бит — это часть одного биткойна. Любую форму денег необходимо легко разбить на части, чтобы обеспечить равный обмен на товары или услуги. Биткойн удивительно делится, его самая маленькая единица — крошечный 0.00000001 биткойна — единица, известная как «сатоши». В одном биткойне 1000000 бит.

Контейнер или набор транзакций, происходящих каждый период времени в цепочке блоков. Короче говоря, термин «блок» относится к компьютерным файлам, в которых хранятся данные транзакций. Эти блоки расположены в линейной последовательности, которая образует бесконечную цепочку блоков — отсюда и термин блокчейн.

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

Количество блоков, предшествующих рассматриваемому блоку в цепочке блоков, или их можно рассматривать как общее количество блоков в цепочке до этого момента.

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

Блокчейн — это постоянно расширяющийся список записей, называемых блоками, которые связаны и защищены с помощью криптографии и предназначены только для добавления.

Инструмент, разработанный Bollinger для помощи в распознавании системных образов цен; это полоса, которая нанесена на два стандартных отклонения от простой скользящей средней или экспоненциальной скользящей средней в некоторых случаях.

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

Brute Force Attack — это метод проб и ошибок, при котором автоматизированное программное обеспечение генерирует и пробует большое количество возможных комбинаций для взлома кода или ключа.

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

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

Термин «бычий рынок» относится к положительной тенденции рыночных цен. Он широко используется не только в сфере криптовалют, но и на традиционных рынках. Короче говоря, бычий рынок связан с сильным восходящим трендом рынка, который представляет значимый рост цен в течение относительно короткого периода времени. По сравнению с традиционными рынками, рынки криптовалют меньше и, следовательно, более волатильны. Поэтому довольно часто можно увидеть сильные и последовательные «бычьи» движения, когда рост цены на 40% за 1-2 дня является обычным явлением.

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

Когда монета или жетон навсегда стали непригодными для использования или использования.

Buy The F **** Dip восторженные возгласы сторонников криптовалюты, чтобы покупать, пока цены находятся на низком уровне.

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

Византийская отказоустойчивость — это свойство отказоустойчивых распределенных вычислительных систем, достижение консенсуса через механизм, при котором компоненты могут выходить из строя, а информация может быть несовершенной.Например, Биткойн является византийским отказоустойчивым, используя систему Proof-of-Work для достижения консенсуса по блокчейну. Его приложения выходят за рамки блокчейна, включая, среди прочего, системы обмена сообщениями и сетевые системы.

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

Свечи — это метод построения графиков, используемый для отображения изменений цены во времени.Каждая свеча предоставляет 4 точки информации: цена открытия, цена закрытия, максимум и минимум. Также известен как «свечи» для краткости.

Наличные деньги — это физическая форма валюты, например банкноты или монеты.

Реестр, который ведется централизованным агентством (например, банком), в котором регистрируются все финансовые операции.

Центральный процессор

, также известный как процессор или ЦП, определяется как «мозг» компьютера, координирующий различные компоненты, работающие на компьютере.Тактовая частота процессора измеряется в гигагерцах или, если кратко, ГГц.

Концепция централизации относится к распределению власти и полномочий в организации или сети. Когда система централизована, это означает, что механизмы планирования и принятия решений сосредоточены в определенной точке внутри системы.

Chain Split — еще один термин, используемый для описания Fork, и, соответственно, это ситуация, когда цепочка блоков разделяется на две отдельные цепочки.Разделение цепочки обычно происходит в криптовалютном мире, когда новые правила управления встроены в код цепочки блоков.

Биткойн-транзакции состоят из входов и выходов в системе, называемой «неизрасходованный выход транзакции». Когда вы отправляете биткойны, вы можете отправлять их только целиком, а остальные отправляются обратно как сдача.

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

Имя, данное алгоритму шифрования и дешифрования информации.

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

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

Относится к цене закрытия; аналогично тому же термину, который используется в финансовых акциях.

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

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

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

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

Автономное хранилище криптовалют, обычно с использованием аппаратных кошельков, не связанных с хранением, USB, автономных компьютеров или бумажных кошельков

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

Транзакция подтверждается только в том случае, если она включена в блок цепочки блоков, и в этот момент она имеет одно подтверждение.Каждый дополнительный блок — еще одно подтверждение. Разные биржи требуют разного количества подтверждений, чтобы считать транзакцию с криптовалютой окончательной.

Консенсус достигается, когда все участники сети согласовывают порядок и содержание блоков и транзакций, содержащихся в этих блоках.

Частный и управляемый блокчейн, в котором консорциум делится информацией, недоступной для общественности, полагаясь при этом на неизменные и прозрачные свойства блокчейна.

Коррекция — это (обычно отрицательное) обратное движение минимум на 10% на криптовалютном или общем рынке для корректировки завышенных или заниженных оценок.

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

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

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

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

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

Криптографические хэши создают уникальное хеш-значение фиксированного размера из входных данных транзакции переменного размера. Алгоритм SHA-256 является примером криптографической хеш-функции.

Область исследования и практики для защиты информации, не позволяющей третьим сторонам читать информацию, к которой они не имеют доступа.

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

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

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

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

Временное восстановление цен после сильного падения.

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

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

Метод децентрализованного финансирования проектов, сочетающий идеи децентрализованных автономных организаций (DAO) и первичных предложений монет (ICO), предложенный Виталиком Бутериным, создателем Ethereum. Он вводит форму управления в процессе ICO, позволяя спонсорам голосовать за возврат своих средств при соблюдении определенных условий.

Организация, в которой действуют правила, закодированные в смарт-контрактах.

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

Процесс преобразования данных, которые не читаются с помощью шифрования, обратно в незашифрованную форму.

Снижение общего уровня цен в хозяйстве.Может также относиться к дефляционной денежно-кредитной политике, такой как Биткойн, где существует фиксированный запас монет.

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

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

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

Открытый рынок деривативов, таких инструментов, как фьючерсные контракты или опционы, которые получены из других форм криптовалютных активов.

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

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

Нематериальный актив, который передается электронным способом и имеет определенную стоимость.

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

Цифровое представление и хранение личной информации, такой как имя, адрес, номер социального страхования и т. Д.; в блокчейне цифровая идентификация может быть децентрализована и использоваться для проверки личности безопасным способом.

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

Фаллоимитатор — это длинная зеленая или красная полоса на графике, показывающая изменения цены криптовалюты по сравнению с зелеными и красными свечами на графиках цен.

Направленный ациклический граф или DAG — это структура, построенная в одном направлении и никогда не повторяющаяся.

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

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

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

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

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

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

Также известный как BTC Dominance for Bitcoin Dominance, это индекс, который сравнивает рыночную капитализацию Биткойна с общей рыночной капитализацией всех других существующих криптовалют.

Ситуация, когда денежная сумма (незаконно) потрачена более одного раза.

Чтобы продать все свои монеты.

Действие коллективных рыночных распродаж, вызывающих движение цены вниз.

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

Старинная пословица: «Проведите собственное исследование». Не верьте людям на слово.

означает «Объясни, как будто мне 5 лет», объяснение настолько простое, что его может понять даже пятилетний ребенок.

Эмиссия

, также известная как кривая эмиссии, скорость эмиссии и график эмиссии, — это скорость, с которой создаются и выпускаются новые монеты.

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

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

Стандарт токенов для невзаимозаменяемых токенов Ethereum. Предложение по улучшению Ethereum, представленное в 2017 году, позволяет смарт-контрактам работать как торгуемые токены, аналогичные токенам ERC-20.

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

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

Ethereum Improvement Proposals EIP, Means описывает стандарты для платформы Ethereum, включая спецификации основных протоколов, клиентские API и стандарты контрактов.

Полная виртуальная машина по Тьюрингу, которая позволяет выполнять код точно так, как задумано; это среда выполнения для каждого смарт-контракта. Каждый узел Ethereum работает на EVM для поддержания консенсуса по всей цепочке блоков.

Криптовалютные биржи (иногда называемые биржами цифровых валют) — это предприятия, которые позволяют клиентам обменивать криптовалюты на фиатные деньги или другие криптовалюты.

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

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

Фиатная валюта является «законным платежным средством», поддерживаемым центральным правительством, например Федеральной резервной системой, и собственной банковской системой, такой как частичное резервирование.Он может иметь форму наличных денег или может быть представлен в электронном виде, например, в виде банковского кредита.

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

Рыба или гольян — это тот, кто держит незначительное количество криптовалют, часто во власти китов, которые двигают рынок вверх и вниз.

Ситуация, на которую надеются поклонники Ethereum, когда общая рыночная капитализация Ethereum превышает общую рыночную капитализацию Биткойна.

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

Аббревиатура, означающая «страх упустить» в контексте инвестирования, относится к чувству опасения по поводу упущения потенциально прибыльной инвестиционной возможности и сожаления об этом позже.

Форки, или разделения цепочки, создают альтернативную версию цепочки блоков, оставляя две цепочки для одновременной работы. Примером может служить Ethereum и Ethereum Classic, который был форкнуть после взлома DAO.

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

Акроним, обозначающий «страх, неуверенность и сомнения». Это стратегия влияния на восприятие определенных криптовалют или рынка криптовалют в целом путем распространения негативной, вводящей в заблуждение или ложной информации.

Кто-то, распространяющий FUD.

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

Метод, при котором вы исследуете базовую стоимость актива, рассматривая технологии, команду, перспективы роста и другие показатели. Некоторые люди проводят фундаментальный анализ в рамках инвестиционной стратегии, называемой «стоимостное инвестирование».

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

Прибыль относится к увеличению стоимости или прибыли.

Термин, используемый на платформе Ethereum, который относится к единице измерения вычислительных усилий при проведении транзакций или смарт-контрактов или запуска dApps в сети Ethereum.Это «топливо» сети Ethereum.

Термин, используемый на платформе Ethereum, который относится к максимальному количеству газа, которое пользователь готов потратить на транзакцию.

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

Первый блок данных, который обрабатывается и проверяется для формирования новой цепочки блоков, часто называемый блоком 0 или блоком 1.

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

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

Еще один термин, используемый для описания майнингового пула.

Номинал, используемый при определении стоимости газа в транзакциях с эфиром.

Взлом — это процесс использования компьютера для несанкционированного манипулирования другим компьютером или компьютерной системой.

Событие, при котором общее количество вознагражденных биткойнов за каждую подтвержденную половину блока происходит каждые 210 000 добытых блоков.

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

Hard Fork — это тип изменения протокола, который проверяет все ранее недействительные транзакции и делает недействительными все ранее действительные транзакции. Этот тип форка требует, чтобы все узлы и пользователи обновили до последней версии программного обеспечения разветвленного протокола. При хард-форке одна криптовалюта постоянно разделяется на две, в результате чего одна цепочка блоков следует старому протоколу, а другая — новейшему протоколу.Некоторыми примерами являются Bitcoin и Bitcoin Cash или Ethereum и Ethereum Classic.

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

Любая функция, используемая для сопоставления данных произвольного размера с данными фиксированного размера.

Единица измерения количества вычислительной мощности, потребляемой сетью для непрерывной работы. Скорость хеширования компьютера может быть измерена в kH / s, MH / s, GH / s, TH / s, PH / s или EH / s в зависимости от производимых хэшей в секунду.

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

Кошелек, который использует протокол иерархической детерминированности (HD) для поддержки создания криптокошельков из одного основного начального числа с использованием 12 мнемонических фраз.

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

Hosted Wallet — это размещенный криптовалютный кошелек — это цифровой кошелек, в котором хранятся ваши личные ключи. В обмен на это кошелек позаботится о резервном копировании и безопасности ваших средств.

Онлайн-хранилище закрытых ключей, обеспечивающее более быстрый доступ к криптовалютам.

Гибридный PoW / PoS позволяет использовать как Proof-of-Stake, так и Proof-of-Work в качестве алгоритмов согласованного распределения в сети. Этот подход направлен на объединение безопасности консенсуса PoW и управления и энергоэффективности PoS.

Hyperledger — это зонтичный проект блокчейнов с открытым исходным кодом и связанных с ними инструментов, запущенный Linux Foundation в 2015 году для поддержки совместной разработки распределенных реестров на основе блокчейнов.

Свойство, определяющее невозможность изменения, особенно с течением времени.

Общий рост цен и падение покупательной стоимости денег.

Первоначальное предложение вознаграждения или НПА / IBO — это ограниченный по времени процесс, с помощью которого новая криптовалюта становится общедоступной и распространяется среди людей, которые вкладывают время и навыки в получение вознаграждений в новой криптовалюте, например, занимаются переводом или маркетингом.В отличие от первоначального предложения монет, при котором вы можете покупать монеты, НПА / IBO требует от получателя большей психологической приверженности.

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

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

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

Посредник или посредник — это физическое или юридическое лицо, которое действует как посредник между различными сторонами для заключения соглашений или выполнения директив.

Состояние, противоположное FOMO, JOMO означает «Радость упущенного».Чаще всего используется теми, кто не занимается монетами, которые заявляют о своем счастье, что они не участвуют в криптовалютах, обычно, когда цены снижаются или обнаруживается мошенническое ICO.

Акроним от «Знай своего клиента», этот процесс относится к обязательствам проекта или финансового учреждения по проверке личности клиента в соответствии с глобальными законами о борьбе с отмыванием денег.

Сокращение от Lamborghini, экзотического автомобиля, о котором люди часто вспоминают, когда хотят разбогатеть с помощью криптовалют.Часто используется в сообществах криптовалюты, когда спрашивают, когда цены могут снова вырасти, говоря: «Когда Ламбо?» Обычно его сочетают с «Когда луна?»

Запись о финансовых транзакциях, которую нельзя изменить, только к ней добавляются новые транзакции.

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

Lightning Network — это платежный протокол «второго уровня», который работает поверх блокчейна.Теоретически это обеспечит быстрые масштабируемые транзакции между участвующими узлами и между ними, и его рекламировали как решение проблемы масштабируемости биткойнов.

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

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

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

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

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

Практика, при которой трейдер использует заемные средства у брокера для торговли криптовалютой, которая формирует обеспечение по ссуде от брокера.Это может быть относительно рискованно для неопытных трейдеров, которые могут получить требование о внесении маржи, если рынок движется в направлении, противоположном их сделкам.
* Маржа «Медвежья позиция»: позиция, которую вы открываете, если у вас «короткая» маржа.
* Маржинальная бычья позиция: позиция, которую вы открываете, если у вас «длинная» маржа

.

Область или арена, онлайн или офлайн, на которой ведутся коммерческие операции. Обычно называемый «криптовалютный рынок», который относится к совокупным криптовалютам и проектам, работающим в отрасли.

Общая капитализация цены криптовалюты. Это один из способов оценить относительный размер криптовалюты.

Рыночная капитализация = Текущая цена x Оборотное предложение

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

Мастерноды — это сервер, поддерживаемый его владельцем, что-то вроде полных узлов, но с дополнительными функциями, такими как анонимизация транзакций, клиринг транзакций и участие в управлении и голосовании. Первоначально он был популяризирован Dash для вознаграждения владельцев этих серверов за поддержку службы для блокчейна.

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

m฿ или mBTC — это миллибиткойны. 1 mBTC равен 0,001 биткойн «BTC».

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

Одна миллионная биткойна или 0,000001 биткойна. Часто путают с форком Биткойна.

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

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

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

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

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

Установка, в которой несколько майнеров объединяют свои вычислительные мощности, чтобы получить экономию от масштаба и конкурентоспособность при поиске следующего блока в цепочке блоков.Вознаграждения распределяются по разным соглашениям в зависимости от пула майнинга. Другой термин для этого — Group Mining.

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

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

Еще один термин, используемый для описания рыб.

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

Мнемоническая фраза (также известная как мнемоническая начальная фраза или начальная фраза) — это список слов, используемых последовательно для доступа или восстановления ваших криптовалютных активов.Это нужно держать в секрете от всех остальных. Это стандарт для большинства кошельков HD.

Мнемоника — это вспомогательные средства для запоминания с такой системой, как буквы или ассоциации, которые помогают вспомнить.

Согласно правовому кодексу США, отправитель денег или служба денежных переводов — это бизнес-субъект, который предоставляет услуги денежных переводов или платежные инструменты, будь то реальная валюта, криптовалюта или любая другая ценность.Службы денежных переводов в США являются частью более крупной группы организаций, называемых предприятиями по оказанию денежных услуг или MSB.

Ситуация, когда цена криптовалюты постоянно движется вверх. Часто используется в сообществах, чтобы задать вопрос, когда криптовалюта испытает такое явление, говоря: «Когда луна?» Обычно его сочетают с «Когда Ламбо?»

Метод технического анализа, это индикатор импульса, следующий за трендом, который показывает взаимосвязь между двумя скользящими средними ценами.Расчет выполняется путем вычитания 26-дневной экспоненциальной скользящей средней (EMA) из 12-дневной EMA.

Mtgox или Mt. Gox был одним из первых веб-сайтов, где пользователи могли принимать участие в обмене фиатных денег на биткойны (и наоборот). В 2014 году Mt. Gox был закрыт после того, как около 850 000 биткойнов было объявлено утерянным или украденным. Mt. Gox был создан в 2006 году Джедом Маккалебом, который назвал его в честь Magic: The Gathering Online Exchange, где пользователи могли использовать карты как акции.Позже Джед продал Mt. Gox — Марку Карпелесу в 2011 году.

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

Сеть относится ко всем узлам, задействованным в блокчейне в любой момент времени.

Не-монетатор — это тот, у кого нет криптовалюты в своем инвестиционном портфеле и который твердо уверен, что криптовалюта в целом потерпит неудачу.

Копия реестра, которой управляет участник сети блокчейн.

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

Когда транзакция хешируется майнером, генерируется произвольное число, предназначенное для использования только один раз, называемое одноразовым номером.

Валюта, которая создается (чеканится) вне указанного реестра блокчейна, но принимается или используется.

Акт хранения криптовалюты на устройствах или системах, не подключенных к Интернету.

Валюта, которая как отчеканена в реестре блокчейна, так и используется в реестре цепочки блоков, например биткойн.

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

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

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

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

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

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

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

Действительный блок в цепочке блоков, не являющийся частью основной цепочки. Они могут возникнуть, когда два майнера производят блоки в одно и то же время, или вызваны попыткой злоумышленника отменить транзакции.Иногда это также называют «отдельным блоком».

Over The Counter определяется как транзакция, совершаемая вне биржи, часто в одноранговой сети через частные сделки. В юрисдикциях, где обмен запрещен или где торгуемые суммы будут перемещать рынки, трейдеры будут использовать внебиржевой путь.

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

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

Торговля между одной криптовалютой и другой, например, торговой парой: BTC / ETH.

Физический документ, содержащий ваш закрытый ключ или начальную фразу.

Децентрализованное взаимодействие между сторонами в распределенной сети, разделение задач или рабочих нагрузок между одноранговыми узлами.

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

Платформа

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

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

Набор криптовалют или криптоактивов, принадлежащих инвестиционной компании, хедж-фонду, финансовому учреждению или физическому лицу.

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

Продажа, которая проводится до того, как ICO станет доступным для финансирования широкой публике.

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

Механизм консенсуса блокчейна, который обеспечивает сравнительно быстрые транзакции с использованием удостоверения в качестве доли.

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

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

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

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

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

Написание под вымышленным именем, например «Сатоши Накамото».

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

Блокчейн, к которому может получить доступ кто угодно.

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

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

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

Решение для масштабирования вне сети, направленное на обеспечение практически мгновенных, недорогих и масштабируемых платежей в блокчейне Ethereum. Это похоже на предлагаемую Биткойн сеть Lightning.

Относительное положение криптовалюты по рыночной капитализации.

Сокращенный жаргон для «потерпевшего крушение», описывающий плохую потерю в сделке.

Форма технического анализа, которая служит осциллятором импульса, измеряя скорость и изменение ценовых движений, разработанная Дж. Уэллсом Уайлдером. Он колеблется между нулем и 100, где криптовалюта считается перекупленной, когда индикатор выше 70 и перепроданной, когда ниже 30.

Копия распределенного реестра в сети, которая распространяется среди всех участников криптовалютной сети.

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

Метод повышения конфиденциальности путем объединения входных данных нескольких подписывающих сторон с данными исходного отправителя для авторизации транзакции.

Сокращение от «Рентабельность инвестиций», соотношение между чистой прибылью и стоимостью инвестирования.

Наименьшая единица биткойна со стоимостью 0,00000001 BTC.

Физическое лицо или группа лиц, создавшие Биткойн. Личность Сатоши Накамото так и не была подтверждена.

Мошенническая или вводящая в заблуждение криптовалюта или ICO.

Альтернативный алгоритм Proof-of Work (PoW) для SHA-256, используемый в майнинге биткойнов.Майнинг Scrypt в большей степени полагается на память, чем на чистую мощность процессора, стремясь уменьшить преимущество, которое имеют ASIC, и, следовательно, увеличить участие в сети и энергоэффективность.

Набор решений, построенных на основе общедоступной цепочки блоков для расширения масштабируемости и эффективности, особенно для микротранзакций или действий. Примеры включают: Plasma, TrueBit, Lightning Network и другие.

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

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

Предложение по усовершенствованию биткойнов (BIP), направленное на исправление гибкости транзакций в биткойнах. Раньше при изменении информации «свидетеля» (подписей) блоков он изменял идентификатор транзакции и ее последующий хэш; SegWit стремился исправить это, разделив подпись и содержимое блока; Побочным эффектом этого изменения стали меньшие размеры блоков и возможность поддержки решений второго уровня.

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

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

Криптографическая хеш-функция, которая генерирует 256-битную подпись для текста, используемую в Bitcoin Proof-of-Work (PoW). Расшифровывается как «алгоритм безопасного хеширования», это один из алгоритмов SHA-2, впервые разработанный АНБ.

Sharding — это подход масштабирования, который позволяет разделить состояния блокчейна на разделы, содержащие состояния и историю транзакций, чтобы каждый сегмент мог обрабатываться параллельно.

Токен Shiba — это децентрализованные токены мемов, которые превращаются в динамичную экосистему. SHIB — это эксперимент по децентрализованному спонтанному построению сообщества.

Активное продвижение криптовалюты или проекта ICO.

Монета без очевидной потенциальной ценности или использования.

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

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

Интернет-черный рынок, существовавший в даркнете, теперь закрытый ФБР. Он принимал биткойны для транзакций.

Легкий клиент для проверки транзакций блокчейна, загружающий только заголовки блоков и запрашивающий подтверждение включения в блокчейн в дереве Меркла.

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

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

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

Язык программирования, используемый Ethereum для разработки смарт-контрактов.

Контракт или транзакция по покупке или продаже криптовалюты для немедленного расчета или оплаты и доставки криптовалюты на рынке.

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

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

Участие в системе Proof-of-Stake (PoS) для размещения ваших токенов в качестве валидатора в блокчейне и получения вознаграждений.

Блок, который был успешно добыт, но не включен в текущую самую длинную цепочку блоков, обычно потому, что в цепочку первым был добавлен другой блок той же высоты.

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

Тикер криптовалюты; например, символ Биткойна — BTC.

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

The Tangle — это альтернатива блокчейну, разработанная IOTA, использующая направленные ациклические графы, которые строятся только в одном единственном направлении и никогда не повторяются, и устойчивы к квантовым вычислениям.

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

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

The Tether на биржах часто обозначается аббревиатурой USDT. Это негосударственный регулируемый «стейблкоин» стоимостью около 1 доллара США. Компания, стоящая за этой монетой, утверждает, что каждый Tether в обращении покрыт реальными долларами на их банковском счете.

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

Изначально ошибка написания полного «Вот оно, господа». Сейчас он используется как введение к хорошим новостям.

Аббревиатура, используемая для однозначной идентификации криптовалют.

Условие, при котором транзакция обрабатывается только в определенное время или блокируется в цепочке блоков.

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

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

Время выпуска токена.

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

Tor — бесплатное программное обеспечение для анонимного общения. Название происходит от аббревиатуры исходного названия программного проекта «Луковый маршрутизатор». Он состоит из сети добровольных ретрансляторов для сокрытия местоположения и использования пользователей.

Общее количество монет, существующих на данный момент, за вычетом всех монет, которые были достоверно сожжены.

— это сумма криптовалюты, которая была продана за последние 24 часа.

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

Акт обмена криптовалюты на блокчейне.

Плата за использование блокчейна для транзакции.

Trezor — это популярный «аппаратный кошелек», который поддерживает несколько цепочек блоков.

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

Другое название службы микширования.

Полный по Тьюрингу относится к способности машины выполнять вычисления, на которые способен любой другой программируемый компьютер. Примером этого является виртуальная машина Ethereum (EVM).

u ฿ или uBTC — это миллибиткойны. 1 uBTC равен 0,000001 биткойн «BTC».

Состояние, в котором транзакция не добавлена ​​в цепочку блоков.

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

Значение USDT см. В разделе Tether.

Всемирное координированное время. Это основной стандарт времени, по которому мир регулирует часы и время, используя высокоточные атомные часы в сочетании с вращением Земли.

UXTO — это сокращение от «неизрасходованный вывод транзакции». Общий баланс биткойнов на адресе может быть распределен по нескольким блокам в цепочке блоков. Неизрасходованные биткойны имеют атрибут UXTO.Путем поиска в блокчейне UXTO, которые принадлежат адресу «кошелька», можно определить общий расходный баланс. Это отображается кошельком, когда он полностью синхронизирован.

Участник блокчейна Proof-of-Stake (PoS), участвующий в проверке блоков для получения вознаграждений.

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

Криптовалютный проект, который фактически никогда не разрабатывается.

Vaporware — это термин, пришедший из мира программного обеспечения для обозначения объявленного, но не выпущенного или отмененного программного обеспечения. В мире криптовалют такое тоже происходит, но термин «шиткойн» встречается чаще.

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

Биткойн, который никогда не тратился.

Виталик Бутерин — программист канадско-русского происхождения. Он является изобретателем «Смарт-контрактов» и соучредителем Ethereum.

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

Количество криптовалюты, которой торгуют в течение определенного периода времени, например, за последние 24 часа или более. Объем может показать направление и движение криптовалюты, а также прогноз будущей цены и спроса на нее.

Кошелек для криптовалюты — это безопасный цифровой кошелек, используемый для хранения, отправки и получения цифровой валюты, и делится на две категории: размещенные кошельки и холодные кошельки.

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

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

Инвестор, склонный к панической продаже при первых признаках падения цены.

Наименьшая часть эфира, каждый эфир составляет 1000000000000000000 Wei.

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

Расширенное выражение для Lambo.

Расширенное выражение для Луны.

«Белый список» — это список утвержденных участников, которые могут участвовать в ICO или Pre-ICO. «Белый список» не всегда используется, но обычно он используется для создания «ажиотажа» и эксклюзивности ICO.

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

XBT — это альтернативное сокращение для биткойнов (BTC) и официальный стандарт ISO 4217. Это не зависит от страны. Аббревиатура золота — XAU.

«Желтая книга» — это исследовательский документ. В нем описан более глубокий технический анализ. Цель этого документа — проинформировать всех участников и заинтересованных лиц.

Альтернативная формулировка для неподтвержденной транзакции.

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

Zerocoin, также известный как протокол Zerocoin, изначально был предложением предоставить Биткойну функцию конфиденциальности. В настоящее время это реализовано, среди прочего, монетами Zcoin и PivX. Подробнее об этом читайте в подробном описании zerocoin.

=== Файл отсутствует === Имя: Файл отсутствует Авторы: thomstark Ссылка для пожертвования: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=2JHFN4UF23ARG Версия: 3.9.6.1 Требуется минимум: 3,7 Проверено до: 4.3 Стабильный тег: 3.9.6.1 Лицензия: GPLv3 Теги: файлы, вложения, загрузка, статистика, статистика загрузок, ajax, шорткоды, списки, таблицы, каталог, монетизация, лайтбокс, аудио, видео, файловый менеджер, шифрование, пользовательский CSS, грозный, формы, динамический Загружайте, управляйте и отображайте файлы из каталогов вашего сервера или вложений страниц в стилизованных списках или таблицах с сортируемыми данными.== Описание == Загрузите файлы из внешнего интерфейса с помощью ajax. Управляйте ими безопасно из внешнего интерфейса с помощью файлового менеджера. Показывайте их своим пользователям в стилизованных списках или сортированных таблицах данных. Соберите статистику загрузок. Создавайте шорткоды вручную или с помощью точки и щелкните пользовательский интерфейс. Легко создавайте динамические пути, чтобы показывать разный контент разным вошедшим в систему пользователям. = Как добавить обучающие видео на свою страницу = [youtube https://www.youtube.com/watch?v=XQrr8dulNXs] = Подпишитесь на File Away в Twitter = Щелкните ссылку, чтобы подписаться на File Away для получения информации о предстоящих выпусках и исправлениях: [@fileawayplugin] (https: // twitter.com / fileawayplugin) = Особенности = * File Away готов к переводу и доступен на нескольких языках для внешнего вывода.

* Отображение файлов из каталогов вашего сервера или вложений сообщений / страниц в стилизованных списках или сортируемых таблицах данных с помощью одного из двух мощных шорткодов.

* Собирайте статистику загрузок для всех пользователей вашего сайта и получайте мгновенные уведомления по электронной почте и / или периодические отчеты по электронной почте о загрузках.

* Шифрование ссылок для загрузки и маскирование URL-адресов к файлам.

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

* Один шорткод для безопасной загрузки файлов на ваш сервер из внешнего интерфейса вашего сайта на базе ajax.

* Создавайте RSS-каналы, чтобы пользователи могли подписываться на ваши файловые каталоги и получать обновления при добавлении новых файлов.

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

* Создавайте таблицы данных в стиле File Away с возможностью сортировки, поиска и разбивки на страницы в Formidable Pro Views.

* Полноценный интерфейсный создатель / редактор CSV для управления вашими CSV-файлами и CSV-парсерами File Away, а также для отображения данных CSV кому угодно в сортируемых таблицах данных с возможностью поиска.

* Включите FLightbox, окончательный ответ File Away для Lightbox. Ваши пользователи могут просматривать изображения, смотреть видео и читать PDF-файлы.

* Монетизируйте свои столы с помощью динамически добавляемых баннеров, используя простой файл CSV.

* Поддержка YouTube и Vimeo в собственном FLightbox File Away. * Добавляйте гиперссылки на внешние файлы и веб-страницы, просто перетащив простой CSV-файл в каталог, где указан ваш шорткод.

* Создавайте эскизы для файлов jpg, png, gif и pdf на лету.

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

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

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

* Дополнительно разрешите массовую загрузку в один zip-файл в таблицах данных File Away.

* При желании превратите вашу таблицу данных File Away в дерево каталогов, чтобы перемещаться по подкаталогам, начиная с указанного вами каталога.

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

* Функции безопасности в режиме диспетчера предотвращают обратный доступ к каталогам. Меры безопасности действуют как на стороне клиента, так и на стороне сервера.

* При включенном режиме дерева каталогов используйте шорткод [fileaframe] и шаблон страницы iframe File Away, чтобы встроить таблицу дерева каталогов в цельный iframe на вашей странице, чтобы обеспечить навигацию по каталогам сервера без обновления родительской страницы чтобы разместить на странице несколько таблиц без помех.

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

* Отображать файлы рекурсивно или только из одного указанного каталога.

* Создавайте каталоги на лету, просто указав на них свой шорткод, если они еще не существуют.

* Пользователи Formidable Pro могут легко создавать динамические пути в пользовательских дисплеях Formidable, используя шорткоды Formidable внутри шорткода File Away.

* На основе Foo Table от компании Emergency, ваши таблицы могут быть отсортированы по столбцам, доступны для поиска и имеют возможность включить разбиение на страницы для больших таблиц.

* Простое создание настраиваемых столбцов в таблицах для предоставления дополнительной информации о файлах и вложениях.

* Создавайте шорткоды с плавным интерфейсом «укажи и щелкни».

* Используйте один из встроенных стилей для своего списка или таблицы или легко создавайте свои собственные стили с помощью помощников и встроенного редактора CSS.

* Используйте встроенный редактор CSS или создайте свою собственную таблицу стилей и загрузите ее в каталог custom-css. File Away поставит его в очередь за вас.

* Легко вставляйте свои собственные стили и цвета в пользовательский интерфейс генератора шорткодов.

* Сохраните до пяти базовых каталогов для быстрой справки при создании шорткодов.

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

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

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

* Добавляет настраиваемый столбец идентификатора сообщения в «Все страницы» и «Все сообщения» для быстрой справки при указании шорткода вложений на страницу, отличную от текущей.

* Выберите, загружать ли таблицы стилей и Javascript в верхний колонтитул на всех страницах или в нижний колонтитул только на необходимых страницах.

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

* Автоматически скрывает динамический контент от вышедших из системы пользователей.

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

* Управление доступом к отдельным дисплеям файлов / вложений в зависимости от роли пользователя.

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

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

* Выберите расположение кнопки шорткода на панели TinyMCE.

* Выберите формат отображения даты: ММ / ДД / ГГГГ или ДД / ММ / ГГГГ.

* Поставляется с многочисленными учебными пособиями и десятками быстрых информационных ссылок с модальными оконными помощниками для каждой функции и атрибута шорткода.

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

* В таблицах выберите столбец для сортировки при начальной загрузке страницы: по возрастанию или по убыванию.

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

* Множество других закулисных функций. Шорткоды делают ваши дисплеи презентабельными и безопасными.

= Требования = * PHP 5.4+ * WordPress 3.5+ * Linux Apache == Установка == 1.Загрузите файл ‘file-away /’ в каталог ‘/ wp-content / plugins /’. 2. Активируйте плагин через меню «Плагины» в WordPress. 3. Используйте предоставленный генератор шорткодов и используйте коды на своих страницах, сообщениях, виджетах и ​​т. Д. == Скриншоты == 01. С самодельным FLightbox от File Away вы можете читать известные книги, которые вы написали, не покидая комфортной установки WordPress. 02. С FLightbox вы можете смотреть отмеченные наградами фильмы, которые вы написали и сняли, в любой из четырех тем FLightbox или с темой вашего собственного дизайна! 03.С FLightbox вы можете с ностальгией взглянуть на скриншоты этого маленького пародия, снятого с Эдвардом Джеймсом Олмосом на 46-м ежегодном международном кинофестивале WorldFest. 04. С File Up вы можете загружать удручающие скриншоты из ваших любимых фильмов Бергмана и переименовывать их перед отправкой в ​​черно-белый мир двоичного кода. Вы можете иметь столько форм File Up на странице, сколько хотите, все они одновременно загружают скриншоты из фильмов Белы Тарра и Ингмара Бергмана, чтобы посетители вашего сайта были по-настоящему счастливы.05. При включенном режиме менеджера вы можете создавать новые подкаталоги прямо в таблице. 06. При включенном режиме диспетчера или навигации по дереву каталогов вы можете просматривать подкаталоги и полностью управлять своими файлами. 07. В режиме менеджера вы можете массово копировать, перемещать, удалять или загружать файлы. Все с Ajax. 08. В режиме диспетчера вы можете переименовывать и удалять отдельные файлы без обновления страницы. 09. При воспроизведении аудио без воспроизведения вы можете выбрать компактный аудиоплеер (на фото) или расширенный аудиоплеер, который дает пользователю полный контроль над своим восприятием звука.10. Вы можете монетизировать свой стол File Away или рекламировать предстоящие мероприятия с помощью баннеров, просто загрузив сверхпростой файл CSV вместе с изображениями баннеров в назначенный каталог Banners. Баннеры выбираются случайным образом при каждой загрузке страницы и будут появляться в вашей таблице с интервалом, который вы укажете в своем шорткоде. 11. Кто сказал, что File Away — это все о файлах? Вы можете добавлять динамически генерируемые гиперссылки на любые веб-сайты или веб-страницы, которые вам нужны, просто перетащив простой CSV-файл в каталог, где указан ваш шорткод.Превратите свою таблицу или список File Away в феерию гиперссылок! 12. Пара тематических списков из шелка. 13. Вот тематический список из шелка с датой изменения. 14. Таблица в стиле минимализма: с возможностью сортировки, поиска и разбивки на страницы. 15. Таблица стиля Silver Bullet: с возможностью сортировки, поиска и разбивки на страницы. 16. Введите поисковый запрос в поле поиска (здесь: «png»), и все остальное будет отфильтровано из таблицы. 17. Создайте короткие шорткоды File Away, Attach Away, File Up и File-a-Frame с помощью стилизованного и многофункционального модального генератора шорткодов, который можно найти на панели TinyMCE в редакторе постов / страниц.18. У каждой опции шорткода есть своя информационная ссылка. Нажмите и вуаля! Информация. 19. Вы можете создавать настраиваемые столбцы для перехода в таблицу «Нет файлов» или «Прикрепить» и вставлять метаданные из каждого файла в настраиваемые столбцы. 20. Контролируйте, кто имеет доступ к таблицам режима менеджера. Те, кто этого не делает, по-прежнему могут видеть таблицу, если хотите, просто без всяких управленческих вещей. 21. Вот ваша вкладка «Базовая конфигурация». В принципе, настройте его. 22. Вкладка «Учебники» забита исчерпывающими учебниками.Например, вот руководство, показывающее, как добавлять баннеры в таблицу File Away. 23. Используя встроенный редактор CSS или вашу собственную таблицу стилей, которую File Away помещает в очередь для вас, вы можете создавать свои собственные темы и цвета для всех ваших шорткодов File Away, включая ваши собственные темы FLightbox. 24. По всему пути есть информационные ссылки, чтобы показать вам, как это сделать. И не забудьте уроки Custom CSS на вкладке Tutorials! 25. Вставьте таблицу File Away Manager в iframe File Away, используя шаблон iframe File Away.26. Используя фреймы File Away, вы можете перемещаться по каталогам в таблице, не обновляя страницу. Вы также можете иметь несколько таблиц режима диспетчера на одной странице без конфликтов. == Часто задаваемые вопросы == = Работает ли File Away в Windows Server / IIS? знак равно В настоящее время это не так. Я планирую добавить поддержку Windows Server в будущем. = Как мне перевести File Away на мой родной язык? знак равно 1. Загрузите и установите Poedit. Это бесплатная утилита для перевода.Вы можете найти это в Google. 2. Перейдите к wp-content / plugins / file-away / lib / lng / и загрузите файл с именем «file-away.pot». 3. Откройте [Poedit] (https://poedit.net/download «Poedit») и выберите «Файл»> «Создать из файла POT / PO». Затем укажите его на «file-away.pot» на локальном жестком диске. 4. При появлении запроса выберите язык и диалект из раскрывающегося списка. 5. Переводите, переводите, переводите! 6. Когда вы закончите, сохраните его как файл .po. Назовите его: file-away-en_US.po, если это американский английский, чего не будет.По сути, тот же языковой ярлык, который вы используете в своем wp-config.php для WordPress. 7. После того, как все будет готово и сохранено, отправьте свой .po файл по электронной почте на адрес fileaway.plugin в gmail, и я загружу его в репозиторий File Away для всеобщего использования. Тем временем вы также можете загрузить файлы .po и .mo, созданные Poedit, в свой собственный wp-content / plugins / file-away / lib / lng / и сразу же начать использовать его при установке. = Как мне исправить / обновить существующий языковой перевод File Away? знак равно 1.Выполните шаг 1 из приведенного выше вопроса. 2. Затем выполните шаг 2. За исключением того, что вместо «file-away.pot» возьмите файл .po для вашего языка. Например, «file-away-es_MX.po». 3. Отредактируйте файл .po в Poedit, затем сохраните. Он создаст файлы .po и .mo. 4. Отправьте файл .po по электронной почте на адрес fileaway.plugin в gmail, а пока загрузите файлы .po и .mo обратно в каталог / lib / lng / на сервере. = Могу ли я загружать файлы на свой сервер безопасно из внешнего интерфейса, используя ajax, с File Away? знак равно Почему конечно.= Включает ли шорткод File Away навигацию по дереву каталогов? знак равно Ага. = Включает ли шорткод File Away рекурсивно подкаталоги? знак равно ДА! = Вы собираетесь сделать так, чтобы шорткод File Away рекурсивно включал подкаталоги? знак равно См. Выше. = Когда? !! знак равно Начиная с версии 1.5, за несколько минут до быстрого сжатия Вселенной. = Я установил последнее обновление, и теперь кнопка TinyMCE исчезла из редактора моей страницы. Что дает? знак равно Да, это странная ошибка в процессе автоматического обновления WordPress, которая иногда возникает.Чтобы исправить это, просто загрузите плагин вручную и установите его через FTP или что-то еще. == Журнал изменений == = 3.9.6.1 = * Исправлен конфликт с подключаемым модулем BlackStudio TinyMCE Widget. * Исправлена ​​проблема с динамическими каталогами с именами пользователей, содержащими одиночные точки. * Исправлена ​​проблема воспроизведения звука на повторяющихся столах. = 3.9.6 = * Исправлена ​​проблема с обратной косой чертой при загрузке файлов при загрузке в каталог с апострофом в имени. = 3.9.5 = * Если вы еще не обновились до 3.9.1, ПОЖАЛУЙСТА, установите это обновление для получения важных исправлений.* Исправлена ​​ошибка, из-за которой пользовательские данные базы данных не отображались в повторяющихся таблицах. * Добавлена ​​новая опция на странице настроек File Away на вкладке Options для альтернативного пути. Попробуйте включить, если у вас есть определенные имена файлов UTF-8, которые не отображаются на дисплеях File Away. = 3.9.1 = * Пожалуйста обновите. * Исправлена ​​проблема с массовой загрузкой. * Дополнительные важные патчи. = 3,9 = * Очень важное обновление. Необходимо скачать. * Добавлено несколько обновлений безопасности и патчей.* Исправлены ошибки с пользовательскими данными. * Добавлена ​​функция «Перезаписать имя файла» в File Up. * Различные другие исправления ошибок. = 3.8.4 = * Исправлено: нельзя было использовать точки (.) В сохраненных в базе данных пользовательских данных. Может сейчас. = 3.8.3 = * Исправлена ​​ошибка с функцией переименования при отсутствии столбцов пользовательских данных (ошибка, созданная в 3.8) = 3.8.2 = * Исправлен конфликт между статистикой и функциями перенаправления. * Улучшено: если у пользователя есть доступ к менеджеру, режим менеджера будет переопределять режим шифрования, а не режим шифрования, заменяющий режим менеджера.= 3.8.1 = * Улучшено: теперь вы можете использовать запятые (,) в описаниях при использовании параметра базы данных для метаданных файла. Вы также можете использовать косую черту с этой опцией. Напоминание: если вы используете имя файла для метаданных файла, запятые все равно будут означать разрыв столбца. Использование опции базы данных позволяет использовать запятые в обычной речи. * Улучшено: расположение файла для метаданных теперь также будет обновляться, если каталог переименован в режиме диспетчера. * Исправлено: Завершено удаление пользовательских данных (забыл один бит в последней версии).= 3,8 = * Новая функция: хранить метаданные файла в настраиваемой таблице базы данных, а не в имени файла. Использование такое же, как и в более старом методе (который по-прежнему используется по умолчанию). Чтобы использовать новую опцию базы данных, просто добавьте `metadata =» database «` в вашу таблицу File Away, а затем в режиме менеджера используйте функцию переименования как обычно. Он сохранит данные настраиваемого столбца в базе данных и удалит настраиваемые данные из имени файла, если он уже существует. Если вы используете режим диспетчера для массового перемещения файлов, и если у данного перемещаемого файла есть метаданные, хранящиеся в базе данных, расположение его каталога будет обновлено в базе данных.Примечание. При массовом копировании существующие метаданные не копируются. * Новая функция: теперь у вас есть возможность отключить предварительную настройку имен файлов. Поведение по умолчанию по-прежнему является предварительным. Чтобы отключить это, добавьте `prettify =» off «` в свой шорткод [fileaway]. * Добавлен польский перевод. * Время и дата заменены местами для форматирования даты за пределами США. = 3,7 = * Значительные улучшения для интеграции s2member, RSS-каналов и многого другого. * Вывод s2member теперь совместим с рекурсивным режимом, режимом дерева каталогов и менеджером.* Обнаружение активации s2member теперь поддерживает активацию по сети. * У шорткодов `[fileup]` и `[fileaway_values]` теперь также есть автоматический базовый каталог `s2member-files` в модальном окне генератора шорткодов. Или просто используйте `base =» s2member-files «` в `[fileaway]`, `[fileup]` или `[fileaway_values]`. * В настройках RSS-каналов добавлены новые параметры: при желании можно отключить размер файла, дату изменения и / или прямые ссылки на файлы в ваших каналах. * Теперь вы можете сопоставить ссылки отслеживаемого каталога RSS в каналах с конкретными URL-адресами с помощью файла CSV.См. Учебное пособие «RSS Dir-to-URL Mapping» на вкладке «Учебники». * Если вы используете вышеупомянутую карту CSV и отключили прямые ссылки на файлы в своих RSS-каналах, вы можете сделать так, чтобы ссылки в каналах указывали на страницу вашего сайта, где отображается ваша таблица File Away, таким образом создавая RSS-каналы и статистика работают вместе. * Исправление (надеюсь) для тех, у кого файлы размером> 2 ГБ на 32-битном сервере. Мы используем is_readable () вместо is_file () для проверки существования файла, и если вы добавите `mod =» no «` и `size =» no «` в свой шорткод, мы сможем отображать файлы размером> 2 ГБ на 32-разрядных устройствах. битовые серверы.* Добавлены ограничения суперадминистратора в выпадающие списки ролей / заглавных букв, если включен режим мультисайта. * Разное. исправление ошибок = 3.6.3 = * Исправление ошибки: статистика не записывалась для PDF-файлов в Flightboxes. Фиксированный. = 3.6.2 = * Важные исправления ошибок в этом выпуске. Пожалуйста обновите. * Исправлено: Массовые загрузки и статистика не работали вместе (из-за опечатки, возникшей после того, как я их успешно протестировал, Пффф!). * Исправлено: плагин s2members не читался как активированный в настройках мультисайта. * Исправлено: RSS-ссылки не отображались в подкаталогах на панели навигации дерева каталогов при определенных условиях.* Исправлено: проблемы с часовым поясом для сайтов с другими плагинами, которые переопределяли настройку часового пояса по умолчанию в File Away. * Улучшено: Сброс часового пояса сервера по умолчанию (не часового пояса WP) на UTC после того, как File Away завершен с указанием времени. = 3.6.1 = * Пожалуйста, сначала прочтите список изменений для 3.6. * Исправлена ​​опечатка в шорткоде типа таблицы `[stataway]` при попытке скрыть столбец электронной почты. Tout va bien. * Добавлено правило CSS для полей datepicker в таблицах `[stataway]`, чтобы убедиться, что они встроены в темы, которые по умолчанию устанавливают поля ввода как блоки.* Добавлена ​​опция для отображения либо полного пути + имя файла в таблицах `[stataway]`, либо только имени файла в столбце файла. Используйте `filecolumn =» path «` или `filecolumn =» file «`. По умолчанию это `path`, так что в этом случае вы можете его опустить. * Формат времени для списков и таблиц «[fileaway]«, а также для списков и таблиц «[stataway] и« [stataway_user] «теперь извлекает формат времени из глобальных настроек WordPress. (Формат даты по-прежнему извлекается из глобальных настроек File Away для таблиц, но извлекается из глобальных настроек WordPress для списков.) * Исправлено: если s2skipconfirm был включен, строка запроса подтверждения пропуска сохранялась как часть имени файла в базе данных статистики. Больше ничего из этого. * Обновлен хорватский перевод. = 3,6 = * File Away теперь имеет совершенно новую комплексную систему статистики загрузок с множеством опций, в том числе: * Мгновенные и / или периодические уведомления о загрузках по электронной почте * Скачать статистические данные и отчеты в виде электронных таблиц: `[stataway type =» table «+ other atts]` * Если статистика включена в ваших глобальных настройках File Away, она будет автоматически включена для всех списков и таблиц File Away.Вы можете отключить сбор статистики для каждого шорткода, используя `stats =» false «` в вашем шорткоде. Это применимо только в том случае, если в ваших глобальных настройках включена статистика. * Отображаются самые популярные / последние загрузки: `[stataway type =» list «+ other atts]` * Показать пользователям, что они загрузили за определенный период, и / или их общее количество загрузок за определенный период. `[stataway_user + atts]` * Используйте генератор шорткодов, чтобы познакомиться с новыми шорткодами. * Статистика загрузок включает: точную метку времени для каждой загрузки, загруженный файл (с путем к файлу), идентификатор пользователя, имя пользователя, адрес электронной почты пользователя, IP-адрес и строку агента пользователя.* Сбор статистики загрузок файлов совместим с загрузками s2member, зашифрованными загрузками, массовыми загрузками, регулярными загрузками, загрузками Flightbox. * Вы можете указать роли пользователей или конкретных пользователей, которых следует игнорировать (не будет собирать статистику загрузок для указанных). * Если файл переименован или перемещен в режиме диспетчера удаления файлов или одна из его родительских папок переименована в режиме диспетчера удаленных файлов, новое имя файла / путь к файлу заменит все существующие экземпляры старого в базе данных, что означает, что файл можно переименовать и переместить, при этом статистика будет сохранена.* Множество других опций в системе статистики. * Примечание: статистика загрузок не будет собираться, если пользователь загружает файл из RSS-канала. Статистика загрузок будет собираться только тогда, когда пользователь загружает файл с помощью шорткода плагина File Away на странице WordPress.
* Теперь об остальном: * Добавлены две новые темы таблиц: `whitestripes` и` greymatter` * Добавлен параметр для рекурсивных каналов в каналах (если он включен, RSS-канал родительской папки может содержать ссылки на RSS-каналы его подкаталогов) * На странице «Параметры удаленного файла», если некоторые конкретные параметры изменены, теперь будет запускаться обновление страницы, чтобы вы могли видеть немедленные результаты своих изменений, не обновляя страницу самостоятельно.* Отключен щелчок правой кнопкой мыши на модальном окне Flightbox. * Добавлена ​​поддержка ссылок s2member в модальном окне Flightbox. * Скорректированный размер окна Flightbox для PDF-файлов, если текущий размер окна ниже определенного порогового значения, минимальные поля будут меньше. (Для пользователей с увеличенным масштабом и / или с маленьким разрешением рабочего стола. * Исправлена ​​незначительная ошибка навигации по каталогам * Экспериментальное решение для сайтов с принудительным https во внешнем интерфейсе: добавлены альтернативы https для параметра Base URL на вкладке Basic Config.(Если вы выберете вариант HTTPS, тогда любые шорткоды плагина File Away должны быть на странице HTTPS.) * Добавлен атрибут шорткода «` class` в `[fileaway]`, `[attachaway]` и `[fileup]`. Позволяет указать один или несколько классов css, которые будут применяться к содержащему его элементу div. = 3,5 = * File Away 3.5. Это похоже на File Away 3.1, но на четыре очка выше. * БОЛЬШОЕ НОВОЕ: добавлена ​​система генерации RSS-каналов. Если этот параметр включен, ваши пользователи могут подписаться на RSS-каналы для указанных вами каталогов, чтобы быть в курсе новых добавлений файлов.Есть довольно исчерпывающий видеоурок по настройке RSS-каналов. Просто добавьте `[fileaway_tutorials]` на страницу, чтобы смотреть ее. RSS-каналы также совместимы с s2Members, поэтому каналы будут генерировать ссылки на безопасные загрузки s2Members, если s2Members установлен. * БОЛЬШОЕ НОВИНКА: новый набор шорткодов для пользователей Formidable Pro для создания динамических таблиц данных в стиле File-Away, сортируемых, доступных для поиска и разбитых на страницы в Formidable Pro Views. Для этого тоже есть видеоурок. * БОЛЬШОЕ НОВОЕ: добавлена ​​дополнительная функция перенаправления гостя.Укажите URL-адрес перенаправления на странице базовой конфигурации File Away, затем добавьте `redirect =» true «` к любому шорткоду `[fileaway]`. Если пользователь не вошел в систему, ссылки для загрузки файлов фактически будут ссылками на ваш URL-адрес перенаправления. * гм, изменения, которые я внес в management.js в последнем выпуске, не были эффективными, поскольку каким-то образом этот файл оказался не в той папке. Следовательно, СЕЙЧАС Flightbox будет работать с [fileaframe]. * Нажатие кнопки воспроизведения при воспроизведении звука больше не выбирает строку, если включена массовая загрузка.* Написал новую функцию для определения строки часового пояса, если вы используете смещение UTC в настройках WordPress, поэтому был удален учебник, говорящий вам не использовать смещение UTC в настройках WordPress. * Исправлена ​​проблема с принудительными https-страницами, выдающими ложное срабатывание при проверке каталога установки, что разрушало все! Больше этого не надо. * Для значков и имен каталогов в таблицах DirTree / Manager не применялись выбранные цветовые стили. Есть сейчас. Ага. * Добавлен румынский перевод, спасибо Майку.= 3,4 = * 3.3 было весело, пока это длилось. * БОЛЬШОЕ НОВИНКА: добавлены параметры малого, среднего и большого размера для миниатюр. По умолчанию, если атрибут `thumbsize` опущен, он маленький (к чему вы до сих пор привыкли с помощью File Away thumbs). Маленький — 60×40. Средний — 120×80. Большой — 180×120. Для средних или больших больших пальцев просто добавьте в свой шорткод `thumbsize =» medium «` или `thumbsize =» large «`. * Улучшены превью для YouTube и Vimeo. По умолчанию, если миниатюры включены, миниатюры для видео YouTube и Vimeo будут взяты с серверов YouTube и Vimeo, поэтому вам не нужно ничего делать.Или вы можете добавить свой собственный большой палец для видео на YouTube и Vimeo, как и для любого другого видеофайла (см. Журнал изменений версии 3.3 или руководства). Если вы добавите свой собственный в каталог, шорткод не будет захватывать большой палец с серверов YouTube или Vimeo для этого видео. * Настроен CSS для превью видео. = 3,3 = * Теперь вы можете отображать эскизы видеофайлов, если сами предоставите эскизы изображений. Они будут видны для любого типа видеофайла, воспроизведение которого поддерживается в FLightbox, включая видео YouTube и Vimeo.Миниатюры для видео могут быть в формате .jpg или .png (расширения должны быть в нижнем регистре). Формат наименования строгий. Если ваш видеофайл называется: `My_Movie_Trailer.mp4`, ваш миниатюрный файл должен называться` _thumb_vid_My_Movie_Trailer.jpg` или `_thumb_vid_My_Movie_Trailer.png`. Если будут обнаружены как jpg, так и png превью, png будет иметь приоритет. Они должны храниться в том же каталоге, что и видеофайл (или CSV-файл парсера для видео YouTube и Vimeo). Миниатюры изображений должны быть не менее 60 пикселей в ширину на 40 пикселей в высоту, но выше этого они могут быть любого размера.Они будут масштабированы и обрезаны с помощью CSS3. * Финальный патч re: шифрование. Написал новый метод шифрования для резервного шифрования (для тех, у кого нет библиотеки mcrypt на своем сервере). Позаботится обо всех проблемах, с которыми не справился исходный метод восстановления. = 3,2 = * Добавлен новый код динамического пути: `fa-usermeta (metakeyname)`, где «metakeyname» — это имя любого метаключа пользователя. Вы можете использовать несколько в одном и том же пути, например: `fa-usermeta (metakey1) fa-usermeta (metakey2)`. Вы можете разделить их другими словами или косой чертой, при условии соблюдения формата для каждого отдельного экземпляра: `fa-usermeta (metakeyname)`, с мета-ключом пользователя в круглых скобках сразу после `fa-usermeta`, без пробелов .Работает с File Away и File Up Base и Sub, а также с атрибутами Fileaway Values ​​Base, Sub и Filename. * Добавлена ​​поддержка видео в формате FLV в FLightbox. * Добавлен класс css `ssfa-mobile` в контейнер div значений File Away, Attach Away и Fileaway для мобильных устройств и планшетов. Класс будет включать overflow: auto, чтобы пользователи могли прокручивать вправо, когда таблицы не помещаются на их вертикальных мобильных экранах. * Добавлен резервный метод шифрования для тех, у кого на сервере не установлена ​​библиотека mcrypt.* Исправлены проблемы с CSS, которые возникали в некоторых темах с индикатором выполнения загрузки и позиционированием элементов управления навигацией FLightbox. * Исправлено: FLightbox некрасиво выглядел, когда таблица File Away была в iframe. * Обновлен хорватский перевод. = 3,1 = * УДАЛЕНИЕ ФАЙЛА 3.1. Это как Windows 3.1. Но с крыльями. * File Away теперь включает в себя вечное спасение. Я написал для этого функцию. Пожалуйста. * БОЛЬШОЕ НОВИНКА: FLightbox File Away теперь поддерживает видео YouTube и Vimeo. Просто добавьте URL-адреса и заголовки в свой fileaway-url-parser.csv и включите в шорткоде multi или videos flightbox. Есть видеоурок, если вы не можете разобраться, и старомодный письменный. * БОЛЬШАЯ НОВАЯ: Совершенно новый шорткод `[fileaway_values]`. Создавайте, редактируйте и отображайте файлы CSV. Управляйте csv динамических ссылок и csv баннеров из внешнего интерфейса. Создавайте файлы CSV с динамическими именами на лету для ваших пользователей, если хотите или должны это сделать. Вставлять, переименовывать, удалять столбцы. Вставить, удалить строки. Измените значения ячеек на любые. Сохраняйте резервные копии с отметкой времени.Включены видеоуроки, а также стандартные текстовые обучающие программы. * БОЛЬШОЕ НОВИНКА: видеоуроки File Away в таблице FLightbox на интерфейсе. На данный момент их всего три, но они существенные. Просто поместите `[fileaway_tutorials]` где-нибудь на страницу. Его могут увидеть только те, у кого есть разрешение на использование File Away. * МНОГО ЗАПРОСОВАНО: разбиение на страницы таблицы: раньше было, если в таблице было, скажем, 75 страниц, все 75 ссылок отображались бы в нижнем колонтитуле. Теперь он показывает только пять одновременно. Ура. Это было давно.* БОЛЬШОЕ УЛУЧШЕНИЕ: теперь вы можете иметь столько таблиц в дереве каталогов и / или в режиме менеджера, сколько захотите, все на одной странице. Никаких iframe и никакого вмешательства. Просто добавьте `drawerid =» 1 «` в вашу первую таблицу, `drawerid =» 2 «` во вторую таблицу и так далее. * БОЛЬШОЕ НОВОЕ: в шорткод файла добавлен атрибут matchdrawer. Если ваше дерево каталогов File Away или таблица режима диспетчера имеет `drawerid =» 1 «`, а ваш шорткод File Up имеет `matchdrawer =» 1 «`, то целевой каталог этой формы File Up будет определяться текущим ящиком в файле Гостиный стол.У вас может быть неограниченное количество форм загрузки и таблиц каталога / менеджера на вашей странице, попарно — каждая форма File Up привязана к своему компаньону File Away на все время работы в Интернете. Если у вас нет четкости, есть видеоурок. И письменный. * Это уже имело место в File Away 3.0, но просто хотелось убедиться, что вы знаете, что динамические гиперссылки в ваших файлах `fileaway-url-parser.csv` также могут принимать пользовательские данные в столбце FILENAME для использования в пользовательских столбцах в Хранить удаленные таблицы. См. Руководство по динамическим гиперссылкам, если вы еще не знаете, что это означает, или ознакомьтесь с видеоуроком по добавлению видеообъявлений YouTube и Video.* БОЛЬШОЕ НОВИНКА: добавлены новые атрибуты в списки и таблицы для отсутствующих файлов: `limit` и` limitby`. Вы можете ограничить количество результатов, выводимых на страницу при сканировании каталога (например, 45 файлов), и вы можете ограничить их по самому старому, самому последнему, случайному, альфа и альфа по убыванию. * БОЛЬШОЕ НОВИНКА: добавлены необязательные атрибуты `fadein` и` fadetime` для File Away, Attach Away и File Up, чтобы дать время для загрузки стилей CSS до того, как элементы отобразятся на экране. * МНОГО ЗАПРОСОВАНО: Добавлен атрибут метки поиска для таблиц.Вы можете добавить метку по вашему выбору рядом со значком поиска. (лучше, чтобы этикетка была короткой). `searchlabel =» Найди меня, парень «` * Добавлена ​​поддержка проблем с URL-адресом WPML. * Добавлена ​​опция метки для столбцов имени файла и даты изменения. Теперь, когда у нас есть динамические гиперссылки, вы можете изменить «Имя файла» на что-нибудь другое. * Для форм File Up добавлена ​​вторая опция для атрибута `uploader`. Теперь вы можете добавить к загружаемым файлам либо отображаемое имя пользователя, либо его идентификатор пользователя.Или, конечно, не добавляйте ничего ни к чему. * Добавлены атрибуты `showto` и` hidefrom` в шорткод `[fileaframe]`. * Улучшено создание строки запроса в таблицах дерева каталогов, чтобы они не удаляли другие существующие строки запроса или хэши из URL-адреса. * Улучшена поддержка s2member. Раньше, если s2member был включен в шорткоде, он игнорировал атрибут «sub». Теперь вы можете указать подпапки в каталоге s2member-files. * Добавлен хорватский перевод с благодарностью Антонио Ковачевичу.* ИСПРАВЛЕНО: навигация FlightBox не работала в режиме менеджера. (Думаю, никто не заметил, кроме меня.) * ИСПРАВЛЕНО: динамические гиперссылки из файлов CSV экранировались с помощью символа ‘?’ и символы ‘&’, портя ссылки со строками запроса в них. Кто-то заметил это, но я заметил первым, так вот. * ИЗМЕНЕНО: сортировка столбцов с таблицами в дереве каталогов / в режиме диспетчера по запросу пользователя. Раньше, если у вас была включена таблица дерева каталогов, начальная сортировка была жестко запрограммирована на имя файла по возрастанию, так что каталоги и строка «Новый каталог» всегда были в верхней части таблицы, по крайней мере, при начальной загрузке страницы.Я снял это ограничение по запросу пользователя, и теперь ваши спецификации «sortfirst» будут действовать в таблицах Directory Tree / Manager Mode. Я обновил значения данных каталога

, так что теперь каждый имеет значение данных «# # # # # Dirname» для целей сортировки, чтобы попытаться сохранить их в самом верху или в самом низу, но имейте в виду, что если у вас есть настраиваемые столбцы, а некоторые поля настраиваемых столбцов пусты, они появятся поверх строк Справочника. Whatevs. Я наложил эти ограничения на вас, люди, для вашего же блага, но вы сопротивляетесь и сопротивляетесь моим божественным правилам.Поэтому, когда я сдаюсь и позволяю вам идти своим чередом, не приходите ко мне со слезами на глазах, когда ваши таблицы выглядят ужасно при загрузке страницы. За свободу воли приходится платить. * Улучшена позиция CSS для заголовков, хлебных крошек в дереве каталогов и входных данных для поиска в таблице, добавлены исправления. (Надеюсь, улучшилось. Всегда есть какая-нибудь тема, которая любит напрасно придавать значение.) * Поменяны местами заголовок и хлебные крошки в дереве каталогов, теперь заголовок находится наверху. * Обернутые таблицы и списки в clearfixes, если их ширина не превышает 100%.* Хотя для таблиц и списков File Away и Attach Away по умолчанию используется `float: left`, я сделал так, что если ширина равна 100% (также по умолчанию), то список / таблица будет переключаться на` float: none ; ` * Изменены размеры средства просмотра PDF по умолчанию с высокого на широкий. Пользователь может переключаться вперед и назад по желанию, но теперь он начинается с широкого, который пользователь запрашивал на форумах. * Добавлены новые учебные пособия на вкладке «Учебные пособия» и обновлено несколько. * Изменен стиль полей ввода переименования в таблицах режима менеджера.* Исправлено несколько проблем с людьми, чья версия PHP ниже 5.4. Технически File Away требует PHP 5.4, но я стараюсь приспособиться. * Исправлены проблемы с апострофами в загруженных именах файлов. * Шелковая тема для списков временно не работает. Он сзади и шелковистее, чем замша. = 3,0 = * Добро пожаловать в File Away 3.0. Мы надеемся, что вам понравится ваше вечное место отдыха. * ПРОЧИТАЙТЕ ЭТО ИЗМЕНЕНИЕ PUHLEEZE (ТАК МНОГО НОВОГО) * Обязательно посмотрите новые скриншоты. Они классные.* БОЛЬШОЕ НОВОЕ: FLightbox, окончательный ответ File Away на лайтбокс. Для просмотра изображений, просмотра видео и чтения PDF-файлов. Выберите одну категорию или Мультимедиа для всего лота. Работает со списками и таблицами «Нет файлов» и «Нет прикрепленных файлов». (Итак … все.) Из коробки доступны четыре темы FLightbox, но вы также можете создать свою собственную. * БОЛЬШОЕ НОВОЕ: Баннеризация File Away должна была произойти, и теперь это произошло. Нет, я не заставляю вас смотреть мои рекламные баннеры. Я даю вам возможность заставить ваших пользователей смотреть на ВАШИ рекламные баннеры.Баннеры. В таблицах File Away. Легкий. Об этом читайте на вкладке «Учебники». * БОЛЬШОЕ НОВИНКА: теперь вы можете добавлять динамически генерируемые гиперссылки в список или таблицу «Нет файлов». Вы можете добавить один или тысячу и один. Ссылки на веб-страницы, веб-сайты, файлы на других серверах. Что бы ни. Все, что вам нужно сделать, это перетащить супер-простой файл CSV в каталог, где указан ваш шорткод. Прочтите об этом на вкладке «Учебники». * БОЛЬШОЕ НОВИНКА: теперь для всех четырех шорткодов вы можете выбрать отображение только на настольных компьютерах / ноутбуках или на мобильных устройствах / планшетах.Стилизуйте таблицы / списки по-разному, чтобы они подходили для разных типов устройств. * БОЛЬШОЕ УЛУЧШЕНИЕ: теперь у вас может быть более одной (действительно, неограниченное количество) файловых форм на одной странице без конфликтов. Если ваше сердце желает этого, вы можете загружать файлы, например, в пяти разных формах загрузки, в разные места, с разными настройками, одновременно. Если тебе нравятся подобные вещи. * КВАЗИ-БОЛЬШОЕ НОВИНКА: при включении миниатюр теперь также создаются превью для файлов PDF (только постоянные, а не временные).* НОВАЯ настройка базового URL-адреса на вкладке «Базовая конфигурация». Ранее File Away рассчитывал ваш базовый URL-адрес, но этого оказалось недостаточно для многих сред с несколькими сайтами. Теперь выбирай. (99% из вас не должны ничего менять. Но если ваши ссылки перестают работать, переходите непосредственно к этой настройке.) * Добавлена ​​дополнительная опция в раскрывающийся список «Первоначальная сортировка» для таблиц «Нет файлов» и «Прикрепить» в модальном генераторе. При желании теперь можно отключить сортировку столбцов в таблицах. Для тех, кто работает вручную, это `sortfirst =» disabled «`.* Улучшенный метод шифрования. В оригинальном методе были проблемы с некоторыми персонажами. У нового метода нет никаких проблем ни с чем, и он более скупой при загрузке. * Улучшен метод экранирования проблемных символов URL: он стал единообразным для всех классов. Управляет всей гаммой. * Подкачали громкость на компактном аудиоплеере с 80 до 11. Ну, до 100. * ИЗМЕНЕНО: атрибут style (например,) теперь называется «theme» (например, theme = «minimalist»), НО НЕ УБИВАЙТЕСЬ. «стиль» по-прежнему работает; он обратно совместим.Однако внесены изменения, потому что WordPress имеет тенденцию видеть атрибут «style =» в шорткодах и интерпретировать его как тег стиля HTML, который затем быстро удаляет из шорткода. Итак, теперь это «theme =», и больше никаких проблем. * ОБНОВЛЕНО: руководство по основным стилям цвета и пример CSS буфера обмена, который он предоставляет, для учета новой функции FLightbox. Возьмите новый пример и выполните поиск по запросу «flightbox», чтобы найти все необходимые элементы для ваших собственных стилей цвета. Также добавлен пример для создания собственной темы FLightbox.* ИЗМЕНЕНО: поскольку MSIE и Safari ВСЕ ЕЩЕ (ВСЕ ЕЩЕ!) Не распознают атрибут HTML5 «загрузка», я наконец сломал его и сделал так, что если вы находитесь в MSIE или Safari, все загрузки файлов открываются в новом окне (если только вы используете s2Member-файлы или собственное шифрование File Away, и в этом случае все файлы отправляются на загрузку с сервера). В любом случае … MSIE, Safari … в новом окне. * DROPPED: Помните новую функцию юникода? Отменил это. Это был бюст. PHP отстой в UTF-8. Мои попытки предоставить поддержку UTF-8 для неанглоязычных пользователей фактически привели к тому, что неанглоязычные пользователи начали массово приходить ко мне, говоря, что File Away теперь сломан.Итак, не используйте символы UTF-8. Просто используйте клавиатуру вашего языка. Работает нормально (кроме иврита на большинстве серверов, но это не моя вина, и я не могу ничего сделать с вашим личным сервером). * ИСПРАВЛЕНО: проблема с неанглийскими символами больше не работает с версии 2.5. Вы спросите, как я это исправил? Каяясь в своей попытке поддержать неанглийские символы. (См. Выше.) * ВНЕДРЕНИЕ: `icons =» ​​none «` обратно в таблицы File Away и Attach Away. Кто-то пожаловался, что функция исчезла. Мне стало грустно.Поставил обратно. * ИСПРАВЛЕНО: Апострофы или большинство неанглийских символов в заголовке блога приводили к тому, что zip-файлы массовой загрузки (которым предшествовал заголовок вашего блога) не отправлялись в браузер, потому что WordPress делает некоторые вещи странно. Поэтому вместо этого я добавил новое поле на вкладку «Базовая конфигурация», где вы можете указать собственный префикс массового скачивания zip-файла и даже включить апострофы! Если вы оставите поле пустым, префиксом будет текущая дата. * ИСПРАВЛЕНО: Недавно созданная ошибка с динамическими путями.(На самом деле, я исправил это в последнем выпуске, но я просто подумал, что об этом стоит упомянуть еще раз.) * ИСПРАВЛЕНО: Ошибка, которую я создал с помощью Attach Away в результате исправления ошибки с File Away. (Attach Away — всегда вторая скрипка.) * ИСПРАВЛЕНО: файлы миниатюр (не отображаемые миниатюры, а сами файлы) отображались в рекурсивных списках / таблицах. Они не должны были этого делать. Должен отображаться только в режиме менеджера. Итак … исправлено. * ИСПРАВЛЕНО: Safari не отображал значок типа изображения (ни один из 12, которые я пробовал), поэтому я выбрал кисть для Safari.Иконка осталась неизменной для всех остальных браузеров. * Французский и голландский переводы находятся в работе, но еще не здесь. * Спасибо Робби за бета-тестирование и Гэвину за создание еще одной новой функции. = 2.8.2 = * Добавлено: дополнительная проверка безопасности nonce для зашифрованных загрузок, чтобы дать зашифрованным URL-адресам временный срок службы. * Добавлено: при использовании makedir = «true» для создания каталогов или при создании каталогов в таблице диспетчера File Away теперь добавляет пустой файл index.php в каждый созданный подкаталог, рекурсивно, но только если это индекс.php, index.html или index.htm еще не существует в данном каталоге. * Исправлено: интерфейс навигации по хлебным крошкам был по-разному антисоциальным или привлекающим внимание. Сейчас играет за команду. * Исправлено: для зашифрованных загрузок не использовались скобки в именах файлов. Теперь они их обожают. * Исправлено: зашифрованные загрузки и поддержка юникода плохо работали с постоянными эскизами. Я их ругал. * Исправлено: лазейка, при которой короткие коды файлов работали бы, если в базе данных не было сохранено ни одного базового каталога.Теперь вы получите красивое уведомление об ошибке. * Исправлено: если имя подкаталога совпадает с именем родительского каталога, при переименовании подкаталог также переименовывается в родительский. Больше этого не надо. * Исправлено: почти все предупреждения «foreach () ожидает, что переменная $ будет массивом». * Улучшено: механизм фильтрации onlydirs и excludedirs. = 2.8.1 = * Поврежденный файл вызывал ложноположительные ошибки «заголовки уже отправлены». Фиксированный. = 2,8 = * Три основных улучшения и одна мощная новая функция в этом выпуске.* Большая новая функция: просто добавьте `makedir =» true «` к вашим шорткодам `[fileaway]` или `[fileup]`, и если каталог, на который вы указываете, еще не существует, он будет создан для вас на загрузка первой страницы рекурсивно. Работает со статическими и динамическими путями. Если вы используете динамические пути, это означает, что пользователи вашего сайта будут создавать свои личные каталоги, просто посетив страницу, на которой встроен ваш шорткод `[fileaway]` или `[fileup]`. При использовании динамических путей каталог не будет создан, если пользователь не вошел в систему.Помимо создания новых каталогов, в самом дочернем каталоге будет создан пустой файл index.php, чтобы предотвратить прямой доступ браузера. Это означает, что вам больше не нужно вручную создавать каталоги, прежде чем вы сможете указать им свои шорткоды. Просто укажите на них, и они будут ждать вас, когда вы перейдете на страницу. * Добавлена ​​опция, позволяющая выбрать, будет ли `fa-username` отображать имя пользователя в принудительном нижнем регистре (по умолчанию) или в строгом, чувствительном к регистру. * В дополнение к ролям пользователей добавлены возможности для параметров доступа в режимах showto, hidefrom и manager.* Также изменено отношение showto / hidefrom, чтобы теперь можно было использовать hidefrom для определения атрибута showto. Например, если у пользователя A есть три возможности: edit_posts, manage_options и delete_users, но у пользователя B есть две возможности: edit_posts и manage_options, вы можете показать вывод шорткода пользователю B, но скрыть его. от пользователя A, выполнив `showto =» edit_posts «hidefrom =» delete_users «`. Несмотря на то, что у пользователя A есть ограничение edit_posts из атрибута showto, ограничение delete_users из атрибута hidefrom будет отменено и не будет выводить контент пользователю A.* Избавился от пары багов; избавился от предупреждения array_filter, которое кто-то получал. = 2.7.1 = * Ой. Извините за поток обновлений. * Забыл добавить зашифрованные ссылки на загрузки аудио, когда включены режим воспроизведения и режим шифрования. Теперь добавлено. = 2,7 = * Добавлена ​​функция для шорткода `[fileup]`: использование `uploader =» true «` в шорткоде File Up добавит display_name пользователя к их загруженным файлам в настраиваемом формате данных File Away, который затем может быть отображен в настраиваемом столбце , используя `[fileaway type =» table «customdata =» Загружено пользователем «]`.* Исправлена ​​ошибка с постоянными исключениями и постоянными исключениями каталогов, если эти настройки были пустыми. = 2.6.1 = * Патч для тех, у кого на сервере не настроен openssl, чтобы предотвратить фатальную ошибку при вызове функции openssl. = 2,6 = * Добавлена ​​функция: зашифрованные ссылки для скачивания с маскированием URL для списков и таблиц [fileaway]. * Исправлено: ссылка на имя файла занимала всю ширину ячейки таблицы при включении режима воспроизведения. * Улучшено: режим Bulk Download / Bulk Action Manager: нажатие на ссылки больше не помечает строку таблицы как выбранную.Щелчок в любом другом месте строки по-прежнему работает. * Обновлена ​​справочная информация для функции Unicode, чтобы прояснить проблему и указать на ее ограничения. * Пожалуйста, прочтите журнал обновлений для версии 2.4, если вы еще этого не сделали. = 2,5 = * Добавлена ​​дополнительная поддержка символов Юникода для списков и таблиц, удаленных из файлов. * Пожалуйста, также прочтите список изменений для версии 2.4, если вы еще этого не сделали. = 2,4 = * По случаю превышения отметки в 10 000 загрузок у нас есть крупный релиз. Пожалуйста, внимательно прочтите эти примечания.* В версии 2.4 File Away был полностью переписан с нуля, теперь в объектно-ориентированном PHP. * Если вы использовали sssc_fileaway () или sssc_attachaway () в своем настраиваемом плагине, functions.php, шаблоне темы или чем-то еще, вам нужно будет переключиться на формат объекта в версии 2.4. Перейдите в file-away / lib / inc / inc.deprecated.php, чтобы увидеть, как теперь вызываются методы класса для каждого шорткода. * Если у вас есть собственные стили для списков или таблиц, находящихся на удалении, вам может потребоваться выполнить быстрый поиск и замену после обновления до версии 2.= # ssfa-table-wrap] `. * File Away теперь готов к переводу и поставляется в версии 2.4, изобилующей испанскими и итальянскими переводами, спасибо Эрике Кальдерон, Себастьяну Ньето и Луиджи Лотито. * Обновлены учебные пособия, а также примеры пользовательских стилей. * Убрано более шестидесяти констант из глобального пространства, а также избавлено от 99% глобальных переменных. * Исправлены десятки и десятки мелких ошибок, избавлены от десятков уведомлений и предупреждений. * Полностью переработан модальный генератор шорткодов.* Выпадающие списки загрузки пользователей сайта по умолчанию отключены для тех, у кого десятки тысяч пользователей и сервер, который не может их всех загрузить. * Я упоминал, что переписал весь плагин с нуля? Хорошо, я сделал. Теперь это намного умнее и удобнее. * Многое и многое другое я не могу вспомнить, потому что был слишком занят улучшением File Away, чтобы делать заметки о том, что я улучшал. Просто проверьте это все. Блин, если бы я делал заметки. Это был бы очень длинный список изменений.* Исправлен «расширенный» аудиоплеер, не воспроизводивший файлы с квадратными скобками в именах файлов. * Исправлен атрибут «nolinks», который ранее не применялся к аудиофайлам в режиме воспроизведения. Теперь делает. * Исправлена ​​ошибка с подсчетом столбцов таблицы, иногда вызывающая проблемы в режиме менеджера. * Исправлены хэштеги в имени файла, которые приводили к неработающим ссылкам для скачивания. * Добавлена ​​твиттер-ссылка File Away на вкладку «О программе». = 2.3.1 = * Важное исправление ошибки для дерева каталогов и таблиц режима менеджера. В моем последнем выпуске я удалил одну точку (.) из кода, и я только что понял, что это привело к тому, что навигация по хлебным крошкам над таблицами перестала работать. Итак, моя проблема. Теперь это исправлено. Я работаю над капитальным ремонтом плагина, но мне пришлось внести это исправление, чтобы вы могли снова начать навигацию в обратном направлении. Потому что что такое жизнь, если она не идет вперед и назад, вперед и назад. = 2.3 = * Добавлен второй вариант аудиоплеера для воспроизведения звука. Новая альтернатива появится в столбце имени файла и будет иметь полную панель управления.Чтобы использовать, просто используйте воспроизведение = «расширенный». Для обратной совместимости в столбце filetype воспроизведение = «something_else» будет отображаться как исходная компактная версия. * Добавлена ​​возможность ограничить возможность создания / удаления / переименования подкаталогов указанными ролями пользователей. Другими словами, вы можете предоставить пользователю доступ для управления / переименования / удаления файлов в его собственном каталоге, но не для создания / переименования / удаления своих собственных каталогов. По умолчанию любой, у кого есть доступ в режиме менеджера, будет иметь доступ к управлению каталогом.* Исправлена ​​ошибка, при которой проверка безопасности в режиме массовых действий давала ложное срабатывание при использовании динамических путей. * Избавился от еще нескольких уведомлений. * Наверное, делал что-то другое. = 2.2.5 = * Добавлен альтернативный вариант для миниатюр. Раньше создаваемые эскизы были временными и создавались при каждой загрузке страницы. Теперь у вас есть возможность генерировать постоянные эскизы изображений при начальной загрузке страницы, что означает, что если для данного изображения уже сгенерирован эскиз, это должно произойти только один раз.При каждой загрузке страницы после этого эскизы уже будут там, и их не нужно будет восстанавливать. Вы можете выбрать любой вариант, временный или постоянный. = 2,2 = * Добавлена ​​опция в таблицах File Away для замены значков типов файлов миниатюрами изображений, созданными на лету для изображений jpg / jpeg, gif и png. См. «Эскизы изображений» в третьем столбце раздела «Таблица сортируемых данных» в модальном окне генератора шорткодов. * Избавился от еще нескольких уведомлений. = 2.1.1 = * Исправлен белый экран смерти, который некоторые люди получали при обновлении.ИЗВИНИТЕ! * Избавился от всех предупреждений и заметок, которые я мог найти в админке. = 2,1 = * В режим менеджера добавлена ​​возможность переименовывать и удалять каталоги (рекурсивно), а также создавать новые подкаталоги. Все происходит внутри таблицы. * Добавлена ​​возможность установить фиксированное место загрузки, тогда как по умолчанию пользователи могут переходить к подкаталогам из раскрывающегося списка. * Добавлена ​​возможность изменить текстовую метку на кнопке загрузки файла. * Добавлен индикатор выполнения в форму File-Up, заменяющий счетчик.* Обновлена ​​функция максимального размера загрузки для учета настройки php.ini upload_max_filesize. * Добавлено отображение настроек размера загрузки php.ini по информационной ссылке для атрибута maxsize в генераторе шорткодов. * Исправлены некоторые проблемы с макетом формы File Up (надеюсь). * Исправлены некоторые проблемы со сценарием предупреждений для тех, кто размещает свои таблицы дерева каталогов в iframe. * Удалены все пробелы между элементами HTML, чтобы удовлетворить глупые темы, которые интерпретируют пробелы как разрывы строк / абзацев.* Исправлена ​​мелкая ошибка в генераторе шорткода. = 2,0 = * Теперь с File Up для безопасной загрузки файлов в каталоги вашего сервера с помощью интерфейса Ajax. * Добавлена ​​проверка if (is_array ()) перед сортировкой файлов. = 1.9.4.3 = * Режим фиксированного воспроизведения несовместим с динамическими путями. = 1.9.4.2 = * Исправлен режим воспроизведения, пропускающий неаудиофайлы с тем же именем, что и аудиофайлы. = 1.9.4.1 = * Важно: исправлена ​​ошибка с флажком «выбрать все / очистить все» в таблицах режима менеджера.* Различные другие мелкие исправления. = 1.9.4 = * Добавлена ​​дополнительная функция массовой загрузки для шорткодов [fileaway type = «table»]. Массовые загрузки теперь также автоматически встраиваются в таблицы режима менеджера. * Некоторые дополнительные функции безопасности. = 1.9.3.1 = * Добавлена ​​опция «Пропустить подтверждение» для безопасных загрузок файлов s2member. * Повторно добавлена ​​отсутствующая опция цикла воспроизведения в генераторе шорткодов. * Исправлено несколько мелких проблем с генератором шорткодов. = 1.9.3 = * Добавлена ​​совместимость с плагином s2Member Framework.Когда s2Member установлен и активирован, у вас автоматически будет опция «s2member-files» в раскрывающемся меню «Базовый каталог» в модальном окне генератора шорткодов. * При указании на ваш каталог s2Member рекурсивность, навигация по дереву каталогов и режим менеджера будут отключены, как и любые указанные подкаталоги. Тем не менее, режим воспроизведения звука будет работать нормально при указании на каталог s2member-files. = 1.9.2 = * Исправлены предупреждения для пустых операторов foreach. * Добавлена ​​опция для сдержанной, не анимированной страницы настроек администратора.= 1.9.1 = * Добавлена ​​возможность зацикливания воспроизведения звука. * Добавлена ​​возможность сортировать списки атташе по нескольким параметрам, по возрастанию или убыванию. * Исправлено исчезновение таблицы в режиме дерева каталогов, если в данном подкаталоге нет файлов. * Параметры генератора шорткодов сделаны скучными, для ясности и скучности. = 1.9.0.1 = * Исправлена ​​опечатка, из-за которой не работал атрибут исключения. Я обновил систему исключений и не уловил опечатку. = 1.9 = * О мой Бог, о мой Бог, о МОЙ БОГ * Теперь с воспроизведением аудио в таблице для ваших аудиофайлов. См. Информационные ссылки генератора шорткодов и / или вкладку «Учебники» для получения подробной информации. Чтобы активировать воспроизведение звука в своих таблицах, найдите «Гимнал» внизу второго столбца генератора шорткода «Файлы каталога / Таблица сортируемых данных». * При желании вы можете хранить ваши воспроизводимые / образцы аудиофайлов в другом каталоге, чем ваши аудиофайлы для загрузки, и все они будут отображаться в одной строке таблицы, если они имеют одинаковое имя файла (не включая расширение файла).* Теперь вы можете исключать каталоги для каждого шорткода, для таблиц дерева каталогов или рекурсивных таблиц / списков. * Теперь вы можете исключить все каталоги, кроме указанных каталогов, для каждого шорткода, для таблиц дерева каталогов или рекурсивных таблиц / списков. * Теперь вы можете изменить значок каталога, выбрав различные варианты из раскрывающегося списка для каждого шорткода. * Теперь вы можете изменить заголовок столбца для таблиц дерева каталогов. По умолчанию — «Файл / Ящик». * Вы можете изменить заголовок столбца для столбца «Тип», когда включено воспроизведение звука.* Добавлены дополнительные схемы цветов и рандомизация цветов в таблицы. * Обновлен модальный генератор коротких кодов, чтобы освободить место для новых функций. Также исправлено несколько опций, которые не работали. * Несколько исправлений ошибок. = 1,8 = * Важные обновления безопасности и исправления ошибок: * Добавлен патч безопасности для режима диспетчера и режима дерева каталогов при использовании динамических путей (например, fa-firstlast) в вашем шорткоде. * Исправлена ​​фатальная ошибка, когда более чем для одного шорткода fileaway на одной странице была включена отладка.* Исправлена ​​проблема с именами файлов шорткода Attach Away и ссылками для скачивания, которая была вызвана изменением, внесенным ранее в шорткод File Away. * Исправлена ​​тупая ошибка в модальном окне генератора шорткодов для шорткода [fileaframe]. Генератор выводил атрибут «src», который должен был быть «источником». * Наконец, думаю, я избавился от проблемы с исчезновением кнопки шорткода при обновлении плагина через WordPress. Не должно повториться. = 1.7.7.1 = * Исправлена ​​опечатка, из-за которой значок File Away не отображался на панели TinyMCE = 1.7,7 = * Добавлена ​​совместимость с WP v3.9 = 1,7,6 = * Важное обновление: добавлена ​​опция на страницу конфигурации для сайтов, чей каталог установки WP является подкаталогом URL-адреса сайта: выберите, следует ли заземлять базовые каталоги в папке установки WP или в корневом каталоге домена. Каталог установки WP используется по умолчанию. Если вы перейдете к последнему, обновите страницу после того, как она закончит сохранение, и вы увидите, что указанное сокращение в ваших опциях Base Dir изменилось, чтобы отразить ваш выбор. Это должно решить все проблемы для тех, чья установка WP находится в подкаталоге URL-адреса сайта.= 1,7,5 = * Незначительное обновление: улучшены красивые имена папок / файлов за счет исключения большинства предлогов и союзов из заглавных букв. = 1.7.4 = * Исправления ошибок: Копирование / перемещение / переименование / удаление в режиме диспетчера не работало, если исходный или целевой каталог содержал апостроф. Фиксированный. = 1.7.3 = * Вот здорово. Больше исправлений ошибок. * Исправлен рекурсивный режим, который, ну, сломался. * Исправлена ​​несогласованность в генераторе целевого каталога в режиме массовых действий. * Все важные вещи, ребята.* Вздох. = 1.7.2 = * Исправлено: Навигация по дереву каталогов была несовместима со структурой постоянных ссылок WP. Сейчас. * Исправлено: Некоторые общие предупреждения и уведомления php. * Пожалуйста, дайте мне знать, когда обнаружите ошибку! = 1.7.1 = * Важные исправления ошибок в этом обновлении и один элемент улучшенной функциональности: * Исправлено: вызовы Ajax не работали, когда для сценариев задана печать в нижний колонтитул. * Исправлено: функции редактирования в режиме менеджера не работали, если WordPress установлен в подкаталоге URL-адреса сайта (т.е.е., когда URL-адрес сайта WP и URL-адрес установки WP отличаются). * Исправлено: Файлы не отображались, когда (см. Выше). * Улучшено: Макет целевого каталога массовых действий: изменена метка для отображения блока для таблиц в плотном сжатии. * Новая функция: установите флажок «Все / Очистить все» в режиме массовых действий с включенным режимом диспетчера. = 1,7 = * В этой сборке так много больших новшеств, что я решил вообще пропустить версию 1.6! Пожалуйста, прочтите все пикантные подробности ниже: * Во-первых, то, чего еще нет, но приближается к концу: Front-End загрузка нескольких файлов в каталоги сервера.Создание каталога Front-End, переименование каталога, клонирование каталога, перемещение каталога и удаление каталога. Автоматическое создание каталогов для пользователей сайта в соответствии с желаемыми спецификациями в желаемом месте. И еще куча вещей, о которых я не могу думать в данный момент, потому что я не спал несколько дней. Пожалуйста. * Плохие новости: одно или два обновления назад я добавил неограниченное количество столбцов настраиваемых данных в таблицы File Away и сказал вам разделять настраиваемые данные точкой с запятой. Оказывается, Safari, а иногда и другие браузеры обрезают имена файлов после точки с запятой при загрузке файла.Поэтому нам пришлось перейти на обычное разделение запятыми. Это означает, что в ваших именах файлов любые запятые в квадратных скобках будут маркером деления для отображения настраиваемого столбца. Например: «All-Along-the-Watchtower- [Боб-Дилан, Джон-Уэсли-Хардинг, Колумбия, 1968] .mp3» будет соответствовать [fileaway type = table customdata = «Artist, Album, Label, Release»]. В любом случае, извините за изменение, но мы не хотим, чтобы имена файлов обрезались при загрузке, И … * Хорошие новости: множество новых функций, включая переименование файлов во внешнем интерфейсе, с автоматическим форматированием для настраиваемых столбцов, удаленных из файла.Я надеюсь, что это компенсирует это. * Новая функция: деревья каталогов. Превратите вашу таблицу данных File Away в дерево каталогов для навигации по каталогам. Задайте для начального каталога статическое имя каталога или динамический путь, и пользователи смогут перемещаться по всем подкаталогам, но не по родительским каталогам. * Связанная новая функция: исключение определенных каталогов из таблиц дерева каталогов и из доступа в режиме диспетчера в качестве глобального параметра на вкладке «Конфигурация» параметров удаления файлов. * Новая функция: шорткод File Away iFrame в комплекте с автоматически созданным шаблоном страницы File Away iFrame для использования с таблицами дерева каталогов, позволяющий осуществлять навигацию без обновления родительской страницы и позволяющий без помех размещать несколько таблиц на одной странице.* Новая функция: режим менеджера. Установите права доступа в соответствии с указанными ролями пользователей и / или идентификаторами пользователей, и те, у кого есть привилегии, могут получить доступ к режиму диспетчера во внешнем интерфейсе, который позволяет переименовывать файлы на основе Ajax, удалять файлы и массовое копирование, перемещение и удаление файлов. Переместите файлы в другой каталог, посмотрите, как они исчезнут, затем перейдите в этот каталог и увидите их в новом доме. Обновление страницы не требуется! * Вы можете предоставить динамический доступ к режиму менеджера в сочетании с динамическим путем в вашем шорткоде, чтобы позволить отдельным пользователям управлять своими собственными файлами в своих каталогах без доступа к файлам других пользователей.* Меры безопасности на стороне клиента и сервера для предотвращения попыток доступа к каталогам за пределами установленной пользователем области. Попытки манипулировать файлами в каталогах с ограниченным доступом приведут к выходу пользователя из системы, а администратор сайта будет уведомлен по электронной почте о безрассудных и гнусных действиях пользователя. * Генератор целевого каталога в режиме диспетчера (на базе Ajax) использует раскрывающийся список автозаполнения jQuery Chosen. Сотни каталогов в одном каталоге? Не волнуйтесь. Просто начните печатать и смотрите, как остальные исчезают.* Поля переименования файлов включают ограничения специальных символов на основе jQuery. * Диалоги успеха, ошибки и подтверждения, предоставленные вам Alertify. * Улучшение: когда в таблицах данных включена разбивка на страницы, страница теперь плавно прокручивается в верхнюю часть таблицы при нажатии на новую страницу. * Исправление ошибки: номер последней страницы не добавлялся, если на странице был только один файл. Фиксированный. * Все новые атрибуты шорткода обновлены в модальном окне генератора шорткодов, включая новый шорткод [fileaframe].* 8 новых скриншотов. * Другие исправления ошибок и общие улучшения. Я не могу вспомнить все. * Наслаждаться! Теперь мне нужно ненадолго вернуться к своей настоящей работе. = 1.5.1 = * Важное исправление ошибки: Неустранимая ошибка при вызове двух рекурсивных каталогов на одной странице. Теперь все лучше. Пожалуйста, установите это обновление. = 1,5 = * РЕКУРСИВНАЯ ИТЕРАЦИЯ КАТАЛОГА ЗДЕСЬ. Просто добавьте «recursive = ohjeezusitgoeson4ever» в свой шорткод (или, я полагаю, «recursive = something»), и файлы из указанного каталога и всех подкаталогов будут выводиться шорткодом.Чтобы отключить, просто оставьте атрибут «recusrsive» вне шорткода. * Также исправлены ошибки и некоторые общие улучшения. Исправлена ​​ошибка со значками типов файлов, в которых расширения файлов начинались с заглавной буквы. Также исправлена ​​тупая ошибка с полем размера страницы в модальном окне. И еще кое-что. * Но рекурсия! Бесконечная рекурсия. = 1,4 = * Расширенная функциональность: теперь вы можете добавлять неограниченное количество настраиваемых столбцов в свои таблицы File Away, используя тот же метод, что и раньше. В шорткоде с помощью атрибута customdata разделите несколько заголовков столбцов запятыми.Затем в именах файлов в квадратных скобках разделяйте соответствующие наборы данных запятыми.

Пример шорткода:
[fileaway type = table customdata = «Исполнитель *, альбом, этикетка, год» sortfirst = «custom»]
Звездочка рядом с «Художником» означает, что sortfirst = «custom» должен применяться к столбцу «Художник».

Примеры имен файлов:
Моя забавная валентинка [Чет Бейкер, Моя забавная валентинка, Blue Note, 1994] .mp3
Так что [Майлз Дэвис, Kind of Blue, Колумбия, 1959].mp3
Birdland [Weather Report, Heavy Weather, Columbia, 1977] .mp3

Технически, количество столбцов, которые вы можете добавить, ограничено только размером вашей страницы WordPress, и на самом деле это чисто эстетическое ограничение. = 1.3.2 = * Исправления Bux: Исправлены атрибуты showto = и hidefrom =. Из-за действительно необъяснимо глупого кода, когда я изначально добавил эту функцию, она работала только для первой роли в списке. Итак, теперь я заменил действительно глупый код другим кодом, который, хотя и не обязательно гениален, по крайней мере, делает то, что должен делать.= 1.3.1 = * Исправления ошибок: Исправлена ​​проблема, из-за которой файлы не отображались для вышедших из системы пользователей. Исправлена ​​ошибка scandir при использовании динамических путей. = 1,3 = * Проверял совместимость с WP 3.8.1 — все равно пинает. * Исправлена ​​проблема с установками WP, у которых URL-адрес WP и URL-адрес сайта отличаются. * Добавлены три новых атрибута шорткода: ‘showto’ и ‘hidefrom’ принимают списки ролей пользователей, разделенных запятыми, и ограничивают доступ для просмотра к отображению файла на основе роли вошедшего в систему пользователя, а ‘nolinks = true’ отключает ссылку на гипертекст. часть тега привязки, если, например, вы хотите отображать успешные загрузки, но не предоставлять ссылки на загруженные файлы.* Нарциссизм: исправлена ​​опечатка в ссылке «О программе» на мою страницу IMDb. = 1,2 = * Добавлен новый атрибут шорткода: sortfirst — позволяет пользователю выбирать столбец для сортировки при начальной загрузке страницы (только для таблиц). * Добавлен глобальный параметр на странице базовой конфигурации: позволяет указывать определенные типы файлов для открытия в новом окне, а не поведение ссылки загрузки по умолчанию. * Добавлены ссылки на два новых плагина на странице «О программе». = 1,1 = * Пользовательская папка CSS перемещена из каталога плагинов в wp-content / uploads / fileaway-custom-css, чтобы гарантировать сохранение пользовательских стилей при обновлениях плагинов.Не забудьте вручную создать резервную копию вашей пользовательской таблицы стилей, если она у вас есть в текущей папке custom-css. Тебе больше никогда не придется этого делать. = 1.0 = * Первый выпуск == Уведомление об обновлении == = 3,9 = Чрезвычайно важное обновление. = 3,5 = МОЙ БОГ! = 3,0 = Большая. Возьми. = 2,1 = Важные улучшения в режиме диспетчера и файла UP = 2,0 = Теперь с File Up, фронтенд, загрузка файлов на основе Ajax. = 1.9.1 = Добавлена ​​возможность зацикливания при воспроизведении звука.= 1,9 = Теперь с воспроизведением звука! = 1.7.1 = Важные исправления ошибок. = 1,7 = Важное обновление: просто скачайте его, чувак. Вот увидишь. = 1,5 = Важное обновление: прибыла рекурсивная итерация каталогов! = 1,3 = Важное обновление: исправлена ​​проблема с URL-адресом WP и URL-адресом сайта и добавлены три новых атрибута шорткода. = 1,2 = Важное обновление: добавлена ​​возможность выбора столбца для сортировки при начальной загрузке страницы (для таблиц). = 1,1 = Важное обновление: пользовательская папка css перемещена в wp-content / uploads для большей безопасности.

сообщений с тегом «блокчейн» — страница 1 из 2

Итак, сначала сделаем введение. Я стал соучредителем Qtum, проекта, который в основном берет виртуальную машину Ethereum (EVM) и помещает ее в блокчейн, который не является Ethereum (вместе с множеством других вещей). На моем пути к этому я был вынужден против своей воли узнать о EVM больше, чем я когда-либо хотел знать. Каков мой главный вывод из всего этого обучения? Что ж, мне это не нравится. Я лично считаю, что это непрактичный дизайн с еще более непрактичной реализацией.И как отказ от ответственности, я намерен довести дело до конца, добавив еще одну виртуальную машину в Qtum, которая исправит, по крайней мере, большинство из этих проблем.

В любом случае, давайте перейдем к делу. В чем был смысл EVM и почему он вообще был сделан? Согласно Обоснованию проектирования он был разработан для:

  1. Простота
  2. Детерминизм
  3. Компактный размер байт-кода
  4. Специализация на блокчейн
  5. Простота (эээ?)
  6. Оптимизируемый

И если вы пролистаете этот документ, то увидите, что доводы в пользу EVM довольно хорошо продуманы.Так где же все идет не так? Что ж, это не работает с сегодняшними технологиями и парадигмами. Это очень хороший дизайн, созданный для мира, которого в настоящее время не существует. Я вернусь к этому, но давайте начнем с моей любимой вещи, которую я ненавижу, в EVM

.

256-битные целые числа

На большинстве современных процессоров у вас есть 4 хороших варианта для быстрой и быстрой математики:

  1. 8-битные целые числа
  2. 16-битные целые числа
  3. 32-битные целые числа
  4. 64-битные целые числа

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

Итак, конечно, поскольку EVM предназначен для оптимизации по скорости и эффективности, его выбор для целочисленного размера:

  1. 256-битные целые числа

Для справки, вот как добавить 2 32-битных целых числа в сборку x86 (т. Е. Процессор, установленный на вашем ПК)

  mov eax, dword [число1]
добавить eax, dword [число2]
  

А вот как добавить 2 64-битных целых числа в сборку x86, если ваш процессор поддерживает 64-битную версию:

  mov rax, qword [число1]
добавить rax, qword [число2]
  

А вот как сложить 2 256-битных целых числа на 32-битном компьютере x86

  mov eax, dword [номер]
добавить двойное слово [число2], eax
mov eax, dword [число1 + 4]
adc dword [число2 + 4], eax
mov eax, dword [число1 + 8]
adc dword [число2 + 8], eax
mov eax, dword [число1 + 12]
adc dword [число2 + 12], eax
mov eax, dword [число1 + 16]
adc dword [число2 + 16], eax
mov eax, dword [число1 + 20]
adc dword [число2 + 20], eax
mov eax, dword [число1 + 24]
adc dword [число2 + 24], eax
mov eax, dword [число1 + 28]
adc dword [число2 + 28], eax
  

Хотя добавление этих 256-битных целых чисел на 64-битном компьютере x86 немного лучше

  mov rax, qword [число]
добавить qword [число2], rax
mov rax, qword [число1 + 8]
adc qword [число2 + 8], rax
mov rax, qword [число1 + 16]
adc qword [число2 + 16], rax
mov rax, qword [число1 + 24]
adc qword [число2 + 24], rax
  

В любом случае, достаточно сказать, что работа с 256-битными целыми числами значительно сложнее и медленнее, чем работа с целыми числами, изначально поддерживаемыми процессором.

EVM поддерживает этот дизайн, потому что намного проще поддерживать только 256-битные целые числа, чем добавлять дополнительные коды операций для работы с другими целыми размерами. Единственные операции, отличные от 256-битных, — это серия инструкций push для извлечения данных из памяти размером 1-32 байта и несколько инструкций, которые работают с 8-битными целыми числами.

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

«4- или 8-байтовые слова слишком ограничены для хранения адресов и больших значений для криптографических вычислений, а неограниченное количество значений слишком сложно для создания безопасной модели газа.«

Должен признать, возможность сравнить 2 адреса за одну операцию — это довольно круто. Однако вот как вы сделали бы то же самое в x86 в 32-битном режиме (без SSE и других оптимизаций):

  mov esi, [адрес1]
mov edi, [адрес2]
mov ecx, 32/4
повторить cmpsd
jne not_equal
; если дойдете сюда, то они равны
  

Предполагая, что адрес 1 и адрес 2 являются жестко закодированными адресами, это примерно 6 + 5 + 5 = 16 байтов кодов операций, или, если адреса были в стеке, это могло бы быть что-то вроде 6 + 3 + 3 = 12 байтов кодов операций.

Другое оправдание большого целочисленного размера — это «большие значения для криптографических вычислений», однако с тех пор, как я прочитал это несколько месяцев назад, у меня возникла проблема с выяснением единственного варианта использования 256-битных целых чисел, который не включает сравнение, если адрес или хеш равны. Пользовательская криптография явно слишком дорога для выполнения в общедоступной цепочке блоков. Я искал на github более часа, пытаясь найти надежный контракт, который бы делал все, что я бы назвал криптографией, и ничего не нашел.Практически любая форма криптографии гарантированно будет медленной и сложной на современных компьютерах, и это делает ее неэкономичной для выполнения в общедоступной цепочке блоков Ethereum из-за затрат на газ (не говоря уже об усилиях по переносу любого реального алгоритма на Solidity). Однако все еще существуют частные блокчейны, в которых стоимость газа не имеет значения. Но если у вас есть собственный блокчейн, вы не захотите делать это как часть медленного контракта EVM, вы должны использовать C ++, Go или любое количество реальных языков программирования для реализации криптографии в собственном коде в виде предварительно скомпилированного смарт-контракт.Так что это действительно сводит на нет все основания для поддержки только 256-битных целых чисел из воды. Я чувствую, что это реальная основа проблем с EVM, но в менее очевидных областях скрывается гораздо больше.

Модель памяти EVM

В EVM есть 3 основных места для размещения данных

  1. Стек
  2. Временная память
  3. Постоянная память

Стек имеет определенные ограничения, поэтому иногда вам нужно использовать временную память вместо очень дорогой постоянной памяти.В EVM нет инструкции , распределить или чего-либо подобного. Вы требуете память, записывая в нее. Это может показаться довольно умным, но также чрезвычайно зловещим. Например, если вы пишете по адресу 0x10000, ваш контракт просто выделил 64 Кслов (т. Е. 64 Кбайт из 256-битных слов) памяти и оплатил расходы на газ, как если бы вы использовали все 64 Кслов памяти. Что ж, простой обходной путь: просто отслеживайте последний адрес памяти, который вы используете, и увеличивайте его, когда вам нужно больше. Это работает прилично, если только вам не понадобится в какой-то момент много памяти, а затем эта память вам больше не нужна.Допустим, вы используете какой-то сумасшедший алгоритм, который использует 100 слов памяти. Итак, вы выделяете это, используете память, что угодно и платите за 100 слов памяти … затем вы выходите из этой функции. Теперь вы вернулись к какой-то другой функции, и ей нужно всего 1 слово памяти для временного пространства или чего-то еще, поэтому он выделяет другое слово. Теперь вы используете 101 слово памяти. Нет возможности освободить память. Теоретически вы можете уменьшить этот специальный указатель, который вы отслеживали для последнего пространства памяти, но это работает только в том случае, если вы знаете, что весь блок памяти никогда не будет использоваться снова и может быть безопасно повторно использован.Если из этих 100 слов вам нужно слово с номером 50 и слово с номером 90, вы должны скопировать их в другое место (например, в стек), а затем эту память можно освободить. EVM не предоставляет инструментов, которые помогли бы в этом. Технический термин для этого — фрагментация памяти. Вы должны проверить, что каждая функция не использует ту память, которая была выделена и доступна глобально, и если вы повторно используете эту память и что-то прошло через ваш процесс проверки, то ваш контракт теперь содержит потенциально критическую ошибку повреждения состояния.Таким образом, у вас есть варианты либо открыть себя для большого класса ошибок повторного использования памяти, либо заплатить больше газа за память, даже если вы уже выделили больше, чем вам нужно.

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

Итак, зачем вообще использовать память? Почему бы не использовать стек? Что ж, стек до смешного ограничен.

Стек EVM

EVM — это машина на основе стека. Это означает, что для большинства операций используется стек, а не набор регистров. Машины на основе стека обычно намного проще оптимизировать, но в результате для большинства операций требуется больше кодов операций по сравнению с аналогичной машиной на основе регистров.

В любом случае, EVM выполняет множество различных операций, большинство из которых работают только со стеком.0.4.13; контракт Something { функция foo (адрес a1, адрес a2, адрес a3, адрес a4, адрес a5, адрес a6) { адрес а7; адрес a8; адрес а9; адрес a10; адрес a11; адрес a12; адрес a13; адрес a14; адрес a15; адрес a16; адрес a17; } }

Вы увидите эту ошибку:

  CompilerError: Стек слишком велик, попробуйте удалить локальные переменные.
  

Эта ошибка возникает из-за того, что если элемент находится на глубине 16 уровней в стеке, к нему фактически невозможно получить доступ, не выталкивая элементы из стека.0.4.13; контракт Something { struct meh { адрес x; } функция foo (адрес a1, адрес a2, адрес a3, адрес a4, адрес a5, адрес a6) { адрес а7; адрес a8; адрес а9; адрес a10; адрес a11; адрес a12; адрес a13; мех память а14; мех память а15; meh memory a16; meh memory a17; } }

И результат ..

  CompilerError: Стек слишком велик, попробуйте удалить локальные переменные. 

А мы заменили эти переменные памятью? Разве это не исправит? Ну нет. Потому что теперь вместо хранения 17 256-битных целых чисел в стеке мы сохраняем 13 целых чисел и 4 256-битных адреса памяти (т. Е. Ссылки) в 256-битном слоте памяти. Частично это проблема Solidity, но основная проблема заключается в том, что у EVM отсутствует способ доступа к произвольным элементам в стеке. Любая другая реализация виртуальной машины, о которой я знаю, позволяет решить эту основную проблему либо с помощью

.
  1. Поощряет небольшие размеры стека и упрощает замену элементов стека в память или альтернативное хранилище (например, локальные переменные, в.NET)
  2. Реализация команды pick или аналогичной, которая позволяет получить доступ к любому произвольному слоту стека

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

Размер байт-кода

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

В конечном счете, несмотря на то, что «компактный размер байт-кода» является целью в их обосновании, фактическая реализация EVM не достигает этой цели ни в каком смысле.Вместо этого он сосредоточен на упрощенном наборе инструкций, на основе которого легко создать модель газа. И я не говорю, что это неправильно или плохо, просто одна из их основных целей EVM принципиально совпадает с другими целями EVM. Кроме того, в этом документе указано, что программа на C занимает более 4000 байт, чтобы реализовать «hello world». Это определенно не так, и при этом игнорируются различные среды и оптимизации, которые имеют место в программах на языке C. Я ожидаю, что в программе на C, которую они измерили, были также данные ELF, данные перемещения и оптимизации выравнивания — выравнивание кода и данных на определенных границах, таких как 32 байта или 4 КБ, может иметь измеримое влияние на производительность программы на физических процессорах.Я лично создал упрощенную программу на C, которая компилируется в 46 байт машинного кода x86, и простую программу типа приветствия, которая компилируется до ~ 700 байт, в то время как пример Solidity компилируется в более чем 1000 байт байт-кода EVM.

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

256-битные целые числа (снова)

Но на самом деле 256-битные целые числа — это ужасно. И что самое смешное, они используются там, где они не имеют смысла. Фактически невозможно использовать более 4B (32 бита) единиц газа, поэтому какой целочисленный размер используется для определения и подсчета газа? 256 бит конечно. Память довольно дорога, так каков размер адресов памяти в EVM? Конечно, 256 бит, когда вашему контракту требуется больше слов памяти, чем атомов во вселенной.Я бы пожаловался на использование 256-битных целых чисел как для адресов, так и для значений в постоянном хранилище, но на самом деле это дает некоторые интересные возможности для использования хеша для некоторых данных и не беспокоит конфликты в адресном пространстве, так что я думаю, это проходит. В каждом отдельном случае, где вы можете использовать любой целочисленный размер, EVM требует 256 бит. Даже JUMP использует 256 бит, но в свою защиту они ограничивают высшую точку перехода до 0x7FFFFFFFFFFFFFFF и эффективно ограничивают конечную точку перехода до 64-битного целого числа со знаком.А затем для самих валютных ценностей. Наименьшая единица ETH — это wei, поэтому мы приходим к общему количеству монет (в wei): 1000000000000000000 * 200000000 (200 млн — оценка, в настоящее время предложение составляет ~ 92 млн). Итак, если мы вычтем это число из 2 в степени 256 (максимальное значение, которое можно сохранить с помощью 256-битного целого числа), мы получаем .. 1.157920892373162e + 77. Достаточно места, чтобы отправить больше вэй, чем когда-либо будет существовать, плюс величина, превышающая количество атомов во Вселенной. По сути, 256-битные целые числа невероятно непрактичны и не нужны практически для любого приложения, для которого предназначена EVM.

Отсутствие стандартной библиотеки

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

Экономика и теория игр газа

Я планирую написать полный пост на эту тему в блоге, но EVM не только усложняет хорошие практики, но и требует больших затрат. Например, хранение данных в блокчейне стоит немало денег. Это означает, что кэширование любого объема данных в смарт-контракте может быть невероятно дорогим.Таким образом, вместо этого он вычисляется при каждом исполнении контракта. Со временем расходуется больше газа, и узлы блокчейна тратят больше времени на выполнение одного и того же кода для вычисления тех же данных. Кроме того, фактическая стоимость данных, хранящихся в цепочке блоков, очень мала. Он не увеличивает напрямую размер блокчейна (как в Ethereum, так и в Qtum). Реальная стоимость — это данные, которые поступают в цепочку блоков в виде данных, отправляемых в контракты, поскольку именно они напрямую увеличивают размер цепочки блоков. В Etheruem почти дешевле вводить 32 байта данных в блокчейн в форме транзакции (23176 единиц газа), чем хранить 32 байта в контракте (20000), и это значительно дешевле при масштабировании этих 64 байтов. данные (29704 газа для tx по сравнению с 80 000 газа для хранения).Данные, хранящиеся в контракте, имеют «виртуальную» стоимость, но она намного меньше, чем думает большинство людей. По сути, это просто стоимость итерации по базе данных, в которой хранятся данные для всей цепочки блоков. Однако система баз данных RLP и LevelDB, используемая как Qtum, так и Ethereum, очень эффективна в решении этой проблемы, а текущие затраты далеко не линейны.

Другая часть EVM, которая поощряет неэффективный код, заключается в том, что невозможно вызвать определенную функцию в смарт-контракте.Это сделано для безопасности, поскольку возможность прямого вызова функции, например, removew () в контракте ERC20, была бы плохой. Однако это необходимо для эффективной работы стандартных библиотек. Вместо того, чтобы просто загружать определенный фрагмент кода из внешнего контракта, все или ничего, и выполнение всегда начинается с первого байта кода, нет возможности перепрыгнуть и пропустить весь код начальной загрузки Solidity ABI . Таким образом, в конечном итоге это побуждает дублировать небольшие функции (потому что их дороже вызывать извне) и развертывать как можно больше функций в контракте.Нет никакой разницы в стоимости вызова 100-байтового контракта или 10000-байтового контракта, несмотря на то, что весь код в любом случае необходимо загрузить в память.

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

Отсутствие отладки и тестируемости

Эта проблема связана не только с конструкцией модуля EVM, но и с его реализацией. Конечно, некоторые проекты стараются сделать это как можно проще, например Truffle. Однако конструкция EVM вовсе не упрощает эту задачу.Единственное доступное исключение — «OutOfGas», здесь нет средств ведения журнала, нет простого способа вызвать внешний собственный код (например, для тестовых помощников и имитирующих данных), а сам блокчейн Ethereum сложно создать с помощью частной тестовой сети, а частный блокчейн имеет разные параметры и поведение. Qtum, по крайней мере, имеет здесь преимущество благодаря режиму «regtest», но тестирование EVM с фиктивными данными и т. Д. Все еще невероятно сложно, поскольку никакая реализация не является действительно автономной. И я не знаю никаких отладчиков, которые работают на уровне Solidity, хотя есть как минимум 1 отладчик сборки EVM, о котором я знаю, но это далеко не удобно для пользователя.Для EVM и / или Solidity вообще не существует формата символов или формата данных отладки, и я не нашел никаких EIP или других попыток начать работу над стандартизованным форматом отладки, таким как DWARF.

Числа с плавающей запятой

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

Неизменяемый код

Одна из основных вещей, для которой необходимо разрабатывать контракты, — это возможность обновления, потому что вопрос не в том, нужно ли менять контракт, а в том, когда. В EVM код полностью неизменяем, и поскольку он использует Гарвардскую архитектуру вычислений, невозможно загрузить код в память, а затем выполнить его. Код и данные — это совершенно разные вещи, которые обрабатываются по-разному.Итак, единственный вариант обновления контракта — это развернуть полностью новый контракт, продублировать весь код и перенаправить на него старый контракт. Исправление частей контракта и частичная (или полная) замена кода невозможны.

Заключение

Я допил пиво (ну, крепкий сидр) и думаю, что моя напыщенная речь подходит к концу. EVM на данный момент является неизбежным злом. Он был первым в этом пространстве, и, как и большинство вещей, которые идут первыми (например, Javascript), существует множество проблем.И его дизайн очень нетрадиционный, и поэтому я не думаю, что мы увидим перенос каких-либо традиционных языков программирования на EVM. Его дизайн активно враждебен многим парадигмам общего языка, которые были созданы за последние 50 с лишним лет. Сюда входят такие вещи, как JUMPDEST , затрудняющие оптимизацию таблиц переходов, отсутствие поддержки хвостовой рекурсии, странная и негибкая модель памяти, сложная для понимания модель DELEGATECALL для внешнего кода, отсутствие часто используемых кодов операций, таких как побитовые сдвиги, негибкие ограничения размера стека , и, конечно же, 256-битные целые числа.Эти аспекты делают перенос традиционных языков в EVM в лучшем случае неэффективным, а в худшем — невозможным. Я предполагаю, что именно поэтому все языки EVM в настоящее время созданы специально для EVM и с учетом всех его нетрадиционных моделей. Это действительно печальное положение дел.

Я имею в виду весь этот пост не как нападение или что-то в этом роде для разработчиков EVM, просто как дела. Взгляд в прошлое всегда 20/20, и я знаю, что видел от них много сожалений по поводу определенных аспектов дизайна EVM.Я не хочу нападать на них (даже если мой саркастический тон иногда может показаться таким), но я хочу привлечь внимание к этим ошибкам большего сообщества разработчиков блокчейнов, чтобы они не повторялись, и, надеюсь, также дать некоторое представление обо всех вопросах типа «почему я не могу сделать это в Solidity» одновременно. У EVM невероятный дизайн, преимущества и недостатки которого мы все еще изучаем, и очевидно, что нам предстоит пройти долгий путь, прежде чем смарт-контракты станут настолько эффективными и мощными, какими мы все знаем, что они могут быть.EVM был первым претендентом в этом пространстве, и в конечном итоге мы все еще изучаем и открываем все варианты использования смарт-контрактов и то, какой дизайн приносит им наибольшую пользу.

Обновлено: 14.06.2021 — 20:16

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *