Skip to content

DT Explorer (Win+Mac): Performance and Stability Refinements for Fast Internet Connections

Pre-release
Pre-release
Compare
Choose a tag to compare
@sierkov sierkov released this 30 Apr 14:48
· 89 commits to main since this release

Objective

The objective of the DT Explorer application is to show the new synchronization and history-reconstruction algorithms in a safe and easy-to-test way. The application does not need private keys and can reconstruct the history of any stake or payment address to prove its performance claims. Once the algorithms are proven, milestone 4 of the project will begin, integrating them into Daedalus builds. M4 will include additional testing and code review of the new components to ensure their security and robustness. At the same time, the goal of the current release and milestone 3 is to prove the performance claims by doing all operations that are non-trivial performance-wise so that the feasibility of providing both performance and security for Daedalus users is beyond reasonable doubt.

The technical details are explained in:

  1. On the Security of Wallet Nodes in the Cardano Blockchain explains the security approach.
  2. Parallelized Ouroboros Praos explains the approach to parallelized data validation.
  3. Highly Parallel Reconstruction of Wallet History in the Cardano Blockchain explains the approach to wallet history reconstruction.
  4. Scalability of Bulk Synchronization in the Cardano Blockchain explains the network infrastructure requirements, the need for compressing proxies, and how the approach can be scaled to support up to a billion Cardano wallet nodes.

Status

Development build. Tested only in a minimal set of hardware and software environments. Testing and refinement are ongoing.

Supporting network infrastructure

The high-speed delivery of blockchain data depends on a network of compressing proxies (Cardano nodes that can share their local chain with other nodes in a compressed format and which are needed until the support for compressed data transfers becomes part of the regular Cardano network protocol). Even though the current configuration is minimal and consists of three servers, it is sufficient to support up to a thousand high-speed (with a download speed of 200+ Mbps) full blockchain synchronizations per week.

Requirements

  • a modern (2022+) CPU with 8 or more physical cores
  • 16 GB of RAM
  • a modern NVME SSD drive with 80+ GB of available space
  • a fast Internet connection (normally will be the bottleneck): 250+ Mbps is recommended to reach the full sync times of one hour or less
  • Mac OS Sonoma for Mac builds (earlier versions may work but have yet to be be tested).
  • Windows 11 for Windows builds (earlier versions may work but have yet to be be tested).

The app will check the hardware and refuse to work if it’s weaker than that of an Orange Pi 5 Plus.
Some examples of the synchronization performance (1 Gbps Internet; full Cardano mainnet up to epoch 475):

  • Intel 13900HX Laptop (24 cores, 64 GB RAM): ~10 minutes.
  • Macbook Air M2 Laptop (8 cores, 16 GB RAM): ~30 minutes.
  • Orange Pi 5 Plus SBC (8 cores, 16 GB RAM): ~70 minutes.

How to install on Mac OS (Arm64)

  • Download the Mac image from the Assets section under the post.
  • Open the image. This is a development (unsigned) image, so Mac OS will ask you if you trust the developer: See Apple's explanation and instructions.
  • Copy dt-ui app to your Applications folder.
  • Both program and blockchain data will be stored in that folder, so when deleted all used space will be recovered.
  • Launch the app from the Applications folder. If Mac OS says that the app is damaged, follow these instructions from Stackoverflow.

How to install on Windows 11

  • Download and launch the installer from the Assets section under the post.
  • Choose locations for the program files and blockchain data (each will be asked individually). For optimal performance, it's important to select your fastest SSD drive if you have multiple storage devices.

How to use (any OS)

  • Synchronization (full or partial) always happens at the app's launch; to catch up, simply restart the app. If you restart before the synchronization is finished, the app will reuse already downloaded data but may reprocess and revalidate some of them.
  • History reconstruction happens through a simple search for a transaction, stake, or payment address, either entered explicitly or when clicked as part of blockchain exploration. The easiest starting point for most users would be to search for their own stake address (e.g.: stake1uxw70wgydj63u4faymujuunnu9w2976pfeh89lnqcw03pksulgcrg), as its history will be the most representative of their wallet's history.
  • When searching for Cardano addresses starting with "addr1" prefix, the app may ask you if want to explore the payment or stake history. The reason for that is that many cardano addresses contain two keys. If in doubt, select stake history as it will normally discover more transactions. This is necessary so that the app can work without private keys. However, when integrated into Daedalus, the same aglorithms can reconstruct the full wallet history by finding all payment and stake keys generated from a wallet private key.
  • Once synchronized, users can turn off their Internet connection and test history reconstruction with new transaction or stake addresses to prove that the app reconstructs all histories interactively and uses only the downloaded blockchain data.

Share your results

Every time the sync takes longer than 1 minute, the app will show an additional screen with an overview of the synchronization performance. Users are invited to post screenshots of the results they especially like (or not) on Twitter, mentioning @TurboDaedalus.

Reporting bugs

Please create a GitHub issue in this project to report an issue.

Download the Mac (Arm64) Build

  • The Mac application image, dt-explorer-0.4.16.dmg, can be downloaded from the Assets section under this post.
  • SHA256 hash of the image: dac903d7b331e2f8c44b7e59e65ba977ea5e31fdcfc98d55be94ea7902ce6a5b
  • For your convenience, it has been pre-scanned for viruses by VirusTotal: the confirmation link

Download the Windows Build

  • The Windows installer, dt-explorer-0.4.16.exe, can be downloaded from the Assets section under this post.
  • SHA256 hash of the installer: f6537280df89bf9ce0c35e33ff3cbf2e5831a45f2dd3afee1430c8a156dca65d
  • For your convenience, it has been pre-scanned for viruses by VirusTotal: the confirmation link