Skip to content

Instantly share code, notes, and snippets.

@yamarten
yamarten / hott_intro.asc
Last active April 15, 2024 00:00
HoTT本入門

ホモトピー型理論(HoTT)に入門するために

前置き

HoTTに興味があるCS系の学生が、HoTT本の冒頭を読んだ体験を元に、知っておくと学び易くなりそうな話をまとめてみた。

対象は自分と同じ、型理論は少し知ってる[1]けどホモトピーとかわからんという人。「型理論は知らんけどホモトピー論と圏論の用語はわかる」という人はそのまま読めばいいと思うし、両方ともわからない人は学ぶモチベーションがよくわからない(し、とりあえずどちらかを学んだ方がいいと思う)のでとりあえず無視する。

HoTTについてはさわり程度の知識しかないまま書かれているため、話半分に読んでもらった方がいいと思う。


1. 「依存型に触ったことある」もしくは「TaPLを部分的にでも読んだ」あたりが基準になるだろうか。
@yamarten
yamarten / atproto_terms.asc
Last active March 9, 2024 10:52
独断で選んだatproto用語一覧

ATP用語

用語 別名 意味 出典 備考
@yamarten
yamarten / bsky_link.asc
Last active February 25, 2024 04:45
Bluesky公式系リンク集
@yamarten
yamarten / atproto_federation.asc
Last active February 24, 2024 07:37
atprotoにおけるfederation考察

atprotoにおける「分散」もしくは「フェデレーション」は一意ではない。現状で考えられるアーキテクチャについて妄想してみる。

前提

サーバーの種類

atprotoのfederationにおける登場人物は主に3つ。ユーザー(クライアント)から近い順にPDS・BGS・App Views(appview)の3つ。

詳細は公式ブログ参照。

@yamarten
yamarten / atproto_memo.md
Last active February 15, 2024 16:23
Authenticated Transfer Protocol 覚書

11/13時点のドキュメント準拠

実装はあんまり見ずに、ATPの雰囲気を把握するためのメモ

概観

要素としては以下のような感覚。

  • Repository: 署名つきRDB
  • データ構造がRDB(というか表)という話で、SQL-likeな操作が規定されてるわけではない
@yamarten
yamarten / coq_tools.asc
Last active November 13, 2023 23:02
Coq関連プログラムリンク集
Table of Contents

目についたCoqのライブラリ/プラグイン/開発環境などの覚え書き

実用面は気にせず、研究用や無メンテも載せる

ライブラリ

Coqソースファイルのみで構成されるもの

@yamarten
yamarten / atproto_aniv.asc
Created October 18, 2023 10:20
atprotoの1年間の話

atprotoがやったこと/やっていないこと

10月18日。experimentだったADXが「Authenticated Transfer Protocol」に名を変え正式発表して早一年。特にBlueskySocialが活発に動き出してからのatprotoは色々と変わったことや分かったことがあったので、まとめてみる。

とはいっても「何ができるか」はきっと各所で解説されているので、「何ができていないか」「何をしなくなったか」にフォーカスして、一周年記念らしからぬネガティブな話をする。一年間の道程の概略は本人達がまとめているので、そちらを参照されたい。

解説というより覚書のようなものなので、ある程度プロトコルの中身を知ってる前提。ユーザ視点では「ベータ開始当初の目標は一部未達成で、まだちゃんとベータ」「来年頭に連合開始予定」くらいの認識で良いと思う。

やろうとしていたこと

@yamarten
yamarten / atoroto_handle.asc
Created August 15, 2023 07:31
atprotoハンドルアンチ論

ハンドルアンチの主張

ハンドルアンチを名乗っている割にあんまり具体的な話をしていなかった気がするので、ハンドルという機能が持つ課題を一旦まとめておく。正直に言えば、一時期カスタムハンドルがアカウントの検証手段として過剰に期待されていたことに対する逆張りの気持ちも大いにあるが、それは別として現状のハンドルに対する問題意識を明文化したい。

念の為書いておくと、atprotoの現状理解を整理する一貫として書いているのであって、これらの問題を解決するような仕様変更を求めるつもりはない。

PDSがハンドルを提供しないといけない

あると嬉しいし、PDS的にもあまりコストがかからないのではないかと思うが、必須にはしたくないという話。

@yamarten
yamarten / plc_verify.asc
Created July 29, 2023 11:05
PLCの検証の話

did:plcは何を保証するか

did:plcの仕組みについては良い解説記事があるのでそちらを参照。より詳細な話は公式READMEへ。 これらに対する補足程度に、「なぜこのような仕組みを採っているか」についてメモしておく。

operation log

PLCサーバーはDID毎に全てのoperationを保持しており、外部に提供する。これは単に履歴が追えるとか帳簿をつけているとかいうだけの話ではなく、もっと厳密な検証ができる。

operationはrotation keyの持ち主(通常はPDS)が発行するもので、主に直前のoperationのハッシュとPLCサーバーに対する操作、およびそれに対するrotation keyによる署名が含まれている。rotation keyの公開鍵の登録や変更もoperationによって行うため、operation logを辿っていけば各署名の検証に使うべき鍵も分かる。各operationの署名を検証することでoperationの正当性を、ハッシュを検証することでoperationの連続性を確認できる。

@yamarten
yamarten / atproto_signing.asc
Created March 26, 2023 05:18
ATPの署名の話

atprotoの署名は何を保証するか

atprotoではrepositoryに対して署名を行うが、これによって何が嬉しいのかを考える。

【結論】 大事なrecordを提示する時は署名も示す文化が根付けばメリットはあるが、周知されなければ署名し損 [1]

おさらい

とりあえず以下の2つの仮定をおく。これはかなり強い仮定なのでその影響は別途検討する必要がある。


1. 当然のことを言っているだけのような気もする……