-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Support setting one or more user-defined block explorers #4371
Comments
@bisq-network/bisq-maintainers, this might be a good candidate for labeling as a |
I just saw this issue because my name was mentioned. Having the users own blockchain explorer does preserve privacy, but it also decreases scalability by requiring way higher disk usage. User's cant prune (which adds about 300 GB requirement) plus they must have an extra database with an index containing every address that was ever used on the blockchain (about 100 GB depending). A much better way to solve this problem of private address lookup is to start watching the address before it's ever used. The bitcoin network will tell you when new transactions for it arrive. IIRC bisq already connects to the bitcoin p2p network via bitcoinj, so it can monitor newly arriving transactions and blocks. |
Thanks, Chris. Bisq does watch the address and indicates to the user in-app whether (and how many) confirmations have occurred. But it also provides block explorer links because the user may want to inspect additional details about the transactions or addresses. |
+1 Currently running https://github.com/janoside/btc-rpc-explorer on my local node as my explorer by modifying the pref file. Would be nice to have it build into the GUI as suggested above. |
+1 |
Now that we have Monero Explorers, in addition to the existing list of Bitcoin Explorers and Bisq Explorers, I think "Trusted Nodes" deserves its own tab in the Settings, with a slider switch to use Tor browser or not, and the ability to add your own to the list. We can also have Bisq round-robin the enabled ones in the list, and have contributor operated explorer nodes enabled by default. |
Currently Bisq supports a fixed set of options for which block explorer to use when following links in the application to Bitcoin transactions and addresses. These options are hard-coded at https://github.com/bisq-network/bisq/blob/release/v1.3.6/core/src/main/java/bisq/core/user/Preferences.java#L80-L99 and show up in the application here:
Use of any centralized block explorer is a known privacy risk, because the service may be logging queries, including the user's IP address and other unique information and linking them to the Bitcoin addresses and/or transactions being queried. This risk can be mitigated by using a Tor-based block explorer service, but such use is still not ideal. See these two sections of @chris-belcher's Privacy article in the Bitcoin Wiki's for more details.
The ideal approach is to use a private block explorer, i.e. one running on one's own local network that queries one's own Bitcoin Core node. Doing so eliminates the risk of being tracked by other parties as no other parties are involved.
It is easy enough to add one's own block explorer by modifying
Preferences.java
(see link above), but ideally one would be able to specify one or more custom block explorer URLs in theSettings->Preferences
screen above. A precedent for this kind of configuration functionality can be found in theSettings->Network Info
screen:Note how, if the user selects the 'Use custom Bitcoin Core nodes' radio button, they can then provide one or more custom node addresses in the input field below. The interaction would need to be different in the case of specifying custom block explorers, because each block explorer requires two URL templates, one for transaction lookups and one for address lookups, but this existing, somewhat similar configuration functionality may be useful as a starting point when considering how to implement this feature.
While it might be easiest to support adding just one custom block explorer, it would be ideal to allow specifying multiple of them, because in the case of an explorer running on one's local network, one might wish to access it via clearnet http when at home and via Tor when remote. This would require specifying two sets of URLs. And of course the user might want to specify any number of additional custom explorer services.
The text was updated successfully, but these errors were encountered: