Golem Foundation - 2022 in Review and What's Next
As we get stuck into 2023, let’s take a quick look at what we were up to at Golem Foundation over the last year and what developments the year of 2022 brought to our project. We’d also like to show you what we’re looking forward to in the next couple of months and what 2023 might have in store for us.
Wildland - new Rust-based core and a modular architecture
2022 brought some major changes to Wildland. Six months ago we ceased working on the Python client - the first, proof of concept, implementation of the Wildland protocol, described in the Why, What and How paper, and started developing a new core. It can serve as the foundation for a production-quality file storage solution that can serve as a viable alternative to mainstream cloud storage services.
The new Wildland core is being written in Rust, a programming language that has better memory management than Python, as well as excellent cross-platform capabilities across Linux, macOS, Windows and other major operating systems. Writing the new core in Rust will thus make it easier for us to develop Wildland-powered apps on different platforms.
This switch from Python to Rust marks the end of a great collaboration with the Invisible Things Lab team who have been a very big part of the development of Wildland up to this point and for whose expertise and input we are really grateful for.
With the new core we are also introducing major changes to Wildland’s architecture. We are making it more modular, more flexible and more efficient in handling large number of containers. We have introduced a new mechanism for cloud-hosted forest automation and the Active Catalog Backend (ACB) module with the goal of providing a remote storage for container descriptors. This will allow access to this information from different machines, and improve performance of complex operations, such as querying or bulk editing of the metadata for many containers.
The new architecture has also eliminated container manifests, merged the forest owner
and user manifest
concepts into one, introduced a default Global Root Forest Directory with assumed implementation on an Ethereum smart contract, and simplified URL sytntax.
The decomposition of the Rust-based core into functional blocks will allow us to design, implement and test each of Wildland’s components independently. Moreover, some components, such as ACB or User Interface front-ends, might exist in multiple implementations, each providing different feature sets.
Work is also progressing on Cargo - a Wildland-powered replacement for popular cloud storage services built upon the new Rust-based architecture. Cargo’s design and its feature set should be especially attractive to privacy-conscious users who subscribe to services like Tresorit or Filen, as well as to people who have looked into various p2p-synced storage solutions like ChainSafe, SlikSafe or Sia, but found their current state to be not entirely satisfactory.
We are targeting MacOS as the first platform on which Cargo will be deployed. Full-featured iOS, Linux, Windows, Android, and web versions are planned for the future. If you want to know more about the changes we have made to Wildland’s architecture, and the current status of the project please head to the new Wildland documentation page.
During the last 6 months, we have also started working on a new project belonging to a wider Wildland ecosystem - Aleph6.
Aleph6 is a converter that allows for the interoperability of structured information between various knowledge-storing, -processing, and -visualizing formats, apps, and services. This includes, for example, note-taking apps like Bear or Obsidian, various mind-mapping apps, as well as graph visualizers, and other structured information processing sources, such as the filesystem and a web browser.
The first Python-based Aleph6 implementation with a command-line interface will soon be made available for testing on our GitLab. Watch this space for an announcement.
Creating Rusty-bind
While working on Wildland’s new Rust-based core we have found that there are no tools that could satisfactorily be used to generate bindings allowing for the use of Rust APIs in different projects, where a cross platform library is expected to be consumed by various subprojects written in different languages. To mitigate this problem we started developing rusty-bind
: an open-source tool for generating bindings from Rust code to popular programming languages and runtime environments.
While still in the early stages of development,Rusty-bind
already improves upon existing tools that provide interoperability between Rust and other languages. It does not focus on a single target language or an OS, it offers better developer experience than alternatives, and has a flexible architecture, which allows for an easy support for another target language.
Rusty-bind
’s development is primarily driven by the needs of the Wildland project. This means that so far we have been focusing on the language features and target platforms which we currently use in Wildland, i.e. Swift, C++, SWIG and WebAssembly. Rusty-bind
, however, is not Wildland-specific, and we are making it available under the GNU GPL3 license, so that other developers can use it, add to its code, and modify it to better suit their needs. To find out more about the current status and the possible usages of Rusty-bind
check out this post.
Researching and sharing the UDO
You could say that 2022 was, for us, the year of “the UDO”. The User-Defined Organization was first introduced in the Why, What and How paper as the governance-layer of Wildland. Our design is not tied to Wildland, however, and we believe that UDO can be successfully implemented by many different projects looking for sustainable ways of decentralized funding.
Therefore, this past year was all about sharing our idea with outside experts and gaining valuable insight into its potential strengths and weaknesses. This resulted in the publishing of two research reports: one from BlockScience, an engineering, R&D, and analytics firm specializing in complex systems, the other from the RadicalxChange Foundation, a non-profit carrying out research and development on governance, mechanism design and game theory. We have gained many valuable insights from both teams, and will be testing some of their proposals for improvements, especially around the use of Soulbound tokens, in the near future.
In September we had the opportunity to share our governance ideas at ETHWarsaw, the first Ethereum conference in Poland. In order to show people some ways in which we think decentralized public goods funding could work, we ran the Wildland Governance Game.
We put 100 000 GLM into the hands of ETHWarsaw’s participants and let them decide if they wanted to keep their tokens or to donate them to one of ten causes. By doing so, we wanted to ascertain the benevolence of the Ethereum community, and observe various coordination efforts in the context of decentralized funding. The results of the experiment were very encouraging - most participants decided to donate their tokens rather than keep them for themselves, and in the process converged around four projects - Aid for Ukraine, Signal, the Tor Project and The Internet Archive - to which a total sum of 98 000 GLM was donated.
The final leaderboard in the Wildland Governance Game
Octant - a new community-driven platform for experiments in decentralized governance
The governance experiment we ran during the ETHWarsaw was just a tease of something much more advanced and meaningful to come. Early this year we will unveil a new Golem Foundation project, Octant - a community-driven platform for experiments in decentralized governance.
Developed to test various hypotheses around user control, voter engagement, and community funding, Octant will allow for running various governance experiments in a real-life environment and rewards user participation with ETH.
To fund the platform, Golem Foundation will transfer to Octant a certain fraction of the rewards it will receive from becoming a validator in the new Ethereum Proof-of-Staking consensus mechanism. The governance over Octant’s funds will be then turned over to those community members who lock at least 100 GLM in to a Octant contract for an epoch lasting 90 days. In the following epoch users with valid lock-ins will be able to decide if they want to claim part of Octant’s funds as their rewards or to donate it to community-chosen public good projects. If they chose the latter, their donations will be matched by Octant, multiplying their impact. During each epoch, Golem Foundation will run various experiments in decentralized governance, for example, introduce changes in voting mechanics, try out various delegation frameworks, utilize soulbound tokens to incentivize and measure user engagement, etc. The results of the experiments will inform our research into effective decentralized governance solutions, and allow us to gather empirical data on various governance behaviors.
Flow of funds in Octant
The alpha version of the Octant app is currently being tested in-house. We will soon make it available to outside testers as well. If you are interested in helping us refine Octant for a general release, please head to the Octant MVP site where you can read more about Octant’s rationale, overall design, and features.
Please note that the full-featured version of Octant will be made publicly available only after the Ethereum Shanghai upgrade becomes live. The upgrade, which will enable ETH staking withdrawals, is tentatively scheduled for March 2023. Until then Octant will be deployed on the Görli testnet and utilize TestGLM and GörliETH.
Exploring decentralized governance ideas - the Freedom Games and RadicalxChange Warsaw
Developing viable alternatives to widespread governance models requires cooperation between people and organizations with different ideas, backgrounds and experiences. This is why we have partnered with other researchers, thinkers and technologists from across the blockchain ecosystem.
In 2022 we collaborated with RadicalxChange and supported two events alongside the US-based NGO, helping them bring their governance ideas to a wider audience. The first of them was the 2022 Freedom Games in Łódź, one of the largest annual conferences in Poland, where RadicalxChange, with the support of Fundacja Liberté!, hosted a series of panels on “21st Century Infrastructure: From State Capacity to Shared Capacity.”
L-R: Henry Farrell, Shrey Jain, Julian Zawistowski and Puja Olhlaver (virtually) at the Freedom Games in Łódź, Poland (photo courtesy of Angela Corpus)
Then we collaborated on bringing to life the first RadicalxChange conference in Poland - RadicalxChange Warsaw: Europe and The Futures of Pluralism.
L-R: Julian Zawistowski, Przemek Kowalczyk and Shrey Jain at RadicalxChange Warsaw, Poland (photo by: Zbyszek Kaczmarek)
L-R: Sara Polak and Alec Empire, two of many amazing guests speaking at RadicalxChange Warsaw (photo by: Zbyszek Kaczmarek)
Exchanging ideas: guests and panelists chat at RadicalxChange Warsaw (photo by: Zbyszek Kaczmarek)
At both events, Julian Zawistowski shared our perspective on governance, decentralized funding and user-control with the audiences: first at the Freedom Games in a panel called Network Society (which you can watch in full here), talking along side Puja Ohlhaver from FlashBots, Henry Farrell and Shrey Jain from Microsoft, and then moderating a panel at RadicalxChange Warsaw on Web3 and The Dream of Radically Distributed Governance (watch it here). Both events were very well received and we hope to host more events of this kind in the future.
Join us in 2023 and keep up to speed with our projects!
If you wish to keep up to speed with what’s going on at Golem Foundation and the projects we’re working on in 2023, you can follow us on Twitter @GolemFoundation and @WildlandIO, and on LinkedIn @GolemFoundation and Wildland.io. Join our Discord and share your thoughts with us. Have a great 2023!