Процедура расчета порчи?

Я хотел бы понять количественный анализ taint. Blockchain.info предлагает услугу , которая будет вычислять taint, но я не нашел хорошего объяснения того, как рассчитывается taint.

Лучшее (и единственное) объяснение, которое я нашел до сих пор, содержится в статье «Анонимность биткойн-транзакций» :

введите описание изображения здесь

Анализ taint работает путем подсчета процента количества биткойнов, которые могут быть отправлены с другого адреса, таким образом выявляя связи в графе транзакций. В упрощенном примере на рисунке 4, A 1 и A 3 будут иметь загрязнение 75%, а A 2 - 25%. Однако он может обнаруживать только прямые соединения в графе и не учитывает никакой контекстной информации.

Это объяснение сбивает с толку. Taint измеряется между двумя псевдонимами (адресами). Это не свойство конкретного псевдонима. В документе, похоже, отсутствует часть, в которой говорится, что оценки загрязнения для A 1 , A 2 и A 3 относятся к A 4 . Если да, то баллы имеют смысл.

Однако неясно, что произойдет с более сложными цепочками собственности. Например, представьте другой псевдоним, A 5 , который платит A 1 5 BTC. Какой будет оценка зараженности между A 5 и A 4 ?

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

Что я хотел бы увидеть, так это схему пошаговой процедуры расчета taint, как это делает Blockchain.info. Если бы мне пришлось угадывать, вот как выглядела бы процедура:

  1. Найдите два псевдонима: S (источник) и T (цель). Денежные средства перетекают из S в T.
  2. Используя цепочку блоков, найдите цепочку владения C i от каждой монеты, контролируемой S, до T.
  3. Для каждой цепочки владения C i найдите перевод монет с наименьшей стоимостью m i .
  4. Суммируйте все m i , получив m.
  5. Суммируйте значение всех выходов, полученных через T, что даст s.
  6. Порча определяется как м/с.

Использование этой процедуры дало бы оценку зараженности 50% между A 5 и A 4 (2/4).

Это правильно?

Я не удосужился обратиться к источнику, но я тоже нахожу пример запутанным. Если бы мне пришлось придумывать метрику, я бы измерял taint атрибутом UTXO, а не адресами. То есть 1 BTC заявлен как украденный, поэтому 100% испорченных, потраченных вместе с 0,5 чистыми BTC, приведут к UTXO с испорченностью 2/3.
Ах, извините, я начал читать статью и понял, что она использует taint в другом контексте, чем это обычно делает биткойн-сообщество. Обычно «испорченность» относится к количеству монет, которые можно отследить до известной кражи, однако в этой статье он используется как термин для измерения корреляции адресов. Вот почему я был сбит с толку и через мгновение удалю тег tainted-coins.

Ответы (1)

Думаю, у меня есть ответ. Неясно, так ли это делает blockchain.info, но я не уверен, что это имеет значение.

Taint очень похож на повседневный опыт разбавления жидкости.

Представьте, что вы начинаете с трех стаканов. Один стакан содержит апельсиновый сок. Второй содержит воду. Третий пустой.

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

Мы можем определить метрику, называемую коэффициентом разбавления. Коэффициент разбавления равен конечному объему, содержавшемуся в ранее пустом стакане, деленному на объем добавленного апельсинового сока. Таким образом, коэффициент разбавления смеси 1:1 равен 2 (2/1). Если разведения не происходит, то коэффициент разбавления равен 1. В более общем смысле:

коэффициент разбавления = V 2 / V 1 , если V 2 > V 1

коэффициент разбавления = 1, если V 2 <= V 1

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

Общий коэффициент разбавления равен кумулятивному произведению коэффициента разбавления на каждом этапе. В данном случае это 4 (2 х 2).

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

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

Разбавляемая жидкость является «испорченной». В этой модели «испорченность» будет мультипликативной величиной, обратной коэффициенту разбавления. Фактор разбавления 2 означает загрязнение 50% (1/2).

Возвращаясь к поставленному выше вопросу, учитывая эту цепочку собственности, найдите коэффициент разбавления между А 5 и А 4 :

A 5 (5 BTC) -> A 1 (2 BTC) -> A 3 (3 BTC) -> A 4 (4 BTC)

Коэффициенты разбавления слева направо: 1; 3/2; 4/3. Умножение их вместе дает 1 x 3/2 x 4/3, или 2. Это 50% заражения, тот же ответ, который я получил выше.

Однако ответ, постулируемый в моем первоначальном вопросе, неверен, поскольку он не учитывает серийное разведение. Рассмотрим эту цепочку владения:

A 5 (1 BTC) -> A 1 (5 BTC) -> A 3 (3 BTC) -> A 4 (4 BTC)

Коэффициент серийного разведения составляет 5 х 1 х 4/3 или 20/3.

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