Skip to content

Releases: AdamISZ/aut-ct

v0.1.4 - delta algo

12 Nov 21:53
Compare
Choose a tag to compare

This release now uses the updated algorithm from the new Curve Trees/Forest paper ("delta") - see https://eprint.iacr.org/2024/1647 - which makes the code significantly simpler. There is also a substantial speedup in setup time and proving time. For example: a 400K keyset now only needs about 30s for one-time setup, and only 1-2 seconds to create a proof.

Compilation by using cargo test then cargo build --release is strongly recommended, as opposed to downloading the below assets, to reduce trust requirements when using binaries.

v0.1.3 - Functional GUI for verifying audit proofs

01 Oct 20:20
Compare
Choose a tag to compare

This release is a substantial incremental improvement over 0.1.2 in that the verification server is now managed for the user by the desktop app (by clicking a dot in the bottom right of the window).

The autct binary for Windows is again triggering virus false positives in Defender, so is not released.

Compilation by using cargo test then cargo build --release is strongly recommended to reduce trust requirements when using binaries.

v0.1.2 - GUI tool for verifying audit proofs

26 Sep 23:27
Compare
Choose a tag to compare

This is an experimental initial release including binaries for Linux, Mac and Windows. There are now two binaries provided:

  • autct
  • auditverifier

The first is the same command line binary as before, allowing to create an RPC server with -M serve, or to send client requests to it with the other methods (see ./autct --help).

The second is the aforementioned GUI tool which allows a user to enter a proof file, verify whether or not the proof is valid.

( NOTE: The autct binary (but not the auditverifer binary) on Windows will almost certainly trigger the same virus warning in Windows Defender as discussed in this issue. It is a false positive, but obviously just don't run it if you don't want to trust me on that.)

v0.0.9 - proof of assets ("audit") mode added

03 Sep 21:24
Compare
Choose a tag to compare

This release adds two new methods auditprove and auditverify. In short it allows proof of holding an amount of bitcoin in a range between minimum and maximum values, across N utxos where none of the utxos are revealed. See the auditor-docs folder for more details and instructions on how to use.

Some additional testing has also been added, but the pre-existing anonymous usage tokens functionality is unchanged.

(Note that 0.0.8 was removed as it omitted a necessary component - the proof message from the user label).

v0.0.7 - includes private key file encryption

06 Aug 21:05
v0.0.7
Compare
Choose a tag to compare

This updates by adding a new CLI method: encryptkey to take a plaintext private key in WIF in a file (e.g. privkey) and requests a password and creates privkey.enc, encrypted with AES-GCM and using Argon2 for the password/salt.

The same is applied to createkeys and to prove methods - the password is passed via the RPC request, allowing the server to decrypt privkey.enc to execute the proving operation (or in the former case, to create the new privkey.enc file).

v0.0.6

31 Jul 14:38
v0.0.6
aa6cc3f
Compare
Choose a tag to compare

This release adds support for accessing the RPC server (created by running the autct binary with mode serve) over websockets, and provides a brief explanation of that idea in the README. An example of using the RPC-API in this way can be found in this repo.

v0.0.5

29 Jul 14:48
v0.0.5
7be65f8
Compare
Choose a tag to compare

This release fixes a major bug in v0.0.4, in which verification of valid proofs failed for some pubkeys. See this commit for details.

As a result, 0.0.4 has been deleted, so I will repeat the notes from that, as they represent a major change:

From this release, the application is run as a daemon/server with the -M serve method, and can also be used as a client to perform one of the three actions: prove, verify or newkeys.

This approach has two main advantages:

  • the preprocessing delays all only occur once at startup of the server (e.g. 2 mins of delay for a 330K keyset), they do not impact proving (or verifying)
  • Since all actions are via an RPC-API, it will not be difficult to write code accessing these functions from other applications in other languages, without any specialized cryptographic code. This will require documenting the RPC-API properly, which will be the next step, along with examples in e.g. Python.

Proving times should now be in the 15 second range for a 300K key set, and perhaps as little as 5 seconds for smallish (10-50K size) keysets.

As previously, binaries provided but not for Windows until #12 is addressed concretely.

v0.0.3 - Pre-alpha release

03 May 00:46
v0.0.3
7e673b5
Compare
Choose a tag to compare
Pre-release

The main purpose of this pre-alpha release is to allow testing of this tool in conjunction with the project https://hodlboard.org

The main update is the support for WIF formats for the private keys used.

See https://hodlboard.org/proofs for details on how you can generate proofs for real utxos using this tool. Or read the README here and the supporting linked docs in docs/ to understand how to use this CLI tool in a more general context.

Binaries below are attached for Linux and Mac. (The Windows binary is still not included due to the previous false positive).

As per usual procedure, unzip and then try ./autct --help (or autct.exe --help) to see if you get the expected help text. Thanks!

As is probably obvious, you can instead compile and build the project as per the installation instructions in the README.

v0.0.2 - a pre-alpha first release

01 Apr 19:24
v0.0.2
b06bc65
Compare
Choose a tag to compare
Pre-release

The main purpose of this first pre-alpha release is to check if the binary builds work.
The code is functional and works as per what is described in the project README.

These binaries (just one, name autct) have been tested as functional on Ubuntu 22.04, Debian 12 and Windows 10. I would like to know reports on whether the binary for Mac also works.

As per usual procedure, unzip and then try ./autct --help (or autct.exe --help) to see if you get the expected help text. Thanks!

As is probably obvious, you can instead compile and build the project, if you wanted to try using the code and didn't want to download the binaries.

Edit: I have removed the Windows binary built by the github actions CD temporarily(?) as it seems to trigger a Windows security alert for a trojan (see #12 ).