11# PythonStark
22
3- ** Pure Python ZK-STARK Implementation for Research and Educational Use**
3+ ** Pure Python ZK-STARK Implementation for Educational Use**
44
55[ ![ License] ( https://img.shields.io/badge/License-Non--Commercial-blue.svg )] ( LICENSE )
66[ ![ Python] ( https://img.shields.io/badge/Python-3.8%2B-blue.svg )] ( https://www.python.org/ )
@@ -45,23 +45,10 @@ Designed for:
4545- ✅ ** Configurable Security** : Adjustable security parameters (80-192 bits)
4646- ✅ ** Educational Focus** : Code clarity prioritized over performance
4747
48- ### Performance
49-
50- | Computation Steps | Proof Time | Verification Time | Memory Usage |
51- | -------------------| ------------| -------------------| --------------|
52- | 256 steps | ~ 75ms | ~ 0.009ms | ~ 108 MB |
53- | 512 steps | ~ 107ms | ~ 0.010ms | ~ 104 MB |
54- | 1024 steps | ~ 161ms | ~ 0.012ms | ~ 118 MB |
55- | 2048 steps | ~ 232ms | ~ 0.015ms | ~ 111 MB |
56-
57- * Note: These are educational benchmarks, not production-grade performance.*
58-
5948---
6049
6150## Installation
6251
63- ### Quick Start
64-
65521 . ** Clone the repository** :
6653 ``` bash
6754 git clone https://github.com/SherifSystems/Pythonstark.git
@@ -73,7 +60,7 @@ Designed for:
7360 pip install -r requirements.txt
7461 ```
7562
76- 3 . ** Verify installation ** :
63+ 3 . ** Run the demo ** :
7764 ``` bash
7865 python pythonstark.py
7966 ```
@@ -104,16 +91,6 @@ valid = verifier.verify(trace, proof)
10491print (f " Proof valid: { valid} " )
10592```
10693
107- ### Running the Demo
108-
109- ``` bash
110- # Basic demonstration
111- python pythonstark.py
112-
113- # Run benchmarks
114- python pythonstark_benchmark.py
115- ```
116-
11794---
11895
11996## Project Structure
@@ -131,24 +108,6 @@ Pythonstark/
131108
132109---
133110
134- ## Security Considerations
135-
136- ** DO NOT USE FOR** :
137- - 🚫 Cryptocurrency wallets or key management
138- - 🚫 Financial transaction systems
139- - 🚫 Authentication or access control
140- - 🚫 Production deployments of any kind
141-
142- ** SAFE FOR** :
143- - ✅ Learning how ZK-STARKs work
144- - ✅ Academic research projects
145- - ✅ Teaching cryptography concepts
146- - ✅ Prototyping and experimentation
147-
148- See [ SECURITY.md] ( SECURITY.md ) for complete security details.
149-
150- ---
151-
152111## License
153112
154113This project is licensed under the ** PythonStark License v1.0 (Non-Commercial)** .
@@ -161,12 +120,7 @@ This project is licensed under the **PythonStark License v1.0 (Non-Commercial)**
161120- ❌ ** No warranty** : Provided "AS IS"
162121- ❌ ** No liability** : Authors not liable for any damages
163122
164- ### Commercial Licensing
165-
166- For commercial use, contact:
167- - ** Email** : sherifsystems@proton.me
168- - ** GitHub** : https://github.com/SherifSystems
169- - ** Repository** : https://github.com/SherifSystems/Pythonstark
123+ For commercial use, contact: ** sherifsystems@proton.me **
170124
171125See [ LICENSE] ( LICENSE ) for complete terms.
172126
@@ -176,190 +130,24 @@ See [LICENSE](LICENSE) for complete terms.
176130
177131Contributions are welcome for ** non-commercial research and educational purposes** .
178132
179- ### How to Contribute
180-
1811331 . Fork the repository
182- 2 . Create a feature branch: ` git checkout -b feature/your-feature `
183- 3 . Make your changes following coding standards
134+ 2 . Create a feature branch
135+ 3 . Make your changes
1841364 . Test thoroughly
185- 5 . Commit your changes: ` git commit -m 'Add your feature' `
186- 6 . Push to branch: ` git push origin feature/your-feature `
187- 7 . Open a Pull Request
188-
189- ### Contribution Guidelines
190-
191- - ✅ Follow existing code style and structure
192- - ✅ Add documentation for new features
193- - ✅ Include tests for new functionality
194- - ✅ Maintain educational clarity
195- - ✅ Follow the non-commercial license
196-
197- ---
198-
199- ## FAQ
200-
201- ** Q: Can I use this in production?**
202- A: ** NO** . This is educational software and is not secure for production use.
203-
204- ** Q: Is this cryptographically secure?**
205- A: ** NO** . It has not been audited and contains known security limitations.
206-
207- ** Q: Can I use this for my startup/company?**
208- A: Only with a commercial license. Contact us for licensing options.
209-
210- ** Q: Why Python? It's slow!**
211- A: Educational clarity is prioritized over performance. Python makes the code accessible for learners.
212-
213- ** Q: What field is used for the finite field arithmetic?**
214- A: Check the source code in ` pythonstark.py ` for the Goldilocks prime field implementation.
215-
216- ** Q: How large are the proofs?**
217- A: Proof size varies based on security parameters and computation size. Typically several KB for small computations.
218-
219- ** Q: Can I modify the code?**
220- A: Yes! Under the non-commercial license, you can modify for research/education. See [ LICENSE] ( LICENSE ) .
221-
222- ** Q: Does this implement recursive proofs?**
223- A: Not currently. This is planned for future versions.
224-
225- ** Q: What ZK property does this provide?**
226- A: Computational integrity with zero-knowledge. The verifier learns nothing about the input except that the computation was performed correctly.
227-
228- ### Legal Questions
229-
230- ** Q: Can I use this in my country?**
231- A: Check your local cryptographic software regulations. You are responsible for compliance.
232-
233- ** Q: Is this really free?**
234- A: Yes, for non-commercial research and educational use. Commercial use requires a license.
235-
236- ** Q: What if I find a security vulnerability?**
237- A: This is educational software with known limitations. See [ SECURITY.md] ( SECURITY.md ) for our security policy.
137+ 5 . Submit a Pull Request
238138
239139---
240140
241- ## Acknowledgments
242-
243- ### Inspiration and References
244-
245- - ** STARK Protocol** : Based on research by Eli Ben-Sasson et al.
246- - ** ZK-STARK Papers** : Academic research on scalable zero-knowledge proofs
247- - ** FRI Protocol** : Fast Reed-Solomon Interactive Oracle Proofs
248- - ** Verkle Trees** : Efficient vector commitment schemes
249-
250- ### Contributors
251-
252- - Developed and maintained by ** SherifSystems**
253- - Contributions from the open-source community
254- - Inspired by the broader ZK research community
255-
256- ### Educational Resources
141+ ## Contact
257142
258- For learning more about ZK-STARKs:
259- - ** StarkWare Blog** : https://medium.com/starkware
260- - ** STARK Paper** : "Scalable, transparent, and post-quantum secure computational integrity" (Ben-Sasson et al.)
261- - ** ZK Learning Resources** : https://zkp.science/
262-
263- ---
264-
265- ## Support and Contact
266-
267- ### Getting Help
268-
269- - ** Documentation** : Read this README and [ SECURITY.md] ( SECURITY.md )
270- - ** Issues** : Open an issue on GitHub for bugs or questions
271- - ** Discussions** : Use GitHub Discussions for conceptual questions
272-
273- ### Contact Information
274-
275- - ** GitHub** : https://github.com/SherifSystems
276- - ** Repository** : https://github.com/SherifSystems/Pythonstark
143+ - ** GitHub** : https://github.com/SherifSystems/Pythonstark
277144- ** Email** : sherifsystems@proton.me
278-
279- ### Reporting Issues
280-
281- When reporting issues, please include:
282- - Python version
283- - Operating system
284- - Full error message
285- - Steps to reproduce
286- - Expected vs actual behavior
287-
288- ---
289-
290- ## Citation
291-
292- If you use PythonStark in academic research, please cite:
293-
294- ``` bibtex
295- @software{pythonstark2025,
296- author = {SherifSystems},
297- title = {PythonStark: Pure Python ZK-STARK Implementation},
298- year = {2025},
299- url = {https://github.com/SherifSystems/Pythonstark},
300- note = {Educational implementation of ZK-STARK protocol}
301- }
302- ```
303-
304- ---
305-
306- ## Disclaimer
307-
308- ** BY USING THIS SOFTWARE, YOU ACKNOWLEDGE AND AGREE** :
309-
310- 1 . ✅ This software is for ** EDUCATIONAL AND RESEARCH PURPOSES ONLY**
311- 2 . ✅ It is ** NOT SECURE** for production or security-critical use
312- 3 . ✅ It has ** NOT BEEN AUDITED** by security professionals
313- 4 . ✅ You ** ACCEPT ALL RISKS** associated with using this software
314- 5 . ✅ Authors provide ** NO WARRANTIES OR GUARANTEES**
315- 6 . ✅ Authors are ** NOT LIABLE** for any damages or losses
316- 7 . ✅ You are ** RESPONSIBLE FOR COMPLIANCE** with applicable laws
317- 8 . ✅ You will ** NOT USE** for prohibited purposes (see LICENSE)
318-
319- ** IF YOU DO NOT AGREE, DO NOT USE THIS SOFTWARE.**
320-
321- See [ LICENSE] ( LICENSE ) for complete legal terms.
322- See [ SECURITY.md] ( SECURITY.md ) for security disclosures.
323-
324- ---
325-
326- ## Version
327-
328- ** Current Version** : 1.0
329- ** Last Updated** : November 27, 2025
330- ** Status** : Active Development
331-
332- ---
333-
334- ## Additional Resources
335-
336- ### Learn More About ZK-STARKs
337-
338- - ** StarkWare Resources** : https://starkware.co/developers/
339- - ** ZK Learning** : https://zkhack.dev/
340- - ** Academic Papers** : Search for "ZK-STARK" on eprint.iacr.org
341-
342- ### Related Projects
343-
344- - ** zkSNARKs** : Different ZK proof system (trusted setup required)
345- - ** Bulletproofs** : Range proofs without trusted setup
346- - ** Plonk** : Universal ZK-SNARKs
347-
348- ### Community
349-
350- - ** ZK Research Forum** : https://zkresear.ch/
351- - ** Ethereum ZK Community** : Active research on ZK rollups
145+ - ** Issues** : Use GitHub Issues for bugs and questions
352146
353147---
354148
355149** Remember** : PythonStark is a learning tool. For production needs, use professionally audited, battle-tested libraries.
356150
357- ---
358-
359- <div align =" center " >
360-
361- ** Made with ❤️ for the ZK research and education community**
362-
363151⭐ Star this repo if you find it useful for learning!
364152
365153</div >
0 commit comments