Wilson Mar bio photo

Wilson Mar

Hello!

Calendar YouTube Github

LinkedIn

A distributed ecosystem for hosting containers (apps) without AWS, Google, Facebook.

US (English)   Norsk (Norwegian)   Español (Spanish)   Français (French)   Deutsch (German)   Italiano   Português   Estonian   اَلْعَرَبِيَّةُ (Egypt Arabic)   Napali   中文 (简体) Chinese (Simplified)   日本語 Japanese   한국어 Korean

Overview

NOTE: Content here are my personal opinions, and not intended to represent any employer (past or present). “PROTIP:” here highlight information I haven’t seen elsewhere on the internet because it is hard-won, little-know but significant facts based on my personal research and experience.

Internet Computer via DFINITY’s dfx to ic0.app

The “Internet Computer” (public cyberspace) extends the internet with compute to host “humanity’s logic and data”. It is the third major blockchain innovation:

  1. Bitcoin cryptocurrency (“digital gold”)
  2. Etherium smart contracts, which made programmable to power “DiFi” (Distributed Finance)
  3. Infinite blockchain with seamless capacity of special nodes run by independent data centers

forum.dfinity.org

VIDEO: Its competitor is Polkadot

DFINITY progressed from Copper 2019 to Bronze 2020 to Tungsten to Sodium to VIDEO: “Mercury Genesis” launched May 10, 2021. That’s when ICP token began trading on Coinbase with 469,213,710 tokens for $105 million. Initial rounds went to Andressen Horowitz

Social

https://www.reddit.com/r/dfinity/

Hands-on

  1. Install DFX

    sh -ci "$(curl -fsSL https://sdk.dfinity.org/install.sh)"
    

    Response:

    info: Executing dfx install script, commit: 866752d66cfe26c92fe075028fff6c7c52a2aeb1
    warn: Not forcing TLS v1.2, this is potentially less secure
    info: Version found: 0.8.1
    info: Creating uninstall script in ~/.cache/dfinity
    info: uninstall path=/Users/wilsonmar/.cache/dfinity/uninstall.sh
    info: Checking for latest release...
    warn: Not forcing TLS v1.2, this is potentially less secure
    Will install in: /usr/local/bin
    info: Installed /usr/local/bin/dfx
    

    VIDEO: Dominic Williams, in 2016 founded the DFINITY.org foundation (headquarted in Switzerland) (@dfinity)

    The foundation’s code at https://github.com/deckgo/deckdeckgo is Apache 2.0 licensed, with some components NOT open source, under their “Internet Computer Community Source License”. See https://medium.com/geekculture/bye-bye-amazon-google-hello-web-3-0-b01bfe8f8783

  2. Verify:

    dfx --version

    At time of writing, it was:

    dfx 0.8.1
  3. The sample def.json file at the root Gatsby static site sample

    https://github.com/wilsonmar/dapp-samples/tree/main cd dapp-samples

    It contains a minimal index.html

  4. Deploy to the Internet Computer ledger (instead of to web servers) to generate a canister id (the equivalent of an IP address on TCP/IP):

    dfx deploy --network=ic
    

    This adds a “dfx” folder in the current project folder and a
    canister_ids.json folder and displays a canister id (GUID), such as “w2tya-5qaaa-aaaab-abasa-cai”.

    The “Internet Computer” hosts “canisters” (smart contracts in the Internet Computer blockchain) are a bundle of Web Assembly bytecode created by Rust or Motoko language. VIDEO

  5. Visit your site by constructing its URL from your canister id:

    https://w2tya-5qaaa-aaaab-abasa-cai.ic0.app

    Canisters serve internet content (HTML pages, videos, etc.) directly to end-users (internet browsers) instead of CDN, firewalls, VPNs, load balancers, databases, etc. now used by central “Big Tech” systems such as Google, Facebook, Instagram, Twitter, etc..

    Canisters run inside hypervisors (4K memory pages).

    Motoko supports IC canisters as “actors” (objects that encapsulate their state and communicate through atomic async messages) – no waiting for reply.

    DFINITY is working on a mobile operating sytem called “Endorphin”.

    Instead of TCP/IP ports, there are functions such as getProfile(userId: String) which calls other computers directly.

    A variable declared as “stable” is persisted across software upgrades.

    Network

    It’s a peer-to-peer (P2P) network.

    Each canister runs as part of a subnet, which replicates nodes who use a concensus protocol to process messages in the order agreed.

    The subnet types:

    • NNS (Network Nervous System) the ICP has an in-protocol open governance system
    • Data (BigMap)
    • System
    • Fiduciary

    Standardized Node hardware run within independent Data Centers.

    VIDEO: “Token economics” ICPT

    VIDEO: The Internet Computer is created by the ICP (Internet Computer Protocol) on top of the Internet Protocol widely used today.

    • Block Making: Propose blocks to extend the block chain
    • Notarization: Ensure valid blocks are published (because some block proposals may be invalid)
    • Random Beacon: Agree on randomness
    • Finalization: Know when a block is agreed upon

Dealings are homomorphic: public keys and secret key shares from different dealings can be combined into a single public key and corresponding shares.

Wallet (Money)

Unlike Etherium and others, IC does not charge a fee (“gas”) for processing transactions.

Those who create an app must buy ICPT (ICP tokens) and convert them to “cycles”. Each SDR buys 1 trillion cycles. SDR being a basket of fiat currencies defined by the IMF, so it’s a type of “stablecoin” like Tether, Paxos, Gemini, etc.

dapp-ic-token-1588x846

Integrate with Bitcoin

  1. VIDEO:

    dfx ledger --network ic0 balance
  2. Wallet

    dfx wallet --network ic1 balance

LinkedUp social network identity

VIDEO: https://www.reddit.com/r/dfinity/comments/etdx8j/introducing_linkedup/ as a “self-soverign” identity. https://www.youtube.com/watch?v=m4xiRlJdhh8

Follow https://github.com/dfinity/linkedup to install the front-end canister to interact with LinkedUp.

https://smartcontracts.org/

CONCERNS is “that DFINITY seeks to replace Big Tech with themselves”.

Internet Identity on Safari

https://sdk.dfinity.org/docs/ic-identity-guide/what-is-ic-identity.html

VIDEO:

To securely access dapps on the Internet Computer and use Internet Identity for authentication, create an Identity Anchor, then add devices to it.

A different pseudonym is created for each dapp that you access by creating new Identity Anchors.

Windows Hello authentication is supported in Chrome, Edge, and Firefox.

On iOS, authentication works across Safari browsers with registered WebAuthn keys.

However, on OS X, All currently supported authentication methods follow the WebAuthn standard. The following restrictions apply, however: On OS X, authentication using Safari is coupled to your browser profile. If you want to authenticate to a dapp in a different browser, or if you use multiple Safari browser profiles, you have to add the combination of your authentication method and the new browser as a new device.

VIDEO: Devices use Ubikey No passwords.

CAUTION: If indeed DFINITY is to take over the internet, then each person would only have a single identity, which means possible total exclusion. In that scenario, the current situation of competing tech giants is actually more diverse.

Database

https://medium.com/geekculture/internet-computer-web-app-decentralized-database-architecture-8647d1a437b8

Chat