-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Minor touches to overview and value prop #3
Open
cygnusv
wants to merge
4
commits into
main
Choose a base branch
from
david-1
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,27 @@ | ||
# What is TACo? | ||
|
||
TACo is a plug-in service that enables the safe sharing of private or sensitive data within Web3 applications. Private data is encrypted by a data owner and remains encrypted until it reaches the device of a recipient. From a privacy point of view, it is comparable to the end-to-end encryption that a mobile messaging service like Signal offers.  | ||
TACo is a plug-in service that enables the safe sharing of private or sensitive data within Web3 applications. | ||
Private data is encrypted by a data producer and remains encrypted until it reaches the device of a recipient. | ||
From a privacy point of view, it is comparable to the end-to-end encryption that a mobile messaging service like Signal offers. | ||
|
||
Whether or not a recipient qualifies to see a given piece of data depends on whether they are able to show that they fulfill certain conditions. These conditions are chosen in advance by the owner of that data, and often (but not exclusively) involve holding a special-purpose NFT.  | ||
Whether or not a recipient qualifies to see a given piece of data depends on whether they are able to show that they fulfill certain conditions. | ||
These conditions are chosen in advance by the producer of the encrypted data, and often (but not exclusively) involve holding a special-purpose NFT. | ||
|
||
Here are some real-world examples of TACo in action: \ | ||
\ | ||
_(1) A graphic novelist wants to sell her work as a digital product, and include some bonus pages for those who pay a little more. She paywalls access to the main novel using NFT-A, and the bonus material with NFT-B._  | ||
_(1) A graphic novelist wants to sell her work as a digital product, and include some bonus pages for those who pay a little more. | ||
She paywalls access to the main novel using NFT-A, and the bonus material with NFT-B._ | ||
|
||
_Those who buy the NFT-A are able to see the main part of the novel, and those who buy and hold both NFTs A & B are able to view the entire thing. Actually, anyone can download the novel in encrypted form, but without one of the two NFTs it can't be decrypted and is therefore useless._ \ | ||
_Those who buy the NFT-A are able to see the main part of the novel, and those who buy and hold both NFTs A & B are able to view the entire thing. | ||
Actually, anyone can download the novel in encrypted form, but without one of the two NFTs it can't be decrypted and is therefore useless._ \ | ||
\ | ||
_(2) A game developer wants to include a special map in their latest version for players who downloaded the original game in 2021, as a thanks for those who helped support the game studio in its early days._  | ||
_(2) A game developer wants to include a special map in their latest version for players who downloaded the original game in 2021, as a thanks for those who helped support the game studio in its early days._ | ||
|
||
_They encrypt the map build file and link it to two conditions; (i) that the player holds an NFT in their wallet that they would have received when they originally purchased the game, and (ii) that the player held this NFT before January 1st 2022. In this case, just holding the NFT is not enough to access the special map._  | ||
_They encrypt the map build file and link it to two conditions; (i) that the player holds an NFT in their wallet that they would have received when they originally purchased the game, and (ii) that the player held this NFT before January 1st 2022. | ||
In this case, just holding the NFT is not enough to access the special map._ | ||
|
||
In both these cases, the person (or device) trying to see the private data (the graphic novel and the game map) has to prove to the Threshold network that they are supposed to have access. More specifically, they have to contact a group of Threshold nodes running TACo software, and prove to them that they hold the correct NFTs – and satisfy any other specified conditions, like having held them for a certain time.  | ||
In both these cases, the person (or device) trying to see the private data (the graphic novel and the game map) has to prove to the Threshold network that they are supposed to have access. | ||
More specifically, they have to contact a group of Threshold nodes running TACo software that [holds a distributed key](../key-concepts.md), and prove to them that they hold the correct NFTs – and satisfy any other specified conditions, like having held them for a certain time. | ||
|
||
If a sufficient number of nodes confirm that the requesting person/device qualifies to see the data, they will send them some key fragments. These fragments can be put together by the requestor on their device, which produces a decrypting key. This decrypting key can then be used to decrypt the original private data. | ||
If a sufficient number of nodes confirm that the requesting person/device qualifies to see the data, they will reply with some decryption fragments. | ||
These fragments can be put together by the requestor on their device to decrypt the original private data. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,22 +1,25 @@ | ||
# Value Propositions | ||
|
||
### TACo is a programmable access control plug-in that makes your Web3 app more secure, more private, and much more decentralized.  | ||
### TACo is a programmable access control plug-in that makes your Web3 app more secure, more private, and much more decentralized. | ||
|
||
**End-to-end encryption for everything**\ | ||
Built on the privacy-for-everyone principles of mainstream end-to-end encrypted messengers, but useful across a wider set of domains and use cases. Everything from live-streaming to connected vehicles, from secret recovery to decentralized AI compute, from journalist protection to reproductive health care.  | ||
Built on the privacy-for-everyone principles of mainstream end-to-end encrypted messengers, but useful across a wider set of domains and use cases. | ||
Everything from live-streaming to connected vehicles, from secret recovery to decentralized AI compute, from journalist protection to health care. | ||
|
||
**Trust-minimization via threshold cryptography and a collusion-resistant node array**\ | ||
Key material management and access condition verification are operationally distributed across a diverse array of machines/servers, run by economically independent individuals and commercial entities.  | ||
Key material management and access condition verification are operationally distributed across a diverse array of machines/servers, run by economically independent individuals and commercial entities. | ||
|
||
**Powerful, per-ciphertext conditionality**\ | ||
Future access to data can be made contingent on the fulfillment of predefined conditions, and those conditions attached to any granularity of data payload – a single message, an entire table, or a petabyte of video footage.  | ||
**Powerful, per-payload conditionality**\ | ||
Future access to data can be made contingent on the fulfillment of predefined conditions, and those conditions attached to any granularity of data payload – a single message, an entire table, or a petabyte of video footage. | ||
|
||
**Flexible condition composability**\ | ||
Conditions of all types – NFT-holding, RPC, time-based, known keypairs – can be mixed-and-matched using logical operators and flexible prefix notation into virtually any desired combination. Conditions can also be flexibly surfaced at different stages of runtime.  | ||
Conditions of all types – NFT-holding, RPC, time-based, known keypairs – can be mixed-and-matched using logical operators and flexible prefix notation into virtually any desired combination. | ||
Conditions can also be flexibly surfaced at different stages of runtime. | ||
|
||
**Full control over access managers & network parameters**\ | ||
Developers have total and perpetual control over the cohort(s) of nodes which manage access to a given data payload, user segment or entire application. Network parameters, such as the size or composition of the cohort, can be tuned directly by the developer, or packaged into user-facing optionality to accommodate diverse risk preferences.\ | ||
_Note: parameter tuning will be available in future versions of TACo._  | ||
Network parameters, such as the size or composition of the cohort of nodes which manage access to a given data payload, can be tuned directly by the developer, or packaged into user-facing optionality to accommodate diverse risk preferences. | ||
_Note: parameter tuning will be available in future versions of TACo._ | ||
|
||
**Threshold's track record for uptime, reliability and competence**\ | ||
The Threshold network's multi-app model incentivizes all TACo nodes to simultaneously provision service to tBTC, and abide by its strict availability requirements. With over [$130m](https://dune.com/threshold/tbtc) in TVL protected by Threshold nodes, TACo 'piggybacks' on tBTC's uptime, reliability, technical competence, and security track record.  | ||
The Threshold network's multi-app model incentivizes all TACo nodes to simultaneously provision service to tBTC, and abide by its strict availability requirements. | ||
With over [$200m](https://dune.com/threshold/tbtc) in TVL protected by Threshold nodes, TACo 'piggybacks' on tBTC's uptime, reliability, technical competence, and security track record. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should we make this more evergreen so we don't need to update the number periodically? For example: |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As commented in #2 - we should also investigate gitbook settings since subsequent edits made from the UI may re-introduce the removed characters / remove the modified line breaks in this PR.