This is a volunteer computing project which allows anyone on the internet to contribute resources to research projects related to Minecraft.
Minecraft@Home enables the study of the fundemental laws of Minecraft to answer unanswered questions regarding the features and true limits of the game.
Already joined? Log in
Xoroshigo2 v1.04 - New plan classes
Hello everyone,
We've generated some new work, and while I was at it, I implemented the plan class changes I alluded to in discussion with a few users who were trying to use Windows 7 to run xoroshigo.
Python does not support Windows 7 anymore, hasn't since Python 3.8 back in 2018. 3.9 made breaking changes for Windows 7 and will not run on Windows 7.
To remedy the issue, we've implemented "win-modern" and "lin-modern" as plan classes we can use if our apps won't run on older OSes.
Put simply, on linux if your GLIBC is older than 2.27, you won't get work for xoroshigo2 (or any other app that requires lin-modern - which is likely to be all of our work in the future.)
On Windows, your windows version must be 8.1 or higher.
Let us know if you run into any issues running our apps. Happy crunching!
13 Apr 2025, 1:15:04 UTC
· Discuss
Xoroshiro128++ - New version available, new input data
Hi everyone,
As I'm sure was noticed, there's a 2nd version of the "xoroshigo" project denoted by v1.1.
This new version has had changes made to its input variables that made it incompatible with the old version, so we could not run it as an updated version of the same app.
That being said, after extensive testing, we've deployed v1.02 of xoroshigo2(or v1.1.1.02, depending on who you ask) to production.
I believe there should also be a potential fix for the issue where work would not suspend when changes are made to computing preferences or work is just simply suspended.
The most notable change is that a member of our team, Andrew, developed a port of one of the most expensive functions (95+% of execution time spent in this function) used in the app to run it as native code for a 20x speedup.
We've cranked the dials, so tasks should be roughly the same size as before, but you may experience runtime variances compared to before. Overall this just means you're completing 20x what you used to in the same amount of time (cheaper on compute resources) - so the credit values are remaining the same.
There is also now an aarch64 build of this app available. We've made best efforts to test this with our limited aarch64 machines, so if any issues are encountered, please let us know.
Finally, I wanted to mention that as of now, we're enforcing a GLIBC 2.17 or above requirement for our apps going forward. I've built a lot of CI test harnesses over the last day or two that allow me to detect issues before they ever hit BOINC, and while I had been doing this already, there is now a check on our internal repo preventing any merges with binaries with a GLIBC over 2.17. This does also mean you'll need GLIBC 2.17 or higher to run the apps we build going forward.
Anyway, happy crunching! As always, please let us know if you run into any issues.
4 Apr 2025, 7:46:02 UTC
· Discuss
Xoroshiro128++ Guessing Order Optimization Project
You may have noticed some new workunits hit the queue. As of the time of writing, the workunits that are available should be considered "beta" as we're working out a few kinks.
That said, this is a new CPU app! As time goes on, we'll be replacing configuration files for it to further refine the results, so work will be sent out in stages and we'll feel out how much workunits make sense for each stage.
I've included a fairly technical explanation from the primary author of the app, MC, longtime contributor to Minecraft@Home:
The Xoroshiro Guessing Order project aims to uncover exploitable statistical weaknesses in the xoroshiro128++ pseudorandom number generator (PRNG). Recent versions of Minecraft now use xoroshiro128++ for specific aspects of world generation, replacing Java's default PRNG. Unfortunately, this shift creates significant challenges for seedcracking projects, as no efficient algorithm currently exists to reconstruct the internal state of xoroshiro from its outputs.
Our primary goal is to develop a reliable method for recovering the PRNG's 128-bit seed from just two sequential 64-bit outputs. Currently, the most efficient known method (excluding SAT solvers) involves guessing 54 bits of the state, after which the remaining bits can be derived, a process requiring roughly 9 quadrillion attempts on average. Our aim is to significantly reduce this computational requirement.
Xoroshiro128++ belongs to the "xorshift" family of PRNGs, which means its core operations are linear. The internal state can therefore be represented as a binary vector within a 128-dimensional vector space, with state transitions represented as matrix multiplications. However, the primary challenge arises from its use of a non-linear "scrambler" function, which maps the internal state to its output. Due to this scrambler, there is no straightforward one-to-one relationship between the 128-dimensional internal state and the 128-bit output.
Fortunately, the scrambler function is imperfect. Most of the information provided by each output bit is concentrated in a relatively small subset, approximately a dozen dimensions, of the total 128-dimensional state. Even with a partial, lower-dimensional guess of the state, it is frequently possible to determine whether the guess is incorrect based on the known output. If we can identify low-dimensional subsets of the state space that are significantly constrained by the outputs, we can efficiently guess and verify these smaller portions first, rapidly eliminating incorrect possibilities.
Participants in our project analyze these lower-dimensional subsets of the state space, identifying those subsets most constrained by observed outputs. To facilitate this process, we use a large precomputed table that estimates the amount of information (in bits) xoroshiro's output data provides about each subset of state dimensions.
By ultimately identifying an optimal sequence of highly constrained subspaces, we can incrementally guess the state one dimension at a time, discarding incorrect possibilities early on. Achieving this optimal guessing order would produce a highly efficient algorithm capable of recovering the PRNG's internal state within a small number of attempts, significantly advancing future efforts in Minecraft seedcracking and related research.
29 Mar 2025, 5:56:02 UTC
· Discuss
Loneliest Seed v1.08
Hi folks!
I know it's been a bit, life gets in the way sometimes. However, I've released v1.08 of the Loneliest Seed project which aims to address the checkpointing issue.
We're experimenting with a CPU project separate from this as well, so stay tuned for that! If the experiments go well on our end we're anticipating launching a CPU app that will aid us in our years-long research into finding methods of reversing PRNG states in the Xoroshiro128++ algorithm.
Best regards,
Minecraft@Home Team
26 Mar 2025, 15:09:17 UTC
· Discuss
High error rate on 'Loneliest Seed' tasks for older GPUs
Hi everyone,
I wanted to put this out there as I'm seeing a high error rate on tasks running on older GPUs.
I've spent a chunk of time digging into these, and the most prevalent error is a launch timeout error from the cuda driver.
This is a possible indication of either hardware failure, or a buggy driver.
If you see a lot of "Error 702" failing tasks, please update your drivers to the latest possible for your OS and video card, as there's potentially an issue with your current driver preventing work from completing on your card.
Please let us know if you have any questions, or need any help determining the issue.
Thanks!
17 Jan 2025, 5:02:26 UTC
· Discuss