Oliver Terbu
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Joint Comments from ConsenSys, DIF, EEA, … TBD **IETF Version** Comments on SP 800-186 and FIPS 186-5 From https://www.federalregister.gov/documents/2019/10/31/2019-23742/request-for-comments-on-fips-186-5-and-sp-800-186#p-17: [...] “Furthermore, NIST seeks input on the allowed hash functions specified for use with EdDSA.” [...] “NIST also requests comments on the set of recommended and allowed elliptic curves included in draft NIST SP 800-186. In particular, NIST requests feedback on the use of these curves by industry, and industry's need for additional elliptic curve specifications to meet security or customer requirements.” [...] **Comments Close (EEA / HL / W3C / DIF / IETF): 01/17/2020** **Comments Close: 01/29/2020** # Applicable Documents - SP 800-186, Recommendations for Discrete Logarithm-Based Cryptography: Elliptic Curve Domain Parameters: https://csrc.nist.gov/publications/detail/sp/800-186/draft - FIPS 186-5, Digital Signature Standard (DSS): https://csrc.nist.gov/publications/detail/fips/186/5/draft ## Joint Comments to the Applicable Documents by the following Organizations - ConsenSys AG - Decentralized Identity Foundation - Enterprise Ethereum Alliance - TBD: Hyperledger Project of the Linux Foundation - TBD: IETF - TBD: Individual W3C Member Organizations # Executive Summary Since the Bitcoin Genesis block in January 2009, Blockchain and more broadly Distributed Ledger Technology (DLT), has seen exponential growth in its usage and applications. While DLT applications were initially only available on public networks that anyone could join, enterprise applications with their own requirements for security and privacy have become more prominent, and there are now thousands of both public and enterprise projects, directly or indirectly touching the lives of hundreds of millions of people. One of the key technology foundations of DLT is public-key cryptography, in particular elliptic curve cryptography. The most widely adopted elliptic curve in the DLT space by far is secp256k1 and the hash function keccak-256. Unfortunately, neither secp256k1 nor keccak-256, are endorsed in SP 800-186 and FIPS 186-5. This is despite the fact that there are no significant security differences between for example the NIST endorsed secp256r1 and secp256k1 or the sha3-256 hash versus keccak-256. The current decision by NIST will have a significant impact on business in this space. Since any effort to cater to both the large global market for DLT applications based on secp256k1 and keccak-256 and customers who require NIST-compliance in their systems necessitates a far more complex programming effort in order to maintain multiple approaches to the same problem. The likely outcome of the resulting competing business requirements and continued technology uncertainty is increased slower development, reduced and delayed investment, and increased cost in order to reach some level of industry convergence. Furthermore, these developments could lead to either of two undesirable outcomes, market fragmentation into technology silos or technology stack and, consequently, vendor monopolies. Either outcome would lead to higher costs. Most importantly, existing deployments of DLTs based on secp256k1 and keccak-256 already affect hundreds of millions of people, and those currently under development will affect even more, as detailed in the section on Industry Adoption and Impact below. To minimise the damage to innovation and markets caused by the difference between the standards being adopted by the world and those currently endorsed by NIST, we request that NIST include the secp256k1 curve as part of the endorsed ECDSA schemes, and the use of keccak-256 in the secp256k1 signature schemes. ## About secp256k1 and keccak The curve secp256k1 is an elliptic curve of Koblitz type, defined in the Standards for Efficient Cryptography paper [SECG2]. It is currently used together with the ECDSA signature algorithm in order to create digital signatures. Other signature types like Schnorr can also be used with this curve, but these have not been widely deployed. The security of general Koblitz type elliptic curves is covered in [SECG1], and the secp256k1 curve has a security level of 256 bits, which is considered secure. The secp256k1 curve has been used extensively in the blockchain space, starting with the launch of Bitcoin in 2009 and also used as a core feature of Ethereum, which enables applications far beyond cryptocurrency. The security of this curve continues to be relied upon for billions of dollars worth of blockchain transactions daily. The core reference library libsecp256k1 [libsecp256k1] has been tested extensively and has undergone thorough optimizations, which leads to the signature algorithm being very fast. Ethereum uses a hash function called keccak-256 which is used with secp256k1 signatures. This hash function was chosen due to the fact that it was the winner of the SHA3 competition. However the final version of the SHA3 standard included an extra padding byte to the message before applying the keccak hash, which means that the keccak-256 hash function has a different output than the FIPS approved SHA3. The only difference between these functions however is the extra padding of the message. Industry Adoption and Impact Below we will be delineating the extent and importance of the usage of secp256k1 and keccak-256 across all industry verticals by detailing current and expected (2020) usage patterns and user basis for the currently predominant industry verticals and cross-industry functions. ## Decentralized Identity Decentralized identity has the potential to become the first universal digital identity for individuals, legal entities and things. It dramatically increases the user’s privacy while creating new revenue channels for companies and government, and reducing costs for consumers of digital identities. Incubated over a period of years and tested in numerous companies (including Fortune 500) and consortia across many industry verticals around the world, the recently approved W3C Verifiable Credentials standard [W3C.VC] paves the way for major adoption in production systems. We are very pleased that the United States, e.g., NIST [NIST], Department of Homeland Security (DHS) [DHS], recognizes the great value of this new identity management paradigm based on the W3C Verifiable Credentials standard [W3C.VC]. Other governmental and public sector organizations/ initiatives are investing a lot of effort to explore these new technologies, including the European Commission [EC][ESSIF], Spain’s national Alastria network [Alastria], The UK’s Financial Conduct Authority [FCA] and the Government of British Columbia [VONX]. In addition, existing trust anchors such as the Global Legal Entity Identifier Foundation (GLEIF) are partnering with decentralized identity platform providers to issue W3C Verifiable Credentials to legal entities and their corporate officers [GLEIF]. Amongst others, some platforms anchor DIDs on the Ethereum or Quorum network which is based on secp256k1/ keccak-256 cryptography. Generally speaking, secp256k1 is very popular in the decentralized identity community for authentication purposes. For this reason, support for secp256k1 is crucial to stay interoperable in this open standards-driven ecosystem. Many decentralized identity projects use the decentralized and immutable nature of blockchains in order to add integrity protection to decentralized identifiers and their associated public keys. These projects mainly use hash functions SHA2-256, RIPEMD-160 and keccak-256 as hash functions. Without official endorsement public sector applications will not be able to make full use of the above efforts and systems. ## Trade and Supply Chain The trade industry is moving quickly to leverage blockchain for trade finance, shipping and freight, digitization of documents, and maintaining expansive networks. One example of a platform in production leveraging the Ethereum-based Quorum blockchain infrastructure is komgo, a fully decentralized commodity trade finance network. Investors and shareholders of the company include Citi, ING, Credit Agricole CIB, BNP Paribas, Societe Generale, ABN Amro, Macquarie, MUFG, Natixis, Rabobank, Gunvor, Mercuria, Koch, Shell, and SGS, which has already channeled more than $1 billion of financing on the platform. Within supply chain management - retail, manufacturing, and logistics - many companies have begun using blockchain solutions for traceability, transparency, and efficiency in their processes. Treum, which leverages the ethereum blockchain, builds asset and industry agnostic supply chain solutions, including Food, Consumer Products, Oil & Gas, Healthcare, Luxury Goods, Energy, Land, and Art. Companies that have tested supply chain solutions include Glaxo Smith Kline, Proctor and Gamble, Johnson and Johnson, Mars, and many others. ## Financial Services In Deloitte’s 2018 global blockchain survey, which drew responses from 1,053 executives across seven countries, 74 percent reported that their organizations see a “compelling business case” for using blockchain technology. In 2019, JP Morgan created their stable coin, Fidelity launched its digital asset custody service, and aims to roll out a crypto trading service for its clients, State Street Bank is investing in research and development for digital assets, stablecoins, custody, and the USC initiative [the Utility Settlement Coin being developed by bank consortium Fnality. These are a few of the many banks globally working on solutions for capital markets, investment management, payments and remittances, treasury liquidity and foreign exchange, and insurance. ## Government: Access Control and Credential Management The US, UK, Canadian, the United Nations, and International non-governmental organizations such as the World Bank and the Inter-American Development Bank are evaluating the use of decentralized identity solutions for credential management, access control, and track and trace of government issued payments. ## Telecommunication A consortium of global telecommunications carriers comprising roughly 80% of global voice and data traffic is creating a global DLT network in 2020 comprised of several DLT stacks including Enterprise Ethereum which utilizes secp256k1 and keccak-256. The DLT network is to financially settle inter-carrier voice and data transactions of their several billion clients and provide an identity, compliance, and reputation layer for participating carriers and their authorized delegates. Besides improving inter-carrier voice and data-on-demand settlement speeds saving billions of dollars for carriers globally, the applications will allow for the 1st time to introduce carrier reputation, battling global carrier fraud which impacts not only carrier bottom lines globally to the tune of several billion dollars a year but also virtually every telecom customer through dropped or not completed calls. While carrier customers are not directly using secp256k1 and keccak-256, the carriers do so on behalf of their customers during inter-carrier voice and data-on-demand settlements when utilizing voice and data-on-demand settlement solutions. In addition, telecom regulatory authorities around the world are starting to mandate the usage of blockchain/DLT technology in their regulatory frameworks such as the Telecom Regulatory Authority of India (TRAI) mandating the usage of DLT technology to prevent text messaging spam in 2018 [TRAI].This directly impacts over 1 billion Indian mobile customers. In fact, the Tech Mahindra implementation of the Anti-spam TRAI requirement currently reaching about 300 million indian mobile users is based on the Nexledger which is an Ethereum-compatible Blockchain using secp256k1/ keccak-256. ## Mobility Similar to efforts in the telecom industry vertical, there is an effort underway in the mobility industry vertical by members of the Mobility On the Blockchain Initiative (Mobi) to create a global DLT network in 2020 consisting of global vehicle manufacturers such as GM, Ford, BMW, Honda, etc. and vendor organizations such as Accenture as consultancies or Microsoft as product companies. The global DLT network is intended to be comprised of several DLT stacks including Enterprise Ethereum which utilizes secp256k1 and keccak-256. The network will first provide verifiable identities and credentials of vehicles as well as an identity, compliance, and reputation layer for participating carriers and their authorized delegates. This will enable real time registration and verification of vehicles saving billions of dollars in manual processes globally. In addition, the DLT network intends to use utility tokens such as asset-backed stable coins for service payments by a vehicle or tokens issued by municipalities representing access rights for things such as neighborhood parking or congestion pricing.This will require vehicle buyers to use secp256k1 and keccak-256 directly through tokens and indirectly through verifiable vehicles identities and associated credentials. Given that there are over 1.2 billion vehicles globally, 64 million connected cars are to ship in 2019 and mobility IoT services such as Lime, Bird, Ofo or Blue Bike are rapidly increasing in popularity and thus the size of both fleet and customer base at a global level -- Lime reached the 50 million trip mark in significantly less than half the time (~ 2 years) than Uber did -- the DLT network is expected to reach over 100 million vehicle identities and several million token transactions in 2020. ## Consumer Products - Entertainment, Music, Sports, Fashion, CPG and other Retail Endconsumer focused products (B2C or B2B2C) are different to the B2B verticals discussed above because of the very different problems they solve: Customers or Fans of brands demand personalized and unique experiences any time, anywhere, on any device. In addition, we have an increasingly fragmented and saturated advertising landscape which together with siloed customer systems prevents brands from effectively reaching, engaging, and understanding their target audience. New end consumer focused, blockchain enabled solutions such as Sorare, Socios or Kapture are starting to address this need, albeit in very different ways though typically it involves combining several technologies such as Augmented Reality, Machine Learning and Social Media with DLT technologies. With very large brands in different verticals such as Sports -- the NBA, the Los Angeles Dodgers, the Sacramento Kings, Juventus Turin, Manchester United, FC Barcelona -- or Entertainment -- Warner Brothers, Capitol Records -- or retails brands such as Anheuser Busch engaged in this area, the number of consumers directly touched by these products, in particular through social media with influencer marketing, is expected to reach 100M+ in 2020. For example, one anticipated pilot in India around a well-known sports franchise can easily reach a few hundred thousands per mobile media event through social media sharing, and, thus, the pilot could easily engage over a million sports fans. Given that most of the above mentioned end consumer products are built on either Enterprise Ethereum, public Ethereum or Ethereum-like chains, the situation in terms of impact of the usage of secp256k1 and keccak-256 is very similar in terms of impact on end users as for the above mentioned, primarily B2B verticals; in particular mobility, given the required usage of wallets for digital assets such as stable coins, utility tokens, loyalty tokens or digital collectibles. ## Healthcare TBD ## Industry Standards Adoption The following is a non-exhaustive list of standards and specifications that recognize secp256k1: - As a proof algorithm in W3C Verifiable Credentials Standard [W3C.VC] - As a proof algorithm for DID for W3C Decentralized Identifiers [W3C.DID] (future standard) - As the signature algorithm of authenticators in the FIDO 2.0/ W3C WebAuthn Standard [WebAuthn] - Signature algorithm for the COSE/ JOSE family [JOSE] - JSON-LD Linked Data Signature specification based on secp256k1 [JSON-LD] - EEA Ethereum Enterprise Client Specification V4.0 [EEA.Client] - EEA Off-Chain Trusted Compute Specification V1.1 [EEA.TC] - ... ## Independent Implementations The following is a non-exhaustive list of independent cryptography and related libraries with support for secp256k1: - OpenSSL CLI tool and Open Source cryptography library [OpenSSL] - Bouncy Castle cryptography library for JAVA applications [BouncyCastle] - Node.js native cryptography library [Node.Crypto] - Secp256k1 reference implementation in Bitcoin [libsecp256k1] - “jose” which is a Node.js JOSE library [Node.JOSE] - Nimbus JWT library for JAVA applications [Nimbus] - JWT library based on Decentralized Identifiers in JavaScript [DID.JWT] - JSON-LD Linked Data Signatures in JavaScript [JSON-LD.Lib] - … Please note that many of these libraries have significant industry adoption and use. ## Organizations supporting this Letter ### Consensys Web: https://consensys.net/ TBD ### Decentralized Identity Foundation (DIF) Web: https://identity.foundation/ With more than 90 member companies such as Consensys/ uPort, Microsoft, Sovrin, Evernym, IBM, Blockstack, Mastercard, Accenture, Ministry of British Columbia, Workday and many more, DIF sees a lot of adoption of secp256k1 and keccak-256 in the decentralized identity community in the area of authentication, verifiable credentials exchange and more general of proofing control over a DID. Endorsing secp256k1 and keccak-256 officially by FIPS 186-5 and SP 800-186 will allow many decentralized identity solutions to be adopted by the public sector and it will ensure the public sector will be able to interact with decentralized identity applications in the private sector in the future. ### Enterprise Ethereum Alliance (EEA) Web: https://entethalliance.org/ Description: The Enterprise Ethereum Alliance is a member-driven standards organization, with over 120 organizations, whose charter is to develop open, blockchain specifications that drive harmonization and interoperability for businesses and consumers worldwide. The global community of members is made up of leaders, adopters, innovators, developers, and businesses who collaborate to create an open, decentralized web for the benefit of everyone. ### Supporting W3C Member Organizations #### Org1 Web: TBD TBD: Description #### Org2 Web: TBD TBD: Description ### IETF CFRG Web: TBD TBD: Description # References - [SECG1] http://www.secg.org/sec1-v2.pdf - [SECG2] http://www.secg.org/sec2-v2.pdf - [NIST] A Taxonomic Approach to Understanding Emerging Blockchain Identity Management Systems, NIST: https://csrc.nist.gov/publications/detail/white-paper/2019/07/09/a-taxonomic-approach-to-understanding-emerging-blockchain-idms/draft - [DHS] News Release: DHS Awards $198K for Raw Material Import Tracking Using Blockchain, DHS: https://www.dhs.gov/science-and-technology/news/2019/11/08/news-release-dhs-awards-198k-raw-material-import-tracking - [TRAI] Tech Mahindra launched Blockchain solution to curb spam calls in India: https://telecom.economictimes.indiatimes.com/news/tech-mahindra-launched-blockchain-solution-to-curb-spam-calls-in-india/69147376 - [EC] Blockchain and Digital Identity, European Blockchain Observatory and Forum: https://www.eublockchainforum.eu/sites/default/files/report_identity_v0.9.4.pdf?width=1024&height=800&iframe=true - [ESSIF] European Self-Sovereign Identity Framework: https://www.eesc.europa.eu/sites/default/files/files/1._panel_-_daniel_du_seuil.pdf - [GLEIF] https://medium.com/uport/uport-partners-with-the-gleif-network-to-launch-decentralized-corporate-identity-management-2a7a20be3354 - [W3C.VC.UseCase] Verifiable Credentials Use Cases, W3C VC WG: https://www.w3.org/TR/vc-use-cases/#legal-identity - [W3C.VC] Verifiable Credentials Data Model, W3C VC WG: https://www.w3.org/TR/vc-data-model/ - [W3C.DID] Decentralized Identifier Specification, W3C DID WG: https://www.w3.org/TR/did-core/ - [Alastria] Alastria ID: https://alastria.io/en/id-alastria/ - [komgo] What is komgo? | Commodity Trade Finance Meets Blockchain https://www.tradefinanceglobal.com/posts/what-is-komgo-commodity-trade-finance-meets-blockchain/ - [VONX] Verifiable Organizations Network, Government of British Columbia: https://vonx.io/about/ - [FCA] Regulatory sandbox - cohort 5: https://www.fca.org.uk/firms/regulatory-sandbox/cohort-5 - [WebAuthn] Server Requirements and Transport Binding Profile: https://fidoalliance.org/specs/fido-v2.0-rd-20180702/fido-server-v2.0-rd-20180702.html - [JOSE] https://tools.ietf.org/html/draft-ietf-cose-webauthn-algorithms-03 - [EEA.Client] https://entethalliance.org/wp-content/uploads/2019/11/EEA_Enterprise_Ethereum_Client_Specification_V4.pdf - [EEA.TC] https://entethalliance.org/wp-content/uploads/2019/11/EEA_Off-Chain_Trusted_Compute_Specification_v1.1.pdf - [OpenSSL] Command Line Elliptic Curve Operations, OpenSSL: https://wiki.openssl.org/index.php/Command_Line_Elliptic_Curve_Operations - [BouncyCastle] The Legion of the Bouncy Castle: https://www.bouncycastle.org/ - [Node.Crypto] https://nodejs.org/api/crypto.html - [Node.JOSE] https://www.npmjs.com/package/jose - [libsecp256k1] https://github.com/bitcoin-core/secp256k1 - [Nimbus] https://connect2id.com/products/nimbus-jose-jwt/examples/jwt-with-es256k-signature - [DID.JWT] https://github.com/decentralized-identity/did-jwt - [JSON-LD] https://w3c-dvcg.github.io/lds-ecdsa-secp256k1-2019/ - [JSON-LD.Lib] https://github.com/digitalbazaar/jsonld-signatures

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully