Есть кое-что о реализации Bitcoin, что бы предотвратить этот вид использования?
Да, но это не сразу понятно, почему.
Технически это может быть сделано без изменения какого-либо общие структуры данных (список блоков сделок). Но вы должны убедиться, что клиент, который генерирует транзакцию не неосторожно "зараза" ваши монеты.
Таким образом, для фона, "История транзакций" называется список блока, действительно общий ориентированный граф всех действительных сделок.
Сами операции (узлы), одна группа или более-очки, и два из-точек (ребра).
Out-точки * количество * из Bitcoins, присваивается определенный адрес Bitcoin. Первая из точкой является сумма переводится, а вторая из-точка любого остатка от суммы в-точек.
Сделка одна или более точки просто ссылки на предыдущие затраченные пункты в списке транзакций.
Отдельный Bitcoins не не представлен в виде объектов, ни являются Bitcoin адреса. Количество Bitcoins присвоенного данного Bitcoin адрес, просто суммирование неиспользуемых значений из-точки, присвоенных этот адрес.
(Кто-то поправьте меня, если я ввинчивается это!)
Так, например, говорят, три человека отправить биткойны к одному из ваших "bytemaster" Bitcoin адреса, в количествах 4, 5 & 6 BTC.
[]
(4 BTC, "Алиса")<- в-1 [сделка 1] из-1a -> (4 BTC, "bytemaster")
[] Из-1b -> (0 BTC, "Алиса")
[]
(9 BTC, "боб" )<- в-2 [сделка 2] из-2а -> (5 BTC, "bytemaster")
[] Из-2b -> (4 BTC, "боб")
(2 BTC, "зажимной патрон")<- в-3a []
(3 BTC, "зажимной патрон")<- в-3b [сделка 3] из-3а -> (6 BTC, "bytemaster")
(5 BTC, "зажимной патрон")<- в-3в [] из-3b -> (4 BTC, "зажимной патрон")
Первая сделка происходит от алиса вО 4 BTC. Обратите внимание на то, что имеет 1 в точке и не перенесенные изменений. Это самый простой вид сделки. Я буду называть его "пройти через", Одно входное значение и одно выходное значение.
Вторая транзакция происходит от боба в размере 5 BTC. Однако боб ранее получил 9 BTC от кого-то другого, и он только хочет, чтобы дать вам 5 BTC этого. Таким образом, он посылает оставшиеся 4 BTC обратно к себе. Обратите внимание на количество ввода должно быть равно выходной величины. Я буду называть этот тип транзакции "вилка", Потому что она имеет одно значение входного сигнала и два выходных значений.
Третья сделка происходит от патрона в размере 6 BTC. Тем не менее, он ранее получил только небольшое количество Bitcoins, поэтому он не имеет достаточного значения в любой из предыдущих амбулаторного пункта передать вам. Так что его сделка собирает значение от нескольких предыдущих затраченных точек. Я буду называть этот тип транзакции "сливаться", Из-за своих многочисленных входов.
-----
То, что вы хотите сделать, это создать некоторые "золото Bitcoins" что вы можете определить, в отличии от обычного старого Bitcoins, но другие не будут. Это логически можно сделать с Bitcoin, как есть. Простейший случай был бы ряд проходных сделок.
(5 BTC, "золото" )<- в-4 [сделка 4] из-4а -> (5 BTC, "bytemaster")<- в-5 [сделка 5] из-5а -> (5 BTC, "продавец")<- в-6 [сделка 6] из-6а -> (5 BTC, "золото-Искупитель")
В этом случае, "золото-Искупитель" может легко видеть, что значение возникло как "золото"
Однако, если кто-то должны были послать некоторые регулярные биткойна на тот же адрес у вас или будущий владелец использует для золота, то возможно, что "золото Bitcoins" может стать "tained" штатными монеты в сделке слияния.
Насколько я знаю, в текущем клиенте Bitcoin, вы не имеете мелкозернистый контроля над этим. Например клиент может объединить монеты из алиса в с золотыми монетами. Это делает невозможным решить, где золото вниз линия.
(4 BTC, "Алиса")<- в-1 [сделка 1] из-1a -> (4 BTC, "bytemaster")<- в-5a [сделка 5] из-5а -> (5 BTC, "продавец") <- в-6 [сделка 6] из-6а -> (5 BTC, "золото-Искупитель")
(5 BTC, "золото" )<- в-4 [сделка 4] из-4а -> (5 BTC, "bytemaster")<- в-5б [] из-5b -> (4 BTC, "bytemaster") <- в-7 [сделка 7] из-7a -> (4 BTC, "золото-Искупитель")
В этом случае "золото-Искупитель" получил 9 монет, но могу сказать, что только 5 "золотые монеты" были выпущены. Это неоднозначное, кто вернуть золото значение.
Так что для ваших потребностей, сквозной и вилочные сделки будут в порядке. Вы можете объединить монеты, если они были "золотые монеты" но если вы или кто-то другое невольно сливается в обычных монетах, все, что золото становится испорченным.