Weekly Meeting

There is a weekly videoconference, currently using Jitsi. The server details are available on IRC a few minutes before the meeting.

Who Core developers or interested community members
What Dev Topics Meeting
When Tuesdays 16:00Z-18:00Z (in summer. one hour off in winter)
Where Jitsi, IRC fallback
Why Voice/video interaction complements IRC/mailing list
How See Agenda below
IRC join channel "#tahoe-lafs" on (port 6697 for TLS)

(Z "Zulu" time refers to UTC; check where you are, but the meeting is tied to civil time, not UTC, so when the various countries all switch to/from DST, the meeting's UTC time changes)

Old agendas are posted here for the historically curious. Recent meetings don't necessarily have as well-defined an agenda set in advance. Please feel free to suggest items for discussion via any communications channel.

We usually meet in (but open to other Jitsi hosts or different video+voice services).

Notes from 2024 Meetings

April 9, 2024

attendees: meejah, hacklschorsch, ccx, chris, b3n

hacklschorsch: macbook, trying to ... do haskell stuff? (GHC 8.6 works?) so trying to get Obsidian / Obelisk working on\

mac (to be able to build "the mobile GUI"

(meejah provides quick overview of the Haskell Tahoe client stuff we have)

chris / cypher: released Rust library for deterministic RSA keys from BIP32-like words; working towards making one's ow\ n mutable RSA key; some future pairing possibly around the Python API etc.

b3n: working towards Trac removal; need the dump of database + content of folder; "just make a tarball of the trac user\

folder" (plus database dump)

flo: there's "trac-export.db.bz2" served from (which we should _probably_ delete)

b3n: there's "trac-admin auth-copy" which should work

meejah: magic-wormhole release, some haskell magic-wormhole; what about hmac stuff? A not-python version?

chris: yeah .. thinking of ways of facilitating different implementations; tahoe libraries?

ccx: ocamljs exists

flo: can we do a read-only browser client to tahoe-lafs?

-> preserves and syndicate -- #preserves channel on Libera

Nim, syndicate -- original impl was in.

Someone is working on a DBUS-like thing on top of PostmarketOS (Alpine with "stuff for phones"). Pub/sub.

ccx: when thinking of a "lightweight" phone client, something like 9p or something to "a node" (i.e. a real tahoe node)

e.g. do "everything except decryption" on "the node".

meejah: sounds interesting! like a "medium-level" API, something like "please assemble this ciphertext, and give it to \ me" so that the client doesn't reveal the "full capability", it stays on the phone.

(some discussion of Web browsers etc)

chris: browser extension, maybe? There's also "sub-source reliability" (??)

ccx: can use browser for some stuff (less-sensitive data, across more people)

meejah: just trying to contextualize a bunch of this stuff, and it's important to understand what is possible (and not \ possible) these days. Agoric has done some thinking around this.

ccx: also

(meejah aside: sandstorm doesn't (didn't) have accounts, really, just email address .. wonder if they still have that?)

ccx: still grieving death of CloudABI -- extension of capsicum to make a unix-link system on top of FreeBSD.

April 2, 2024

attendees: shapr, b3n, cypher, meejah, (hacklschorsch, Ccx)

shapr: more work on haskell tahoe client, maintainer access to hackage, upgrade ghc version, fixing "partial suppor for byte-ranges" -> "full support for byte ranges"

cypher: published the rust key-generation library; looking at convert tahoe's hashutils into rust;

b3n: gitea testing and proof-of-concept, questions about CI, etc

meejah: released magic-folder, more conflict-resolution stuff, GUI experiments,

hacklschorsch: will look into CI minutes from GitLab? dot com; will look into mobile-app upgrade issues

Q: is the tahoe-lafs "hmac" function actually custom? 0x36, 0x5c (we remember it's in some paper, or something)

Q: what happens if minutes run out? can we take advantage of these runners from e.g. self-hosted Gitea?

Q: has anyone tried (not really; interact with if you want to try

March 1st, 2024

attendees: meejah, cypher, shapr

  • Tahoe-LAFS website looks dead
    • move off trac, whatever the cost, or give up and die
  • Tahoe-LAFS needs a killer app
    • safesext?
  • Tahoe-LAFS python codebase is crusty enough for a pastry factory
    • rewrite it in rust?
  • Maybe spritely is the next incarnation of the big ideas behind Tahoe-LAFS?

in the next episode, we discuss trac extraction, spritely goblins, and agoric

February 20, 2024

attendees: meejah, cypher, hacklschorch

  • on PyPI "zero-knowledge-access-pass-authorizer" has only jean-paul as maintainer
  • hacklschorsch, chris don't have access to the repo etc
  • hacklschorsch working on other stuff / not tahoe-lafs
  • (e-tonic?)
  • what does flo want to work on? (maybe in two weeks)
    • mobile stuff
    • research browser stuff
  • "build haskell stuff into webassembly"..?
  • mobile-app
    • talk to plain tahoe servers
    • iOS ("maybe easy if lucky, maybe not")
    • "uploading"
  • hacklschorsch thinks we already don't use ZKAPs at all in the mobile thing (i.e. it speaks just GBS to "normal" tahoe servers)
  • hacklschorsch's plan: in a couple weeks, would like to try to tackle the "mobile app" things (iOS + "no ZKAPs")
  • cypher: gridsync effectively maintenance mode for now? (no clarity on what to do)
  • cypher: do recovery-phrases feature
    • get the rust library going (CI, wheels, ..)
    • tahoe side: how to provide own RSA key to "dircap" WUI (you can do this for "regular mutable file" but not for directories)
    • rust etc
  • meejah: would be good for the BIP39-words thing to be part of the WUI (alongside the "here's a private key" API)
  • h: please update #tahoe-lafs topic about meeting 18:00UTC

February 13, 2024

attendees: meejah, cypher

Updates on what we've been up to.

  • cypher looked at BIP32 Rust library; wants to be on crates, PyPI, python bindings
  • meejah looked at contributed Py2 PR, magic-folder bug (via IRC), magic-folder conflict resolution and some magic-wormhole interface issues (delegated vs. deferred wormhole features)

Some discussion of desired behavior from magic-folder on conflicts.

  • protocol should be general (software can make specific choices). When possible.
  • on new incoming data, prefer to update
    • on existing conflict, update the marker-file with the new content
    • if new conflict, download add to content marker (even if file is 'already' conflicted with different participant)

Cypher will file a bug identifying issues with the "read-only" option for joining folders (docs missing, behavior seems wrong: it's not actually optional)

February 6, 2024

attendees: meejah, cypher

Open-ended discussion / brainstorming about:

  • aspects of magic-folder conflict resolution (for >2 party conflicts).
  • very broad outline of work required to be able to specify keys for mutable directories
  • general next steps for both of the above:
    • chris will be looking into Rust library + Python bindings for BIP39 -> key transforms
    • meejah working through test-cases for magic-folder conflict resolution
    • medium-term: Gridsync / UX for above

January 30, 2024

attendees: meejah, ccx, hackleschorsh, chris

  • discussed current and future work (i.e. what people are working on now and what they want to work on in future)
  • meejah: familiarizing with magic-wormhole and magic-folders so a new release can be produced; reviews and bug-fixes related to 1.19.0 release bugs (cbor2, ...)
  • chris: will likely be looking at "recovery phrases" soon (so one can specify the private-key for a mutable using BIP39 style words)
  • ccx: interested in share-placement, especially related to "repair"
  • hackleschorsch: interested in packaging
  • some (re-)discussion of self-hosting / moving from Trac instance to something else (e.g. sourcehut, forgejo, gitea, gitlab, ...)
  • clarity around timing of this meeting (including a calendar file somewhere, e.g. on this wiki). (we actually started at 1800UTC today, which works for these attendees)

Historical Content

Agenda for next meeting (30-Aug-2016)

  • tor/i2p client support landed! #2788, #517
  • #2816 (disable listener): are folks comfortable with the syntax?
  • #1010 (anonymous mode): discuss the proposed semantics
  • discuss what other anonymity code needs to land before release: #1942, #2384, #2490 (create-node/create-client CLI args), #2773 (create-node --port/--location/--hostname)
  • #2815 (document manual config of .onion server)
  • at what point can we close #517?
  • multi-introducer: can we just use tahoe.cfg introducer.petname1.furl= lines?
  • #68 (introless): can we just omit introducer.furl= ?
  • check in with Daira on status of cloud-backend branch
  • Science Hour: agoric-mode tahoe grid: minimum BTC/ETH txn fees limits number of payment relationships: discuss

Other Stuff

We switch chat tools every few months, in an attempt to overcome performance problems. Tools we've used:

Most require a browser extension to enable screensharing.

We frequently keep notes on an etherpad, the URL for which is posted at the start of the meeting. Patrick McDonald? turns these notes into the Tahoe Weekly News.

Other resources that usually get referenced during the course of the meeting:

Proposed Future Topics

  • #1382 #1382 #1382 and #1382; It is almost done. Is it done? Maybe we need one more round of code review‽ Can we merge it?
  • #2125 (amiller wants to work on it)
  • do code-review on the tickets that already have patches written for them! Milestone 1.11.0
  • POSSIBLE AGENDA ITEM: Tahoe-LAFS over I2P, Tor, and/or cjdns by Twisted Endpoints (pycryptopp #203) because exists now!
  • POSSIBLE AGENDA ITEM: let's do ChaCha20⊕AES (pycryptopp #84 and Tahoe-LAFS #1164).
  • Noether status report by Daira ("TESLA COILS AND CORPSES")
  • Rainhill design review which Daira will distribute; call for outside crypto expert reviewers ("TESLA COILS AND CORPSES")
  • Proof-of-Retrievability In The Presence Adaptive Adversaries by Zooko ("TESLA COILS AND CORPSES")
  • Awesome Generalized Authenticated Data Structures, Part 2 by Andrew ("TESLA COILS AND CORPSES")
  • Awesome Generalized Cryptocurrencies, Part 2 by Brian ("TESLA COILS AND CORPSES")

Notes / Archives


  • foolscap, I2P, IPv6, Tor, Twisted endpoints, HTTP transport, HTTP/2



  • 1.11.0 release blockers, including #1382



  • post-Tahoe-LAFS/new-PetMail/"FireFoxTahoeThing" ideas from Brian Warner, about how to do introduction, sharing, and garbage-collection.



  • ("NUTS AND BOLTS"): #1382



  • ("NUTS AND BOLTS"): #1382



  • ("NUTS AND BOLTS"): #1382






tests of packaging

#2049, #2050

publish buildbot config


tests of packaging:

  • pip install allmydata-tahoe (currently fails due to Nevow bug #XXX )
  • python install (currently doesn't install deps) (ticket #XXX )
  • the tests from the old buildmaster and from the old misc/build_helpers/test*.py




  • ("NUTS AND BOLTS"): code-review on the tickets that already have patches written for them! Milestone 1.11.0


  • ("NUTS AND BOLTS"): Agenda: Planning for Tahoe-LAFS v1.11 release!

What will be new in Tahoe-LAFS v1.11? Here is the list of v1.11 tickets already closed: Here is the list of v1.11 tickets awaiting code review.

video recording!



  • ("NUTS AND BOLTS"): Agenda: I2P, v1.11 release, Mark's tickets



  • ("NUTS AND BOLTS"): Agenda: GSoC, #1870, Buildbot





  • ("NUTS AND BOLTS"): Agenda: GSoC, #1382



  • ("NUTS AND BOLTS"): Agenda: Tahoe-LAFS v1.11 ticket triage



  • ("NUTS AND BOLTS"): Agenda: "Mark Berger's improvements to immutable peer selection"



  • ("NUTS AND BOLTS"): Agenda: "Mark Berger's improvements to immutable peer selection"



  • ("NUTS AND BOLTS"): Agenda: "Write some patches for Tahoe-LAFS v1.11!"

(I can't remember whether we actually followed the agenda.)


  • ("TESLA COILS AND CORPSES"): Agenda: "Post-LAFS: What would you invent (or are you inventing) now that you already understand Tahoe-LAFS? Possibilities: LDMF (fancier authenticated data structures), Brian's secret file-sharing project within Mozilla, BitTorrent Sync, saying 'Okay, storage is good enough, let's work on decentralized currencies/payment-systems instead.'"

Actual topic turned out to be "Post-Bitcoin" instead.



  • ("NUTS AND BOLTS"): Google Summer of Code project planning



  • ("TESLA COILS AND CORPSES"): Andrew Miller: "type-directed security definitions for generic authenticated data structures"



  • ("NUTS AND BOLTS"): IPv6 and tests thereof



  • ("NUTS AND BOLTS"): Tahoe-LAFS v1.10 patches; 1.10.0, contribute patches, tests, docs, or comments.


  • ("NUTS AND BOLTS"): Tahoe-LAFS v1.10 patches; 1.10.0, contribute patches, tests, docs, or comments.



  • ("TESLA COILS AND CORPSES"): (attempt number 3) Iraklis's research in applying Ristenpart's Message-Locked Encryption to LAFS. This requires extending the model of Message-Locked Encryption, and it suggests interesting directions for future extensions of LAFS.



  • ("TESLA COILS AND CORPSES"): (attempt number 2) Iraklis's research in applying Ristenpart's Message-Locked Encryption to LAFS. This requires extending the model of Message-Locked Encryption, and it suggests interesting directions for future extensions of LAFS.


  • ("TESLA COILS AND CORPSES"): Iraklis's research in applying Ristenpart's Message-Locked Encryption to LAFS. This requires extending the model of Message-Locked Encryption, and it suggests interesting directions for future extensions of LAFS.



[some weekly hangouts were skipped due to travel]


  • ("NUTS AND BOLTS"): Tahoe-LAFS v1.10


  • ("NUTS AND BOLTS"): documentation and internationalization
  • ("NUTS AND BOLTS"): Tahoe-LAFS v1.10
  • ("TESLA COILS AND CORPSES"): new secure hash function



  • ("TESLA COILS AND CORPSES"): Proofs-of-Retrievability!



  • ("NUTS AND BOLTS"): documentation
  • ("TESLA COILS AND CORPSES"): distributed introduction, defense against rollback attack



  • ("NUTS AND BOLTS"): work on Tahoe-LAFS v1.10 tickets!



  • ("TESLA COILS AND CORPSES"): async notifications

What a lot of people really want is an alternative to Dropbox — something that functions very like Dropbox but without exposing your plaintext to spying and corruption. David-Sarah implemented a part of this with the drop-upload feature. It seems to me that the blocker which prevents Tahoe-LAFS from doing the rest of it is that LAFS clients have no way to get an asynchronous notification that a file has changed (i.e., so that they don't have to poll to find out if the file has changed). So: could we add that? Why not just define a remote interface offered by LAFS clients to LAFS servers. The remote interface is "hey_you_this_file_has_changed(storageindex)".



  • #1240; Is it done? (I think it still needs fixed tests.) Can we commit it to trunk and be done with it? Do we need to merge it with #1679?
  • #1679; Let's write a test for it! Has The Dod had continuous good service since he applied the patch? Has nejucomo tried reproducing his bug and applying the patch?


("TESLA COILS AND CORPSES"): Garbage collection: use cases and protocols;

  • #1832 (support indefinite leases with garbage collection)
  • #1833 (storage server deletes garbage shares itself instead of waiting for crawler to notice them)
  • #1834 (stop using share crawler for anything except constructing a leasedb)
  • #1835 (stop grovelling the whole storage backend looking for externally-added shares to add a lease to)
  • #1836 (use leasedb (not crawler) to figure out how many shares you have and how many bytes)
  • #1837 (remove the "override lease duration" feature)

And the associated mailing list thread.


Topics: Ticket #1240, Tahoe-LAFS birthday party, future agendas.

Attendees: Zooko, David-Sarah, amiller, ambimorph, nejucomo.

Concise summary:

  • #1240 debug session - Incorrect caching logic suspected.
  • Tahoe-LAFS birthday party - Saturday, 2012-10-27 at 23:00z - Each locale connects with a projector + google hangout.
  • Future agendas - next week, Proof of Retrievability paper review; two weeks out, Rainhill review with outside crypto reviewers.

Finely detailed notes in MeetingNotes_2012_10_23


Topics: Proof-of-Retrievability

Attendees: Zooko, David-Sarah, nejucomo

From IRC, Zooko summarizes (edited for spelling):

  1. "The reason we can do better than the previous state of the art is that we've expanded the setting to multiple servers and multiple clients, which opens up new defenses for the good guys against Ponda Baba."
  2. "It is useful way to think, to start with the completely safe camouflaged download protocol: just run your normal verifier, but tell it to save what it gets, and then to talk about how to make it faster without breaking camouflage."
  3. "There are two dimensions of how you might be able to make it faster: the dimension of multiple downloader/verifiers and the dimension of multiple servers."
Last modified at 2024-04-09T19:12:43Z Last modified on 2024-04-09T19:12:43Z