-
Notifications
You must be signed in to change notification settings - Fork 396
[Litecoin][Charts][MWEB] Potential post-MWEB distortion in LTC value / tx charts from HogEx / peg handling #1739
Description
I think several Litecoin chart series may be methodologically distorted from the Litecoin MWEB activation block onward if HogEx / HogAddr / peg events are processed as ordinary main-chain activity.
When this can start
- MWEB locked in earlier at block 2,257,920, but the relevant point for chart distortion is actual activation.
- MWEB activated on Litecoin mainnet starting at block 2,265,984 (around May 19–20, 2022).
- So if there is an MWEB-related distortion in Litecoin charts, it should begin no earlier than block 2,265,984.
Official activation references:
- https://litecoin.com/news/mweb-has-officially-activated
- https://litecointalk.io/t/mweb-progress-update-thread-2/53072
Litecoin charts that may be affected
Highest-risk charts (value / average / median distortion)
- https://blockchair.com/litecoin/charts/transaction-volume
- https://blockchair.com/litecoin/charts/transaction-volume-usd
- https://blockchair.com/litecoin/charts/average-transaction-amount
- https://blockchair.com/litecoin/charts/average-transaction-amount-usd
- https://blockchair.com/litecoin/charts/median-transaction-amount
- https://blockchair.com/litecoin/charts/median-transaction-amount-usd
Secondary-risk charts (count / classification distortion)
- https://blockchair.com/litecoin/charts/transaction-count
- https://blockchair.com/litecoin/charts/transactions-per-second
- https://blockchair.com/litecoin/charts/total-transaction-count
Why these charts may be off after MWEB
1) HogEx may be getting treated as an ordinary Litecoin payment
MWEB uses a dedicated integrating transaction (ExtTxn, called HogEx) on the canonical chain.
Quarkslab’s audit of Litecoin’s MWEB integration describes:
ExtTxn/HogExas the dedicated transaction created by the miner, specifically the last transaction of the blockExtAddr/HogAddras the extension address that, at each block, contains exactly the number of coins in the sidechainHogAddrchanges every block
Relevant references:
- https://blog.quarkslab.com/audit-of-the-mimblewimble-integration-inside-litecoin.html
- https://github.com/litecoin-project/litecoin/releases
Litecoin Core release notes also say:
- nodes advertise
NODE_MWEB getblockheaderreturnsmweb_amountmweb_amountis the total number of coins pegged into MWEB after applying the block
If chart logic naively sums canonical outputs / value moved without excluding the HogAddr rollover, it can mistake a carried-forward MWEB balance for fresh transfer volume.
This would most strongly distort:
- on-chain volume
- average transaction amount
- median transaction amount
It could also slightly affect tx-count-like metrics, because HogEx is a dedicated integrating transaction present on MWEB-enabled blocks.
2) Peg-ins / peg-outs may be getting double-counted
MWEB peg-ins are visible from the transparent chain into MWEB.
Peg-outs are also materialized back onto the transparent chain. Quarkslab describes peg-outs as becoming canonical-side outputs from the previous HogAddr.
If your pipeline counts:
- the visible canonical-side event
and also - some inferred MWEB-side event
then transfer volume can be overstated.
3) HogAddr may be getting treated like an ordinary user address
HogAddr is a protocol address representing the current MWEB balance, not a normal end-user address.
This is mainly an address-metrics problem, but it is still worth auditing across the Litecoin dataset, because it can pollute:
- active addresses
- new addresses
- top addresses / flow rankings
- other address-activity analytics
Why I think this is at least plausible on Blockchair
Your Litecoin chart pages are described generically as:
- “The amount of LTC transacted on Litecoin blockchain”
- “The volume of USD transacted on Litecoin blockchain in USD”
- “The average amount of LTC transferred in on-chain transactions on Litecoin network”
- “The median amount of LTC transferred in on-chain transactions on Litecoin network”
- “The number of confirmed Litecoin transactions”
- “The cumulative number of confirmed transactions on Litecoin blockchain”
- “The number of Litecoin transactions added to the mempool per second”
However, on Blockchair Litecoin block pages, “Main events” and “MWEB events” are already shown separately, which suggests that Litecoin after MWEB needs explicit special handling.
Example block page showing separate sections:
Also, there is already a related public issue:
And the example API response from that issue currently returns a decoded transaction where:
scriptPubKey.type = "witness_mweb_hogaddr"
but- decoded
vin/voutstill showismweb: false
Example:
That looks exactly like the kind of record that could contaminate value-sent or classification logic if it is not explicitly filtered / categorized.
MWEB-aware sources you can use to verify / cross-check
Official Litecoin / protocol references
- https://litecoin.com/news/mweb-has-officially-activated
- https://github.com/litecoin-project/litecoin/releases
- https://blog.quarkslab.com/audit-of-the-mimblewimble-integration-inside-litecoin.html
MWEB-aware explorer / charts
- MWEB balance chart: https://www.mwebexplorer.com/charts/mwebbalance
- MWEB transaction chart: https://www.mwebexplorer.com/charts/mwebtxcount
- MWEB activity chart (kernels, peg-ins, peg-outs, inputs, outputs): https://www.mwebexplorer.com/charts/mwebactivity
- MWEB inputs & outputs chart: https://www.mwebexplorer.com/charts/MWebInputsOutputs
- MWEB blocks view (peg-ins, peg-outs, MWEB amount, change by block): https://www.mwebexplorer.com/blocks
Suggested validation approach
-
Compare your Litecoin value charts at and after block 2,265,984 / May 19–20, 2022 to:
- the start of MWEB block activity
- MWEB balance growth
- peg-in / peg-out activity
- MWEB transaction counts
-
If your volume / average / median charts show a structural break or a persistent post-MWEB uplift that correlates with:
- MWEB activation
- later MWEB balance growth
- increased peg-in / peg-out activity
then please check whether HogEx / HogAddr rollover value is being treated as ordinary transfer volume.
-
For tx-count / TPS / cumulative tx charts, please verify:
- whether HogEx is being counted as a normal user transaction
- whether MWEB-internal activity is intentionally excluded
- whether the charts are meant to represent only transparent canonical-side activity
Coin Metrics references documenting a safer methodology
These are useful because Coin Metrics explicitly documents how it handles transfer / transaction / address metrics for assets with opt-in privacy features.
Transfer value / mean / median
Coin Metrics documents that for assets with opt-in privacy features, these metrics only take the non-private activity into account.
That principle is relevant to Litecoin MWEB, because MWEB adds opt-in confidential activity that should not be naively merged into transparent-chain value metrics.
Transactions / TPS
Useful as a documented tx-count / TPS methodology reference.
Active addresses
Relevant to avoiding protocol-address pollution in address metrics.
Adjusted volume methodology
- https://coinmetrics.io/general-research/introducing-adjusted-estimates/
- https://coinmetrics.io/special-insights/on-chain-volume/
These references are useful because they explain why naive on-chain volume estimates are easy to distort and why explicit heuristics / exclusions are needed.
What I’m asking for
Please audit the Litecoin chart pipeline from block 2,265,984 forward for:
- HogEx handling
- HogAddr handling
- peg-in / peg-out handling
- tx-count classification after MWEB activation
If these charts are intended to represent only transparent / canonical-side Litecoin activity, please document that explicitly on the chart pages and/or in the API docs.
If HogEx / HogAddr rollover value is currently included as ordinary transfer volume, please exclude it from:
- transaction volume
- average transaction amount
- median transaction amount
And if the charts are already correct, please consider documenting the exact Litecoin/MWEB methodology anyway, because the current generic descriptions make post-MWEB interpretation ambiguous.