Nym项目分析
1. 基本概况项目概况2. 项目详情2.1 团队Nym 团队创办位于瑞士,根据领英披露团队近30人。Nym 团队背景多为世界一流高校的博士及教授,大多数核心成员都是欧盟委员会资助的隐私项目 PANORAMIX 成员。核心成员背景信息详情如下:Harry Halpin - CEO & Co-Founder Harry 参与发表论文共计39篇,多为隐私及网络方面。目前他还是法国Inria研究员、麻省理工学院的访问研究员、NextLeap安全和隐私专家。他在麻省理工学院万维网联盟的网络发明家蒂姆·伯纳斯-李手下工作,创建了最早的密码学标准,并领导了网络密码学工作组,该工作组协调了主要网络浏览器的标准。其后参与欧盟委员会资助的隐私项目PANORAMIX,该项目研究的Loopix混合网络技术是Nym中 Mixnet 的技术基础。Harry 的学术能力强并且实践方面经验丰富。Dave Hrycyszyn - CTO Dave 是 Chainspace 联合创始人,Chainspace 被 Facebook 收购后加入Nym 担任首席技术官。Dave 的技术开发能力很强,Nym项目编程都由他主...
一分钟读懂流支付赛道
赛道概况流支付概念最早在 2017 年由安德烈亚斯·安东诺普洛斯提出,它最早是因为比特币闪电网络而形成的一种愿景:通过区块链技术快速转移数字货币实现如同“水流”一般的按秒支付。 2019 年,Paul Razvan Berg 的 Sablier 协议第一次通过以太坊智能合约实现了流支付技术。Sablier 的标语是“Paydays don't make sense any more. Sign up below to have instant access to your earnings through a money protocol built on Ethereum。”,翻译过来就是,“发薪日不再有意义,在下方注册通过以太坊的货币协议即时获得您的收入。“Sablier 协议现如今依然是流支付赛道中锁仓量最高的协议,是流支付不得不提的开山鼻祖。 2020 年,Superfluid 的团队在爱沙尼亚组建完成。这个项目较 Sablier 而言,功能更为全面,与其他生态应用也组合得更好,是整个赛道中起承转合的重要项目,Superfluid 的产品风格和团队作风都比较符合...
一分钟读懂Gravity Bridge协议
1 基本概况Gravity Bridge 是以太坊和 Cosmos 生态之间的跨链桥,允许人们通过在以太坊端锁定代币并在 Cosmos 端铸造等价代币,将代币从以太坊转移到 Cosmos 中,并可以再次返回。2 项目详情2.1 团队 Gravity Bridge 背后的主要开发团队是 Althea Networks。 Deborah Simpier - Co-Founder。 Justin Kilpatrick - Co-Founder。 William Moglia - 社区经理。 2.2 资金与合作 Altgea 团队目前还未进行过融资。 2.3 社区Twitter: 16202个粉丝。Discord: 2477个成员。3 协议实现在 Cosmos 生态中,链间的互操作性很容易,因为可以使用 IBC 协议来传输任何加密资产。然而,在 Cosmos 和以太坊之间传输加密资产在技术上非常复杂,因为 EVM 的设计并不与 IBC 协议兼容,IBC 数据包无法在以太坊中有效地解码。Gravity 架构图3.1 Peggy模块Peggy 具体包含5个部分。如下: 1)以太坊智能合约:充...
<100 subscribers
Nym项目分析
1. 基本概况项目概况2. 项目详情2.1 团队Nym 团队创办位于瑞士,根据领英披露团队近30人。Nym 团队背景多为世界一流高校的博士及教授,大多数核心成员都是欧盟委员会资助的隐私项目 PANORAMIX 成员。核心成员背景信息详情如下:Harry Halpin - CEO & Co-Founder Harry 参与发表论文共计39篇,多为隐私及网络方面。目前他还是法国Inria研究员、麻省理工学院的访问研究员、NextLeap安全和隐私专家。他在麻省理工学院万维网联盟的网络发明家蒂姆·伯纳斯-李手下工作,创建了最早的密码学标准,并领导了网络密码学工作组,该工作组协调了主要网络浏览器的标准。其后参与欧盟委员会资助的隐私项目PANORAMIX,该项目研究的Loopix混合网络技术是Nym中 Mixnet 的技术基础。Harry 的学术能力强并且实践方面经验丰富。Dave Hrycyszyn - CTO Dave 是 Chainspace 联合创始人,Chainspace 被 Facebook 收购后加入Nym 担任首席技术官。Dave 的技术开发能力很强,Nym项目编程都由他主...
一分钟读懂流支付赛道
赛道概况流支付概念最早在 2017 年由安德烈亚斯·安东诺普洛斯提出,它最早是因为比特币闪电网络而形成的一种愿景:通过区块链技术快速转移数字货币实现如同“水流”一般的按秒支付。 2019 年,Paul Razvan Berg 的 Sablier 协议第一次通过以太坊智能合约实现了流支付技术。Sablier 的标语是“Paydays don't make sense any more. Sign up below to have instant access to your earnings through a money protocol built on Ethereum。”,翻译过来就是,“发薪日不再有意义,在下方注册通过以太坊的货币协议即时获得您的收入。“Sablier 协议现如今依然是流支付赛道中锁仓量最高的协议,是流支付不得不提的开山鼻祖。 2020 年,Superfluid 的团队在爱沙尼亚组建完成。这个项目较 Sablier 而言,功能更为全面,与其他生态应用也组合得更好,是整个赛道中起承转合的重要项目,Superfluid 的产品风格和团队作风都比较符合...
一分钟读懂Gravity Bridge协议
1 基本概况Gravity Bridge 是以太坊和 Cosmos 生态之间的跨链桥,允许人们通过在以太坊端锁定代币并在 Cosmos 端铸造等价代币,将代币从以太坊转移到 Cosmos 中,并可以再次返回。2 项目详情2.1 团队 Gravity Bridge 背后的主要开发团队是 Althea Networks。 Deborah Simpier - Co-Founder。 Justin Kilpatrick - Co-Founder。 William Moglia - 社区经理。 2.2 资金与合作 Altgea 团队目前还未进行过融资。 2.3 社区Twitter: 16202个粉丝。Discord: 2477个成员。3 协议实现在 Cosmos 生态中,链间的互操作性很容易,因为可以使用 IBC 协议来传输任何加密资产。然而,在 Cosmos 和以太坊之间传输加密资产在技术上非常复杂,因为 EVM 的设计并不与 IBC 协议兼容,IBC 数据包无法在以太坊中有效地解码。Gravity 架构图3.1 Peggy模块Peggy 具体包含5个部分。如下: 1)以太坊智能合约:充...
Share Dialog
Share Dialog
Ownership of bitcoin is established through digital keys, bitcoin addresses, and digital signatures.
Keys come in pairs consisting of a private (secret) key and a public key. Think of the public key as similar to a bank account number and the private key as similar to the secret PIN. In bitcoin, we use public key cryptography to create a key pair that controls access to bitcoin. The key pair consists of a private key and—derived from it—a unique public key. The public key is used to receive funds, and the private key is used to sign transactions to spend the funds.

