EDIT: Более строгое определение, которое использует несколько иную терминологию: https://github.com/bitcoinx/colored-coin-tools/wiki/colored_coins_intro
Ранее мы ассоциирования термин "цветные монеты" с конкретным протоколом / алгоритм, называемый "заказ на основе окраски", К сожалению, она имела определенные недостатки, особенно после того, как патч Антистатического сделал это невозможно отправить небольшое количество монет, и по этой причине мы решили против стандартизации на нем.
Вместо этого я решил обобщить понятие; так "цветные монеты" это понятие сейчас, а не конкретная технология. Так что же это, собственно?
Основная идея заключается в следующем:
- мы собираемся связать свойство или набор свойств с выходы транзакций
- это свойство может быть передан, когда эти выходы транзакций проводятся в транзакции, то есть выходы этой транзакции могут каким-то образом наследовать свойства входов
Таким образом, характерной чертой понятия «цветных монет,» является то, что он использует Bitcoin график транзакций и работает на уровне «выходной транзакции».
Давайте формализовать:
- цвет партнеры цветовые состояния с выходами транзакций, например Цвет Х связывает цвет состояние Y с операцией вывод Z. Возможно, мы можем записать его в виде X (Z) = Y
- цвет не может быть произвольной функции, она должна быть определена в терминах окраски ядра, которая является функцией, которая может быть применена к каждой сделке в отдельности
- окраски ядра это функция, которая получает конкретную сделку и цветовые состояния все его входов в качестве параметров, и дает цветое состояние для каждого выхода транзакции. В основном, окраска ядра "цвета" выходы
- мы можем применить раскраску ядро для каждой транзакции в blockchain, и если он является детерминированным, определенное состояние цвета будет детерминировано, связанное с каждым выходом операции в blockchain
- это также относится к сделкам, в mempool: если сделка не сирота, цвет состояние его выходов может быть вычислено, и они не изменятся в будущем
"Заказ на основе окраски" является своим родом окрашивающего ядра вы получаете определенную раскраску ядро, когда вы объединяете генезис цвета с алгоритмом красящего заказа на основе. (Другими словами, общая функция окраски, которая выполняет окраску на основе порядка параметризовано генеза выходом сделки, а также при условии вывода генезис транзакции управления цветом вы получаете конкретную функцию окраски для этого конкретного цвета.)
Вы можете найти реализацию этого красящего ядра здесь (Python): https://github.com/bitcoinx/coloredcoinlib/blob/master/colordef.py#L24
Смарт-протокол недвижимости, который был описан Майк Хирн здесь: https://en.bitcoin.it/wiki/Smart_Property#Theory
вписывается в эту новую модель цветной монеты. И так делают многие другие вещи, которые основаны на нем, например, облигации, которые помечены специальными скрипты транзакций (смотрите здесь: https://en.bitcoin.it/wiki/Distributed_markets).
Однако Mastercoin не вписывается в цветную модель монеты, по двум причинам:
- она связывает остатки с адресами, а не с выходами операционных
- он использует нелокальные переходы между состояниями. Он чувствителен к порядку, то есть, даже если у вас есть точно такие же операции, но они находятся в другом порядке, вы можете получить совсем другое состояние.
Mastercoin можно описать только в терминах более общей модели, и он может реализовать функции, которые не могут быть реализованы в цветной модели монеты. Но так как он не использует граф транзакций Bitcoin, он больше не защищен механизмом, предотвращение двойного затрачивает. То есть мы ничего не можем сказать о неоспоримом Mastercoin сделках, которые все еще находятся в пуле памяти, состояние фиксируются только тогда, когда похоронен в blockchain.
Хорошо, хорошо, так почему же мы заботимся о формальной модели для цветных монет?
Как оказалось, окраска ядро может быть отделено от других аспектов реализации цветных монет (например, blockchain обхода, например). Таким образом, мы можем создать цветную клиент монеты, которая способна работать с несколькими различных видами ядер, и поэтому проблемы совместимости менее актуальные: добавить поддержку для различных видов цветных монет, мы просто должны включать в себя реализацию ядра и реализацию посыла функция.
Мы также можем разработать окрашивающие ядра для конкретных целей: мы не больше не ограничиваемся простым правилом сохранения. Мы можем реализовать дополнительные ядра, которые могут иметь интересные функции, такие как простой, налогообложение, встроенные в реферальной программе и т.д. Также можно спроектировать их специально для использования в производных и прогнозирование рынков.
(В других новостях, я считаю, что можно создать полностью децентрализованный рынок предсказания. Это довольно волосатый и опирается на допущения экономического характера, например рациональности акторов. Но, насколько я могу сказать, что на самом деле жизнеспособными. Последствия будут никогда не будет прежним.)