distributed_systems_MIT/lec20

lec20

dz / distributed_systems_MIT / lec20

Summary

Lecture 19: Blockstack

Node Tree

Nodes

blockstack
content blockstack
children non_crypto_blockchain, possible_fixes, what_goes_wrong, bitcoin, blockstack_browser, build_public_key_infrastructure, convenient_programmers, decentralized, fees_for_name_reg, fork_detection, gaia_servers, naming

non_crypto_blockchain
content non-cryptocurrency use of blockchain
parents blockstack

build_public_key_infrastructure
content How to build a naming / public key infrastructure?
parents blockstack

decentralized
content decentralized
children remove_decentralized, arch, current_websites (vs)
parents naming_props, blockstack

arch
content Architecture
children app_code_runs_client, cloud_storage
parents decentralized

current_websites
content current websites
children snooping, interface_website_browsers, little_control_data
parents decentralized

little_control_data
content not much control over data websites get to see
children snooping
parents current_websites

snooping
content snooping
parents little_control_data, current_websites

interface_website_browsers
content Main interface is between entire website and browsers
children storage_instead_of_html (vs)
parents current_websites

app_code_runs_client
content Application code runs on client
parents arch

cloud_storage
content Cloud storage system to store data
children storage_instead_of_html, trust_storage_service, apps_read_allowed_data, encrypted_data_cloud
parents arch

storage_instead_of_html
content Storage interface is main interface instead of HTML
children needs_access_control_permissions
parents cloud_storage, interface_website_browsers

needs_access_control_permissions
content Needs reasonably powerful access control and permissions.
children subsidiary_permissions
parents storage_instead_of_html

apps_read_allowed_data
content Applications read data they are allowed to read
parents cloud_storage

subsidiary_permissions
content Subsidiary Permissions
parents needs_access_control_permissions

encrypted_data_cloud
content Encrypted data on the cloud
parents cloud_storage

what_goes_wrong
content What goes wrong?
children some_data_not_user_owned, brittle, enforce_shared_data_some_users, less_flexible_db
parents blockstack

some_data_not_user_owned
content Some data not owned by users
children reddit (example), ebay (example)
parents what_goes_wrong

reddit
content Reddit front page
parents some_data_not_user_owned

ebay
content ebay bidding (would reveal bid)
parents some_data_not_user_owned

less_flexible_db
content Less flexible than database
parents what_goes_wrong

enforce_shared_data_some_users
content How to enforce data to only some users?
children complex_multiuser
parents what_goes_wrong

complex_multiuser
content Complex multi-user app: cryptography becomes hard to use
parents enforce_shared_data_some_users

naming
content naming
children naming_props, usernames (specifically, names for humans, usernames), PKI, map_location, map_public_key
parents blockstack

usernames
content Usernames, human users
parents naming

map_location
content Map names to data location
children map_public_key (related)
parents naming

map_public_key
content Map names to public key
children ACL
parents naming, map_location

ACL
content ACL: access control list
parents map_public_key

PKI
content PKI: public key infrastructure
parents naming

unique
content Unique (Global Meaning)
parents naming_props

naming_props
content Ideal Naming Properties
children unique, zuko_trianlge_property (AKA), bitcoin_transaction_log (implementation of these properties), decentralized, human_readable
parents naming

human_readable
content Human Readale
children bigger_system_readable_less_valuable, deceptive_defective
parents naming_props

bitcoin_transaction_log
content Uses bitcoins single ordered log of transcations
children naming_reservation, naming_on_bitcoin
parents naming_props, bitcoin

naming_on_bitcoin
content Naming on bitcoin
parents bitcoin_transaction_log

naming_reservation
content Naming Reservation
children fees_for_name_reg, first_come_first_serve
parents bitcoin_transaction_log

first_come_first_serve
content First come, first serve
parents naming_reservation

zuko_trianlge_property
content Zukos Triangle Property
parents naming_props

bigger_system_readable_less_valuable
content The bigger the system, the less valuable human readable property is
children remove_readable, deceptive_defective
parents human_readable

deceptive_defective
content Can be deceptive, defective
children how_to_find_names
parents bigger_system_readable_less_valuable, human_readable

possible_fixes
content Possible Fixes
children remove_decentralized, remove_readable
parents blockstack

remove_readable
content Remove Human readble property, just use keys
parents possible_fixes, bigger_system_readable_less_valuable

remove_decentralized
content Remove decentralized aspect
parents possible_fixes, decentralized

fork_detection
content Fork detection on name servers
parents blockstack

how_to_find_names
content How to find names? (name lookup)
parents deceptive_defective

blockstack_browser
content Blockstack browser
children per_app_private_key, manages_master_privkey (description)
parents blockstack

gaia_servers
content GAIA servers
parents blockstack

per_app_private_key
content Per-app private key
parents blockstack_browser

manages_master_privkey
content Manages masters private key
parents blockstack_browser

fees_for_name_reg
content Require frees for name registration as deterrant against malicious use.
children fees_prevent_abuse
parents blockstack, naming_reservation

brittle
content Brittle (from user standpoint): no way to retrieve key if lost.
parents what_goes_wrong

is_bitcoin_needed
content Does it need to use bitcoin?
children cert_transparency_instead
parents bitcoin

bitcoin
content bitcoin
children bitcoin_transaction_log, is_bitcoin_needed
parents blockstack

cert_transparency_instead
content Use certificate transparency instead to enforce adequate rules about naming?
children ownership_conflicts, probably_not, fees_prevent_abuse
parents is_bitcoin_needed

probably_not
content Guess: probably not
children ownership_conflicts
parents cert_transparency_instead

ownership_conflicts
content Doesn't resolve ownership conflicts
parents probably_not, cert_transparency_instead

fees_prevent_abuse
content Fees important for preventing abuse
parents fees_for_name_reg, cert_transparency_instead

convenient_programmers
content Convenient for programmers?
children more_difficult
parents blockstack

more_difficult
content A lot more difficult
parents convenient_programmers

trust_storage_service
content Have to trust storage service to store data correctly
parents cloud_storage