Digital Keys => Wallet
Digital signatures
The digital signature used to spend funds is also referred to as a witness, a term used in cryptography.
Bitcoin address => Pubic Key
Bitcoin addresses are almost always encoded as “Base58Check”, which uses 58 characters (a Base58 number system) and a checksum to help human readability, avoid ambiguity, and protect against errors in address transcription and entry.

Base58 is a set of lowercase and capital letters and numbers without the four (0, O, l, I). and below is the Base58Check encoding process.


Example
Hex 1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD
WIF 5J3mBbAH58CpQ3Y5RNJpUKPE62SQ5tfcvU2JpbnkeyhfsYB1Jcn
Hex-compressed 1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD01
WIF-compressed KxFC1jmwwCoACiCAWZ3eXa96mBM6tb3TYzGmf6YwgdGWZgawvrtJ

Example
Point:
x = F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A
y = 07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB
Uncompressed:
K = 04F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A↵
07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB
Compressed:
K = 03F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A
Encrypted Private Keys (BIP-38) BIP-38 proposes a common standard for encrypting private keys with a passphrase and encoding them with Base58Check.
Pay-to-Script Hash (P2SH)
P2SH designate the beneficiary of a bitcoin transaction as the hash of a script, instead of the owner of a public key.
Paper Wallets
Paper wallets are bitcoin private keys printed on paper.
A wallet is an application that serves as the primary user interface.
From a programmer’s perspective, the word “wallet” refers to the data structure used to store and manage a user’s keys.
Wallet Technology Overview
The wallet contains only keys rather than Bitcoin. In a sense, a bitcoin wallet is a keychain.
Nondeterministic wallet
where each key is independently generated from a random number. The keys are not related to each other.
D*eterministic wallet W*here all the keys are derived from a single master key, known as the seed. All the keys in this type of wallet are related to each other and can be generated again if one has the original seed. The most commonly used derivation method uses a tree-like structure and is known as a hierarchical deterministic or HD wallet.
Deterministic wallets are initialized from a seed. To make these easier to use, seeds are encoded as English words, also known as mnemonic code words.
HD Wallets (BIP-32/BIP-44)
HD wallets offer two major advantages over random (nondeterministic) keys. First, the tree structure can be used to express additional organizational meaning; The second advantage is that users can create a sequence of public keys without having access to the corresponding private keys.
Seeds and Mnemonic Codes (BIP-39) HD wallets are useful if they are combined with a standardized way of creating seeds from a sequence of English words.
Mnemonic Code Words (BIP-39)
how to create mnemonic words


