Я обобщил идеи вокруг зеленых адресов (я решил назвать их маркерные адреса идущие вперед) в документ, который был принят и будет представлен на семинаре Bitcoin & учебник, организованный профессором Clemens Cap университета Ростока. Семинар состоится 20 сентября.
Бумага: http://www.bitcoinmonitor.com/static/paper/marker-addresses.pdf
Сайт Практикум: http://bitcoin.uni-rostock.de/index.php?site=callforpapers_en
Маркер / зеленый адреса предложение о простом способе позволяет отправителю Bitcoin, чтобы идентифицировать себя получателю, который будет использоваться в тех случаях, когда обе стороны имеют доверительные отношения и хотят признавать сделки друг друга для специальной обработки (как правило, мгновенное подтверждение) , Они обсуждались ранее на этом форуме в основном в этих двух потоков:
https://bitcointalk.org/index.php?topic=32818.0
https://bitcointalk.org/index.php?topic=48170
Реализация: Получение
Так как отделка бумаги, я работал еще немного на стороне реализации вещей (на основе тегов bitcoind мерзавца v0.6.3). Для принимающей стороны (распознающей маркерные адреса на входящих сделках), я внедрил "getorigins" RPC вызов:
https://github.com/javgh/bitcoin/tree/bw-getorigins
(Дифф в v0.6.3: https://github.com/javgh/bitcoin/compare/bw-master...bw-getorigins )
Если вы даете getorigins в TXID, он будет (если транзакция имеет соответствующую структуру) отображения адреса, откуда пришла монета. Например, для этой сделки с Mt.Gox, где включен зеленый особенность адрес, он возвращает это:
Код:
./ Bitcoind getorigins 162d25037687be593e1be27bf79583afa5141c7fcd168e068501f162d2016c9a
{
"подтверждения" : 39,
"blockhash" : "00000000000003cb80e379d5fae8e19c2594d35881ec21ff54847d99e6894671",
"blockindex" : 110,
"TXID" : "162d25037687be593e1be27bf79583afa5141c7fcd168e068501f162d2016c9a",
"время" : 1344887758,
"происхождения" : [
"1LNWw6yCxkUmkhArb2Nf2MPw6vG7u5WG7q"
]
}
Вы бы тогда проверить, если известен адрес зеленый / маркер появляется где-то в списке. Здесь мы видим 1LNWw6yCxkUmkhArb2Nf2MPw6vG7u5WG7q, что зеленый адрес в настоящее время используется Mt.Gox. В случае Mt.Gox вся сделка финансируется за счет этого адреса, но путь статье описывается метод может быть просто один из адресов, фигурирующих в списке.
Реализация: Отправка
Передающая часть еще немного Hacky. Мой код имеет адрес маркеров жёстко и ожидает, что местный кошелек имеет необходимые ключи для него. Это будет потом
- Всегда старайтесь добавить один 0.01 BTC с этого адреса в любые исходящие сделки и дополнительный выход отправить его обратно. Если это невозможно, то создание транзакций потерпит неудачу. Он будет прибегать к использованию маркеров монеты с нулевыми подтверждениями, если никаких других не доступны.
- Отметьте те входящие транзакции по адресу маркеров, как изменение, так что они не появляются в "listtransactions",
- Предотвратить маркерные монеты (монеты на адресе маркеров) от использования в любой другой форме для сделки, так что адресный маркер не становятся истощен.
- Добавить дополнительную опцию "getbalance", Который показывает фактический доступный остаток после вычитания маркерные монет.
https://github.com/javgh/bitcoin/tree/bw-markeraddress
(Дифф в v0.6.3: https://github.com/javgh/bitcoin/compare/bw-master...bw-markeraddress
Перевод http://blockchain.info/tx-index/15610835/5fcc25b576547aafddc1fed22d27259478d6c000540cb458df44c629eb10bd0b?show_adv=true является примером для транзакции маркеров, созданной таким образом. В этом случае адрес маркера 1MAbwuYp8CPChJ1ua25tnEKXkfXTVqEoyg.
Будущая работа
Я работаю над новым проектом, который Bitcoin также сделает использование маркеров адресов. Я надеюсь, что некоторые хорошие демонстрации выйдут из этого, но это еще несколько месяцев прочь.
Комментарии, вопросы и другая обратная связь приветствуются! 🙂