You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
5.7 KiB

<!DOCTYPE html>
<html>
<head>
<title>Duke Memos - Hush Dev Update #1</title>
<style>
body {
width: 42em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
background-color: black;
color: white;
}
a {
color: #63c0f5;
text-shadow: 0 0 5px rgba(104, 182, 255, 0.5);
}
</style>
</head>
<body>
<h1>Hush Dev Update #1</h1>
<p>
It is time for another <a href="https://hush.is">Hush</a> development update!
</p>
<p>
We are happy to report that there is now a <a href="https://git.hush.is/hush/hush3/issues/202">Debian package for aarch64 (Raspberry Pi and similar) devices</a> thanks to lots of hard work from <a href="https://git.hush.is/jahway603">jahway603</a> who also <a href="https://github.com/tevador/RandomX/issues/264">received help</a> from RandomX upstream developers <a href="https://github.com/tevador">tevador</a> and <a href="https://github.com/SChernykh">SCernykh</a>. The issue was that cross-compiling our code stopped working when we added RandomX as a dependency, which uses CMake instead of GNU Make like the rest of the Hush build system. Now the Hush build system understands what to tell CMake to allow cross compiling to aarch64 successfully. What this means is that Hush and <a href="https://dragonx.is">DragonX</a> users/miners can now install a full node and mine on supported Raspberry Pi (and similar) devices!
</p>
<p>
One exciting new bit of code for Hush is <a href="https://git.hush.is/hush/hush3/issues/283">Reduce memory usage of CBlockIndex</a>
which is being ported from upstream Zcash. When it is ready it will reduce the memory needed to run a Hush full node by at least 1.6 GB
and potentially much more. The more "indexes" that are enabled, the more memory savings. Since SilentDragon enables some indexes by default,
which are not enabled in the CLI hushd, GUI wallet users will see even more memory savings. This means you can do more things with the same
hardware without running out of memory or using much slower swap. This change will also help <a href="https://dragonx.is">DragonX</a> full nodes use less memory, but since
RandomX block headers are much smaller, it will be on the order of tens of megabytes less RAM used.
</p>
<p>
The above code seems to work on a fresh sync or if `-reindex` is used but Hush devs are currently working on a bug that causes it to <a href="https://git.hush.is/hush/hush3/issues/292">crash</a> in other scenarios. <a href="https://git.hush.is/onryo">onryo</a> and <a href="https://git.hush.is/fekt">fekt</a> contributed lots of testing to figure out exactly when this bug causes a crash.
</p>
<center>
<a href="" target=_blank>
<img width=80% src="">
</a>
</center>
<p>
Another exciting improvement is that Hush will now compile on Ubuntu 22 and the latest Arch Linux! <a href="https://git.hush.is/jahway603">jahway603</a> finally got things <a href="https://git.hush.is/hush/hush3/issues/127">working</a> (with a little help from Hush developer Emeritus <a href="https://github.com/miodragpop">miodrag</a>), which came down to making recent versions of g++ happy. This also means that Hush will likely compile on many other newer Linux distributions which use g++ 11 or 12 by default.
</p>
<p>
Some work was done to improve support for Hush on <a href="https://git.hush.is/hush/hush3/issues/26">FreeBSD</a> but it is currently on hold, since it will require very large changes to the build system. What we need is a developer who really loves FreeBSD and wants to "own" this effort. If that sounds like you or somebody you know, please get in <a href="https://hush.is/tg">touch</a>.
</p>
<p>
Recently a <a href="https://electriccoin.co/blog/new-releases-remediate-memory-exhaustion-vulnerability-in-zcash/">memory exhaustion vulnerability</a> was publicly disclosed by Zcash. It is actually a very old vulnerability in Bitcoin that was never fixed in various codebases that forked from Bitcoin long ago. Potentially hundreds of blockchains are vulnerable. This issue has been fixed in the Hush source code and many nodes have upgraded to this code already. Hush also has another layer of defense against this bug in that we require TLS 1.3 between all nodes. This means that code to attack Zcash or other blockchains would not work against the Hush or DragonX blockchains.
</p>
<p>
The p2p "mempool" message was recently <a href="https://git.hush.is/hush/hush3/commit/15aaf4af44030bbab0c9d74143e3bee44c4911c0">removed</a> which is not used in the normal activity of a full node and has potentially bad privacy implications. BTC core is <a href="https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-April/021562.html">talking about removing this as well</a>.
</p>
<p>
<a href="https://git.hush.is/onryo">onryo</a> has published a <a href="https://git.hush.is/attachments/048401e7-ddd9-4386-bf33-fa834a0f140c">Debian package</a> for the latest release of SilentDragonLite.
</p>
<p>
Now for some updates related to DragonX. It was recently discovered that our lightwalletd code is compatible with RandomX block headers. This means that DragonX is much closer to having a lite wallet! The backend server exists and works. The next step is to make the GUI code of SDL understand how to talk to a DragonX lightwalletd server, instead of a Hush lightwalletd server. This will also likely require updating some "plumbing" in <a href="https://git.hush.is/hush/silentdragonlite-cli/issues/22">silentdragonlite-cli</a> . <a href="https://git.hush.is/fekt">fekt</a> and <a href="https://git.hush.is/dan_s">dan_s</a> helped extensively with testing this.
</p>
<p>
</p>
<center>
<a href="" target=_blank>
<img width=80% src="">
</a>
</center>
<p>
</p>
<hr width=75%>
<p>
<br>
<b>-- Duke</b>
</p>
<p>
<a href="https://duke.hush.is/?back">Back</a>
</p>
</body>
</html>