Creating an HD Wallet from the Seed
Mnemonic code == > Root Seed == > Master Key + Chain code
The process of creating the master keys and master chain code for an HD wallet:

Extending a parent private key to create a child private key:

Extended keys: The combination of a private key and chain code is used to derive child private keys; a public key and chain code, which can be used to create child public keys (public only);
Using an Extended Public Key on a Web Store
BIP-44 HD wallet structure examples:

Ethereum has two different types of accounts: externally owned accounts (EOAs) and contracts. Ownership of ether by EOAs is established through digital private keys, Ethereum addresses, and digital signatures. In public key cryptography–based systems, such as that used by Ethereum, keys come in pairs consisting of a private (secret) key and a public key.
same as Bitcoin.
Same as Bitcoin.
k =f8f8a2f43c8376ccb0871305060d7b27b0554d2cc72bccf41b2705608452f315
K = k * G and K = (x, y)
where:
x = 6e145ccef1033dea239875dd00dfb4fee6e3348b84985c92f103444683bae07b
y = 83b5c38e5e2b0c8529d7fa3f64d46daa1ece2d9ac14cab9477d042c84c32ccd0
Ethereum uses uncompressed public keys; therefore the only prefix is (hex) 04. The serialization concatenates the x and y coordinates of the public key:
04 + x-coordinate (32 bytes/64 hex) + y-coordinate (32 bytes/64 hex)
Therefore, the public key(K) we calculated earlier is serialized as:
046e145ccef1033dea239875dd00dfb4fee6e3348b84985c92f103444683bae07b83b5c38e5e2b0c8529d7fa3f64d46daa1ece2d9ac14cab9477d042c84c32ccd0
Ethereum uses the Keccak-256 cryptographic hash function in many places. while Bitcoin uses SHA256 here.
We use Keccak-256 to calculate the hash of this public key:
Keccak256(K) = 2a5bc342ed616b5ba5732269001d3f1ef827552ae1114027bd3ecf1f086ba0f9
Ethereum Address Formats
Ethereum addresses are hexadecimal numbers, identifiers derived from the last 20 bytes of the Keccak-256 hash of the public key. Unlike Bitcoin addresses, which are encoded in the user interface of all clients to include a built-in checksum to protect against mistyped addresses, Ethereum addresses are presented as raw hexadecimal without any checksum. In reality, this design choice led to a number of problems in the early days of the ecosystem, including the loss of funds due to mistyped addresses and input validation errors.
Inter Exchange Client Address Protocol
Hex Encoding with Checksum in Capitalization (EIP-55)
1. address:
0x001d3F1ef827552Ae1114027BD3ECF1f086bA0E9
2. hash
Keccak256("001d3f1ef827552ae1114027bd3ecf1f086ba0e9") =
5429b5d9460122fb4b11af9cb88b7bb76d8928862e0a57d46dd18dd8e08a6927
3. Lineup the address and Hash
Address: 001d3f1ef827552ae1114027bd3ecf1f086ba0f9
Hash : 23a69c1653e4ebbb619b0b2cb8a9bad49892a8b9...
4. Capitalize each alphabetic address character if the corresponding hex digit of the hash is greater than or equal to 0x8.
Address: 001d3F1ef827552Ae1114027BD3ECF1f086bA0F9
Hash : 23a69c1653e4ebbb619b0b2cb8a9bad49892a8b9...
the technology is same as Bitcoin.
Nondeterministic (Random) Wallets
Deterministic (Seeded) Wallets
Hierarchical Deterministic Wallets (BIP-32/BIP-44)
Seeds and Mnemonic Codes (BIP-39)
Same as Bitcoin.
Ownership of bitcoin is established through digital keys, bitcoin addresses, and digital signatures.
Keys come in pairs consisting of a private (secret) key and a public key. Think of the public key as similar to a bank account number and the private key as similar to the secret PIN. In bitcoin, we use public key cryptography to create a key pair that controls access to bitcoin. The key pair consists of a private key and—derived from it—a unique public key. The public key is used to receive funds, and the private key is used to sign transactions to spend the funds.

