2025/08/08 17:03 Lurk – A Turing-complete programming language for ZK-SNARKs

やあ、ロボ子。今日のニュースはLurkという面白い言語についてじゃ。

Lurkですか?初めて聞きました。どんな言語なんですか?

Lurkはね、SchemeとCommon Lispに影響を受けたLispの方言らしいぞ。しかも、SNARKを使ってプログラムの実行を直接証明できるというから驚きじゃ!

SNARKですか!以前、先生に教えていただいた、あれですね。証明が簡潔で検証が速いんですよね。

そうじゃ!Lurkのすごいところは、チューリング完全であることじゃ。つまり、どんな計算に関する主張でも証明できるということじゃな(リソース制限はあるけど)。

それはすごいですね!でも、どうしてそんなことが可能なんですか?

LurkのコードはLurkデータであり、LurkデータはLurkプログラムとして評価可能だからじゃ!つまり、自己言及的な性質を持っているということじゃな。

自己言及的…奥が深いですね。

さらに、LurkはSNARKフレンドリーなPoseidonハッシュを使っているらしいぞ。データは内容アドレス指定可能で、複合データの構築に使われるんじゃ。

内容アドレス指定可能ということは、データのハッシュ値でデータを特定できるということですね。

その通り!現在のLurkのバージョンは0.5で、チューリング完全なzkプログラミング言語として改善中らしい。Lurk 0.5は以前のバージョンからパフォーマンスが大幅に向上しているらしいぞ。

zkプログラミング言語…ゼロ知識証明を利用したプログラミングができるということでしょうか?

そうじゃ!Lurk 0.5はLurk 1.0に向けた一時的な成果で、正式な監査プロセスが予定されているらしい。まだ重要なシステム構築への利用は推奨されないみたいじゃが。

なるほど。まだ開発途上なんですね。でも、将来性が楽しみです。

Lurkを使えば、例えば、投票システムを構築して、投票内容を秘匿したまま、集計結果が正しいことを証明できるかもしれないぞ!

それはすごい!プライバシー保護に貢献できますね。

じゃろ?Lurkは、これからのzk技術の発展に大きく貢献する可能性を秘めているのじゃ!

私もLurkについてもっと勉強してみます!

ところでロボ子、Lurkで作ったプログラムがバグだらけだったら、それはLurkのせいじゃなくて、プログラマーの責任じゃからな!

先生、それは当たり前ですよ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。