We are thinking of creating a website showing statistics of Ark network / ability to lookup ark address / transactions.
Need few things:
- Any API endpoint available to get detailed VTXO tx detail from server. Something similar to bitcoin getrawmempool would be good
- Is there a documented way to get wallet xpub and generate all bark addresses using the xpub ? This way users can just use their xpub to lookup / verify wallet balance and transaction on the explorer . Similar example xpub lookup on BTC using blockonomics
Hey @shivaenigma, we’re not planning on exposing the entire refresh trees for public consumption. This decision was made mainly to improve privacy for users.
Users will still be able to “see” the off-chain transactions related to other users along their branch(es) of the tree, based on their own VTXO data.
Each user doesn’t really need to call an explorer or even the server to verify their wallet balance, their client can see that their VTXO’s off-chain transactions are valid, and that the root of those transactions is broadcast on-chain with the appropriate spending conditions, which is sufficient guarantee that they can unilateral exit for their total balance.
There are probably still some helpful stats for Ark users and one of the Second engineers will pitch in soon.
1 Like
I would like to say that this is very risky decision and would urge you to reconsider. Few things:
- Having an alternative source of full VTXO tree will enable all users to have unilateral exits in case Ark server is down
- Multiple mirrors of VTXO tree will build redundancy and transparency among users towards actions of Ark server. In absence of this, Ark server could be akin to a custodial bitcoin exchange
Analogously even in bitcoin ecosystem, if your non custodial wallet always shows balance/history, the need of a blockexplorer can be debated. However with our multiple interactions with merchants, we have seen cases where the sender claims he sent funds but they don’t show up in receiver wallet. Having a blockexplorer provides a neutral source of truth that provides all actors in the ecosystem an incentive to remain honest.
I envisage explorers in Ark visualize VTXO tree of different servers and provide comparison of their fee, round timings , server downtimes, round participation BTC volumes etc. Work done in Arké MacOS prototype - #12 by Christoph is quite interesting and can be built upon
For the avoidance of doubt, all users will have access to unilateral exits when the Ark server is down. Each user stores the off-chain transactions related to their own VTXO—all the data they require to get back on-chain at any time. Any good wallet app will ensure that users maintain external backups of this data too.
Put another way, the absence of public transaction tree data will not make an Ark server akin to anything custodial, users will continue to retain unilateral exit rights.
Our position for now is that users should be able to choose when and how they want to share their transaction data. Building a global explorer goes against that principle.
But it is conceivable to have a block explorer with an Ark endpoint to include a user’s VTXO in the URL. A user could choose to share this with anyone else to verify a payment—all their payment data is encoded in the VTXO.
Ark explorer is live at https://arkexplorer.blockonomics.co/
It uses GetTransactionStream endpoint from Arkade to display the stats. Would be really glad if your servers also publishes a similar data stream.
Seeing stats of transactions from various ark servers would provide much needed transparency / insights into the ark ecosystem.
1 Like
I’ll also say that I am not a huge fan of having servers make transaction data publicly available. Personally, I’d probably choose a server that doesn’t do this (assuming it would be optional).
For the argument of having an alternative source of a full VTXO tree, could this not be done without having all data publicly browsable by anyone? Via some sort of encryption that lets you enter an address and you get just the data relevant to your unilateral exit (totally making this up, not seriously thought through)? Does not feel like the intent necessarily leads to all data being publicly shared.
1 Like
@Christoph We have discussed a solution that would enable a user to visualize their VTXOs’ branches, without revealing the rest of the associated transaction trees. Essentially, the user could copy-paste their VTXO data to the end of a URL on a block explorer, which would be everything the browser needs to render the exit information. Something like: https://blockexplo.rer/api/ark#<hex_encoded_vtxo_data>.
Could be useful for users wanting to analyze their exit situation, costs, etc. with a third party.
Something we’re working on in the background, but it won’t be ready till post-launch.
2 Likes