Digital Keys => Wallet
Digital signatures
The digital signature used to spend funds is also referred to as a witness, a term used in cryptography.
Bitcoin address => Pubic Key
Bitcoin addresses are almost always encoded as “Base58Check”, which uses 58 characters (a Base58 number system) and a checksum to help human readability, avoid ambiguity, and protect against errors in address transcription and entry.

Base58 is a set of lowercase and capital letters and numbers without the four (0, O, l, I). and below is the Base58Check encoding process.


Example
Hex 1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD
WIF 5J3mBbAH58CpQ3Y5RNJpUKPE62SQ5tfcvU2JpbnkeyhfsYB1Jcn
Hex-compressed 1E99423A4ED27608A15A2616A2B0E9E52CED330AC530EDCC32C8FFC6A526AEDD01
WIF-compressed KxFC1jmwwCoACiCAWZ3eXa96mBM6tb3TYzGmf6YwgdGWZgawvrtJ

Example
Point:
x = F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A
y = 07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB
Uncompressed:
K = 04F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A↵
07CF33DA18BD734C600B96A72BBC4749D5141C90EC8AC328AE52DDFE2E505BDB
Compressed:
K = 03F028892BAD7ED57D2FB57BF33081D5CFCF6F9ED3D3D7F159C2E2FFF579DC341A
Encrypted Private Keys (BIP-38) BIP-38 proposes a common standard for encrypting private keys with a passphrase and encoding them with Base58Check.
Pay-to-Script Hash (P2SH)
P2SH designate the beneficiary of a bitcoin transaction as the hash of a script, instead of the owner of a public key.
Paper Wallets
Paper wallets are bitcoin private keys printed on paper.
A wallet is an application that serves as the primary user interface.
From a programmer’s perspective, the word “wallet” refers to the data structure used to store and manage a user’s keys.
Wallet Technology Overview
The wallet contains only keys rather than Bitcoin. In a sense, a bitcoin wallet is a keychain.
Nondeterministic wallet
where each key is independently generated from a random number. The keys are not related to each other.
D*eterministic wallet W*here all the keys are derived from a single master key, known as the seed. All the keys in this type of wallet are related to each other and can be generated again if one has the original seed. The most commonly used derivation method uses a tree-like structure and is known as a hierarchical deterministic or HD wallet.
Deterministic wallets are initialized from a seed. To make these easier to use, seeds are encoded as English words, also known as mnemonic code words.
HD Wallets (BIP-32/BIP-44)
HD wallets offer two major advantages over random (nondeterministic) keys. First, the tree structure can be used to express additional organizational meaning; The second advantage is that users can create a sequence of public keys without having access to the corresponding private keys.
Seeds and Mnemonic Codes (BIP-39) HD wallets are useful if they are combined with a standardized way of creating seeds from a sequence of English words.
Mnemonic Code Words (BIP-39)
how to create mnemonic words


