Closed dr-orlovsky closed 5 years ago
Seems like I found an answer: for some contract blueprints (like Crowdsale) there might be multiple type of assets issued under the same contract. Thus, asset id field is required. However, in this case, it is unclear from the spec how different asset ids are assigned and supported.
The send to utxo feature enables to send different asset types to a utxo
@giacomozucco can you pls confirm my understanding of the issue?
Yes, I can confirm:
Furthermore, there are some (still very speculative) ideas to improve privacy and compactability of proves in multi-asset scenarios, by aggregating the parts of the proof which are not strictly needed to verify the absence of double-spending on one specific asset (for example the proofs about other unrelated assets) in a MMR-like structure. In general, I would say the triplets are not redundant.
How different assets issued by under the same RGB contract should be identified? It's clearly not the hash of the contract itself (since it is constant), and there are no fields in the issuance contract to identify the issued assets
Replaced by #85
The spec suggests that the transaction proofs need to contain triplets for each output with a specified color of the token being transacted (i.e. asset id = hash of the serialized contract).
This is redundant, since each proof is linked to a single asset, so there is no need to provide asset id information within output fields for the proofs