We are exploring an experimental blockchain mechanism called "Proof of Weather"
In the world of blockchain, various methods are used to achieve network consensus.
The most well-known is Bitcoin’s Proof of Work (PoW).
While PoW is an excellent mechanism, it has one major drawback.
It consumes an enormous amount of electricity.
At one point, I found myself wondering:
Does blockchain really require such vast computational resources?
Isn’t there something else that’s needed?
This led to the creation of Dawn, the experimental cryptocurrency project I am developing, and an experimental blockchain mechanism called Proof of Weather.
In this article, I will discuss:
- Why I decided to use weather
- How Proof of Weather works
- Security considerations
- Implementation in Rust
How Does Proof of Work Work?
Proof of Work is often explained as
a mechanism where computers compete against each other in computational tasks.
However, one important property of PoW is that it produces outcomes that are difficult to predict in advance.
Miners repeatedly perform massive amounts of hash calculations, and only those who happen to meet the conditions can generate a block.
This unpredictability plays a role in determining who can produce the next block.
However, this process consumes enormous amounts of electricity worldwide.
So I wondered:
Aren’t there already phenomena in nature that are difficult to predict?
Why Weather?
Proof of Weather utilizes weather data as that unpredictable element.
Of course, weather forecasts exist.
However,
- Temperatures several days in the future
- Atmospheric pressure at specific locations
- Precipitation
- Wind speed
and other factors cannot be predicted with absolute certainty.
In particular, when combining observations from multiple locations, it becomes even more difficult to accurately calculate future values in advance.
In other words, meteorological observations have the potential to be used as
A real-world information source where future values cannot be fully predicted
⚠️ Caution
I’m not trying to replace Bitcoin, nor am I trying to prove that this is the future of blockchain. I was simply curious to see whether weather data could be used as a practical beacon in a decentralized system.
How Does Proof of Weather Work?
In Dawn, meteorological observations are used as "beacons."
A beacon is
a value obtained from an external source that is difficult to predict.
The processing flow is as follows:
- Weather observations are collected.
- The observations are transformed into a beacon value.
- A Verifiable Delay Function (VDF) is evaluated using the beacon.
- The VDF output is included in a new block.
- The block is appended to the hash chain.
- Future blocks depend on previous blocks, preventing reuse of historical weather data.
1. Acquiring Weather Data
Temperature data is collected from observation points across Japan.
For example,
- Wakkanai
- Asahikawa
- Kushiro
- Tokyo
- Fukuoka
- Naha
Data from geographically dispersed locations such as these is utilized.
Proof of Weather does not depend on a specific weather provider.
Any API, sensor network, or weather observation source may be used, provided that all participating nodes can independently obtain the same observation set and reproduce the same beacon value.
Determining how to standardize and verify those observations remains an open research challenge.
2. Generating the Beacon
We combine the acquired observation values to generate a beacon value.
This beacon serves as
the random source used for generating this block.
3. Execute the VDF
Next, we execute the VDF
(Verifiable Delay Function)
using the beacon and transaction information as inputs.
The VDF has the following characteristics:
- Calculations take a fixed amount of time
- Verification of the result is fast
In other words,
it becomes difficult to preemptively generate large numbers of future blocks.
4. Generate a Block
A block containing the VDF output is generated.
As with a standard blockchain, the block stores
- Transactions
- Previous block hash
- VDF result
and other data.
Can’t past weather data be reused?
This is a question we always get asked when explaining Proof of Weather.
For example, an attacker might think:
Why not just use last year’s temperature data to create any chain I want?
That’s why Dawn is designed so that each block depends on the hash of the previous block.
In other words,
even if you have access to historical weather data, recreating the current chain becomes significantly more difficult because every block depends on the hash of the previous block.
This chaining mechanism prevents weather observations from being reused independently of blockchain history.
Is it really secure?
To be honest,
we don’t know yet.
Proof of Weather is still an idea in the research phase.
The current design is based on the following assumptions:
- Weather observation points are sufficiently distributed
- No single observation point can fully determine the beacon value
- Future observation values cannot be fully predicted
- The VDF prevents precomputation
Another open question is predictability.
Modern forecasting systems and machine learning models may be able to predict some weather variables with significant accuracy.
Understanding how prediction accuracy affects beacon security remains an area for future research.
However,
- Improvements to the beacon design
- Analysis of attack models
- Long-term economic security
and many other issues still need to be verified.
Therefore, Dawn currently positions itself as
A technical verification project for an experimental consensus algorithm
Why I Chose Rust?
Dawn is implemented in Rust.
There are three main reasons for this.
Performance
Block generation and P2P communication involve a lot of relatively low-level processing.
Safety
Memory safety can be guaranteed at compile time.
Parallel Processing
It works well with network processing and block verification.
As a result,
- P2P network
- UTXO management
- API server
- Proof of Weather
could all be implemented within a single codebase.
Lessons Learned
The most significant lesson I learned through this project is that
Consensus mechanisms involve more than just computational power.
In the real world, there are various unpredictable sources of information, such as
- Weather
- Earthquakes
- Tides
- Astronomical phenomena
and various other sources of information that are difficult to predict.
I feel that methods for utilizing these in distributed systems have not yet been fully explored.
I don’t know if Proof of Weather will ultimately become a practical consensus mechanism.
However,
"Is it possible to achieve unpredictability through methods other than PoW?"
I consider this an interesting experiment in answering that question.
Conclusion
Dawn is a project currently under development.
If you’re interested in this idea, or
- Blockchain
- Distributed systems
- Rust
- Consensus algorithms
we'd love to hear your feedback.
"Can the weather protect the blockchain?"
The experiment to find the answer has only just begun.
Links
- 🦀 GitHub: Dawn Repository
- 🚀 Product Hunt: Dawn on Product Hunt (project overview)
Top comments (0)