Creating an HD Wallet from the Seed
Mnemonic code == > Root Seed == > Master Key + Chain code
The process of creating the master keys and master chain code for an HD wallet:

Extending a parent private key to create a child private key:

Extended keys: The combination of a private key and chain code is used to derive child private keys; a public key and chain code, which can be used to create child public keys (public only);
Using an Extended Public Key on a Web Store
BIP-44 HD wallet structure examples:

Ethereum has two different types of accounts: externally owned accounts (EOAs) and contracts. Ownership of ether by EOAs is established through digital private keys, Ethereum addresses, and digital signatures. In public key cryptography–based systems, such as that used by Ethereum, keys come in pairs consisting of a private (secret) key and a public key.
same as Bitcoin.
Same as Bitcoin.
k =f8f8a2f43c8376ccb0871305060d7b27b0554d2cc72bccf41b2705608452f315
K = k * G and K = (x, y)
where:
x = 6e145ccef1033dea239875dd00dfb4fee6e3348b84985c92f103444683bae07b
y = 83b5c38e5e2b0c8529d7fa3f64d46daa1ece2d9ac14cab9477d042c84c32ccd0
Ethereum uses uncompressed public keys; therefore the only prefix is (hex) 04. The serialization concatenates the x and y coordinates of the public key:
04 + x-coordinate (32 bytes/64 hex) + y-coordinate (32 bytes/64 hex)
Therefore, the public key(K) we calculated earlier is serialized as:
046e145ccef1033dea239875dd00dfb4fee6e3348b84985c92f103444683bae07b83b5c38e5e2b0c8529d7fa3f64d46daa1ece2d9ac14cab9477d042c84c32ccd0
Ethereum uses the Keccak-256 cryptographic hash function in many places. while Bitcoin uses SHA256 here.
We use Keccak-256 to calculate the hash of this public key:
Keccak256(K) = 2a5bc342ed616b5ba5732269001d3f1ef827552ae1114027bd3ecf1f086ba0f9
Ethereum Address Formats
Ethereum addresses are hexadecimal numbers, identifiers derived from the last 20 bytes of the Keccak-256 hash of the public key. Unlike Bitcoin addresses, which are encoded in the user interface of all clients to include a built-in checksum to protect against mistyped addresses, Ethereum addresses are presented as raw hexadecimal without any checksum. In reality, this design choice led to a number of problems in the early days of the ecosystem, including the loss of funds due to mistyped addresses and input validation errors.
Inter Exchange Client Address Protocol
Hex Encoding with Checksum in Capitalization (EIP-55)
1. address:
0x001d3F1ef827552Ae1114027BD3ECF1f086bA0E9
2. hash
Keccak256("001d3f1ef827552ae1114027bd3ecf1f086ba0e9") =
5429b5d9460122fb4b11af9cb88b7bb76d8928862e0a57d46dd18dd8e08a6927
3. Lineup the address and Hash
Address: 001d3f1ef827552ae1114027bd3ecf1f086ba0f9
Hash : 23a69c1653e4ebbb619b0b2cb8a9bad49892a8b9...
4. Capitalize each alphabetic address character if the corresponding hex digit of the hash is greater than or equal to 0x8.
Address: 001d3F1ef827552Ae1114027BD3ECF1f086bA0F9
Hash : 23a69c1653e4ebbb619b0b2cb8a9bad49892a8b9...
the technology is same as Bitcoin.
Nondeterministic (Random) Wallets
Deterministic (Seeded) Wallets
Hierarchical Deterministic Wallets (BIP-32/BIP-44)
Seeds and Mnemonic Codes (BIP-39)
Same as Bitcoin.
No comments yet