Protocol proposal to associate a multisig 2/2 address to bitcoin-themed collectibles
Author: gbianchi
Revision 0.2 dated January 14th 2023
AbstractIn cryptography, using a private key generated by another user does not guarantee security in the management of associated funds.
With this protocol we offer a valid alternative to the use of a 2 of 2 multisignature system capable of guaranteeing security for the user in the purchase and use of bitcoin-themed collectibles.
IntroductionThanks to
@bitbollo I learned about the world of bitcoin-themed collectibles.
I also learned that collectibles are often manufactured with an associated bitcoin address and relative private key, suitably hidden, for the purpose of loading amounts in bitcoins,
associated with the collectible, sometimes even substantial.[1]
Obviously the first objection/observation that came to my mind was: if the producer keeps a database of the generated keys, once a certain volume of customers is reached he can scam them all.[2]
Coincidentally, the
@yogg scam related some Coldkey ™ cards occurred just a few days later which was the blatant manifestation of these doubts.[3]
The purpose of this document is to propose a multisignature[4] 2 of 2 for the production of collectibles with an associated multisig address at a higher security level than
to the private key system generated by the manufacturer.
AbbreviationsPrefix
P = Manufacturer (producer of bitcoin-themed collectibles)
C1 = direct customer of the manufacturer
C2 = customer of C1 (and any other customer later C1)
Suffix
k = Private Key
p = Public Key
a = bitcoin address
Symbols
ms = address multisignature 2 of 2
cc = paper certificate
------ Production ------------------------------
C1 wants to buy a collectible from
PC1 produces
C1k and
C1pC1 sends
C1p to
PP produces
Pk and
PpP generates
ms from
Pp +
C1pP generates
Pa from
Pp and
C1a from
C1pP generates paper certificate
cc with printed
Pp,
Pa,
C1p,
C1a,
msP inserts his
Pk into bitcoin-themed collectible and seals it
P prints a
ms qr-code outside the bitcoin-themed collectible
P sends bitcoin-themed collectible to
C1 accompanied by
cc Note: the loading of an amount on ms by
P or other parties has no influence on the description of the protocol. In any case
P is unable to spend
ms, he does not know the key C1k to sign a possible transaction.
------- passing the bitcoin-themed collectible to
c1 -------------
C1 receives bitcoin-themed collectible and
cc With the
cc,
C1 can verify that ms was generated by
Pp +
C1p .
He can also verify that the qr-code printed on the bitcoin-themed collectible corresponds to that of
cc.
C1 if later wants to spend any ms content must break the bitcoin-themed collectibles, to withdraw
Pk and be able to sign, together with
C1k, the transaction.
------------ Selling the items from
C1 to
C2 (and so on)-------------------
C2 wants to buy from
C1, but wants proof of ownership:
C1 sends
C2 a photo of the qr-code of the bitcoin-themed collectible (address ms)
C1 sends
C2 a photo of the paper certificate (and then
Pp,
Pa,
C1p,
C1a,
ms ).
C1 proves to
C2 that it can sign a message with address
C1a (then prove it have the private key)
Then
C2 it is certain that:
a)
cc is that of the bitcoin-themed collectibles (
ms of the qr-code on the bitcoin-themed collectibles and that on
cc correspond)
b)
C1 owns the private key
C1k (is able to sign a message with
C1a)
If
C1 and
C2 agree
C1 transcribes its own
C1k and inserts it in the bitcoin-themed collectible.
C1 sends the bitcoin-themed collectibles to
C2
------------ Advantages over the one key protocol------------
P can never withdraw the amount paid in
ms.
Even if you keep a database with all the Pk's it has generated, nothing can be done with it, so it can never scam
C1 C1 interacts with
P and is certain that the object is customized for him and UNIQUE.
C1 can demonstrate to
C2 by sending the photo the paper certificate and signing with
C1a (because he owns
C1k) that he really possesses C1k[/i], therefore that he is aware of
C1k (so if it's not
C1 it must have somehow interacted with
C1 and/or with the object).
Disadvantages:The protocol does not lend itself to industrial production
Requires knowledge of bitcoin protocol and multi signature addresses from
C1 and
C2The object must be "broken" in order to access P private key (that is inserted during the creation of the bitcoin-themed-collectibles), this kind of process has been already introduced by Kialara [5]
Weaknesses:P doesn't actually put
Pk inside the object, or it puts a wrong key:
P cannot spend any ms content, so if he doesn't introduce the key on purpose he has no advantage. If he introduces an incorrect one, he still has no advantage, as he could not gain anything in a scam attempt and would lose his reputation as a producer, so he could only lose out.
P make an agreement with
C1 in order to scam
C2:
P could do it even in the single key case and with much less effort.
Also
P should agree with various
C1 level clients for being able to scam all
C2 level clients, which is unthinkable since items are available to all kind of users hence
C1.
The bigger the number of customers of
P the more unlikely an agreement between
C1 and
P to scam becomes possible.
if
C1 does not send the key
C1k to
C2 C1 is not able to use / redeem the amount because the object remains intact, therefore it would have no advantage in not sending it, it loses its reputation in the face of any economic or trust advantage. In this case a reputable escrow during the transaction could be another viable solution to avoid any potential scam.
C1 loses
C1k: is no longer able to sell the item, a
C2 wouldn't buy it.
In any other way
C1 tries to scam
C2, they are cases identical to those
of the system with only one unique private key "hidden" in the object.
I ask all of you to review and suggest further implementations of this method for introducing keys into collectibles and increasing security in this type of transaction.
SummaryIn the first level passage
P ->
C1 the risks for
C1 are almost eliminated compared to the single key system.
In the second level passages
C1 ->
C2 the risks of
C2 are slightly lower than in the single key system
References[1]
https://en.bitcoin.it/wiki/Casascius_1000_BTC_gold_coin[2]
https://bitcointalksearch.org/topic/info-breached-or-scam-coin-makers-list-3315347[3]
https://bitcointalksearch.org/topic/--5434506[4]
https://en.bitcoin.it/wiki/Multi-signature[5]
https://www.coindesk.com/markets/2016/04/01/how-kialara-uses-physical-bitcoins-to-explore-the-value-of-art/
AcknowledgmentsI thank
@bitbollo for the fundamental contribution, the constructive exchange of ideas and the patience.