Skip to content

Make a conceptual map of the Cambrian Explosion of contact tracing systems. #61

@hdevalence

Description

@hdevalence

Now that there's a semi-stable 0.4 protocol for apps to use while they iterate, I think it's worth trying to focus on what an 0.5 protocol would look like (#56), and I think a good first step to doing that would be doing a survey of the Cambrian explosion of contact tracing protocols and trying to map out the high-level building blocks of each proposal. Having mapped out all of the building blocks, we could try to understand each proposal as combining those building blocks in different ways, and try to synthesize a protocol that combines the best ideas from all of the existing protocols.

For instance, one basic building block could be broadcasting pseudorandom identifiers. Another could be the idea of deriving multiple pseudorandom identifiers from some secret, as is done in TCN 0.4 and the AG protocol. These use different mechanisms, but they have the same goal. Can we write this goal explicitly, and compare the mechanisms for each part? What are the benefits and costs? Another idea is the way that TCN has clients prove in zero knowledge that they generated the identifiers they report. Can we express this goal independently of the mechanism and describe its benefits to compare against its costs? Or, the latest DP3T proposal uses Bloom filters, and there are other ideas in the PACT-E and PACT-W proposals, etc.

After having mapped out these conceptual building blocks independently of the specific mechanisms, we can then express each proposal in terms of composition of a common set of blocks (though the mechanism for each of these blocks may be different for each proposal). And we can then try to create a hybrid of the proposals, first selecting one or more combinations of blocks, and then selecting the best mechanism for each one.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions