Skip to content

Commit 0ab1dc2

Browse files
committed
add a few tags, add gitignore
1 parent e3fa2a1 commit 0ab1dc2

4 files changed

+7
-3
lines changed

.gitignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,7 @@ org/private/
1515
/.emacs.d
1616
/content/posts
1717
.env
18-
/static/ox-hugo
18+
.env.decrypted
19+
/static/ox-hugo
20+
ltximg/
21+
*.organice-bak

org/20210312194030-sigma_bullets.org

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
:ID: 26a82b36-e049-470a-8f20-6b58cc7d2ba1
33
:END:
44
#+title: sigma bullets
5-
#+filetags: :zero_knowledge_proofs:
5+
#+filetags: :cryptography:zero_knowledge_proofs:
66
* Introduction
77
This document summarize how a zero-knowledge confidential transaction scheme works and how to implement it. A confidential transaction scheme is a transaction scheme with which the transaction value and the balance of the sender and receiver are encrypted. The zero-knowledge part means that outsider can effectively learn nothing about the values, although he can verify the transaction is not fabricated. The main references are [[https://eprint.iacr.org/2017/1066][Bulletproofs]] and [[https://eprint.iacr.org/2019/191][Zether]]. We use Zether to homomorphically encrypt the transaction value so that the we can directly add/subtract ciphertext of the encrypted balance which can then be decrypted into the correct balance after the transaction. We use bulletproofs to check the transaction value is valid, i.e. it is a non-negative number within the range \([0, 2^n)\), and after the transaction the sender must still have a non-negative balance. The vanilla bulletproofs do not apply to the scenario of zether as Elgamal commitments are not fully homomorphic. We need to tweak bulletproofs to support \(\Sigma\)-protocols, i.e. interactive proof of the values commited in Bulletproofs are truly the values involved in zether, whence we obtain a complete and sound proof of a confidential transaction.
88

org/20210312194409-quine_in_haskell.org

+1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
:ID: 9bec89cb-c17e-44bd-a1b0-c368f7370f09
33
:END:
44
#+title: quine in haskell
5+
#+filetags: :quine:haskell:
56

67
See [[https://blog.matthewbarber.io//2019/07/22/how-to-make-compressed-file-quines.html][How to make compressed file quines, step by step]]
78

org/20220118160327-lowering_async_await_in_rust.org

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
:ID: 2e4ec310-908d-4aee-800e-af631f0967a5
33
:END:
44
#+title: lowering async await in rust
5-
#+filetags: :coroutine:llvm:code_generation:async_programming:rust:
5+
#+filetags: :generator:coroutine:llvm:code_generation:async_programming:rust:
66

77

88
We have a simple program ([[https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=91241061cec74bd633c22789f1ae1196][playground link]]) built with rust's async/await feature.

0 commit comments

Comments
 (0)