-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clean Up messages
Table
#1617
Comments
Before considering this, lets just get to a stable version with the messages as they exist today. Too many changes, too fast, and only a few people making these decisions. The message abstraction is directly connected to the CNTRPRTY transaction message. And when it is valid, it triggers other messages at the protocol. And these messages have an order. The event abstraction has less connection to the Counterparty transaction, and considering time is non-continuous (is block by block steps), basically all "events" happen at the same time, thus their ordering is less intuitive. Not saying this is wrong, but lets just take things slower. |
Following up on CounterpartyXCP/Documentation#185 (comment): Thinking about the ways this could be implemented: (Note: non-message events => the newly added categories to the messages table in v10.)
In v9 transaction index 0 is message index 0. In the current v10 it isn't, because non-message events are given a message_index. I believe that as long as transaction_index 0 = message_index 0, then the implementation can be 2 or 3 (or something else?), but option 1 is missing this cohesiveness of the message concept itself. But it does make sense when treated as an "event" though. So basically the current v10 option 1 is a step in a better direction, but I believe it still needs some adjustments so that the If the aspiration of the protocol is to be decentralized, thus maybe having multiple implementations all sharing consensus, an (Also seeing non-message events in the |
Having messages that trigger to the creation of other messages makes no sense. The main problem is that the name of this table is wrong. It does not contain any messages. Messages are Counterparty data embedded in transactions. Transactions/messages trigger events (which modify the database). The priority is to correct the naming of these fields and this table. This is the main goal of this issue not to change the purpose and design of this table. |
@ouziel-slama let me quote what you are referring to, from CounterpartyXCP/Documentation#185 (comment):
In the context of describing the The name of the table is not wrong for <v10. If it is, I would like to understand why you think so. But if you are changing the nature of a table to become "events", then obviously you can now say the name is wrong.
It seems like you already did, in v10 transaction_index 0 does not represent message_index 0. Please don't say things like "makes no sense", as that is insulting. Lets be respectful and try to understand each others perspective. |
This is what I explained in my previous message. In other words: by definition a message has a sender and a receiver. In the case of a transaction/message the sender is the signatory of the transaction and the counterparty node the receiver. Today what is recorded in the |
You got a point with the definition of a message. What would be a better name then? Isn't event way too generic, as basically anything with a time associated to it can be considered an event. And my main point is that "messages" as they exist in <v10 only deal with Counterparty data state, not Bitcoin data like blocks, transactions, transaction_outputs... What can be done to continue having transaction_index 0 be <cp_data>_index 0, so that the "purpose and design of the table" is not changed? |
The first definition from a dictionary:
Not sender or receiver, but communication. To me, this is a very appropriate name, considering the protocol IS about writing in Bitcoin. If what the user wrote is valid, then the software writes back. Beautiful, so make THIS my new simple If you find a better abstraction, then it should go through the CIP process at minimum. This is literally changing consensus, which is based on the 3 hashes the software provides per block, one which is a MESSAGES hash. Should we move the discussion to the CIP? |
This is not a proposal for a consensus change—that's just not how consensus in Counterparty works. |
How is changing the contents of a hash calculation not breaking consensus? I'm trying to give my feedback to proposed changes (more like already done), so that the software that I decide to run on my infrastructure continues being in agreement with the "official" reference implementation.
What is wrong with this? This will make the new "events" approach be consistent with the content of messages as they exist now, where transaction_index 0 represents message_index 0. xcp.dev exists because of the I think the suggestion to have separate |
message_hash
by events_hash
?message_hash
messages
toevents
command
andcategory
fieldstx_hash
field (to be able to easily retrieve the events of a transaction)events_hash
is calculated by concatenating the list of event names, of course ordered byevent_index
(we deliberately exclude the bindings so as not to change the hashes with each addition of a field which could prove useful to the 'future).The text was updated successfully, but these errors were encountered: