Quarter I 2022
原文作者:Ansem(推特@blknoiz06) 原文链接:Quarter I 2022always keep a few gems in your pockethttps://blknoiz06.substack.com译者:Evelyn、AluAyi、Henson、Rex|W3.Hitchhiker2022市场整体展望你好!对于我的堕落同胞(fellow degenerates)和其他不知何故闯入这个页面的读者们,我将尝试在这里梳理今年一季度的一些想法。这是我第二次写这样的长篇大论,所以请忍耐一下(哈哈),希望它比从我推特发出来的数百条零零散散的推文更有条理。 2021年对于加密资产来说很显然是突破性的一年,从机构接受度到散户采纳度,加密货币已经远远超过了其历史上的任何时期。加密资产经历了两年的强劲牛市,部分原因是FED的鸽派态度助长了市场参与者的风险偏好,再加上web3协议的快速创新。令人震惊的是,在这个周期中,我们能从这则典型的新闻吹嘘 "看这个代币上涨了10倍"体会到加密货币在社会中的流行程度。Visa购置了一个朋克,阿迪达斯买了一只无聊猴,许多TradFi公司如Jum...

Arweave—不仅仅是存储这么简单
项目简介Arweave 是个非典型或非主流方向的区块链项目,我们之前对其一无所知,稍有了解的人,可能也就是把它看作是众多类似 Filecoin 的去中心化存储项目之一。所以也造成了之前我们对Arweave的一些忽视,今天就好好的把整个项目重新再认识一下。 Arweave 协议的愿景是提供去中心化、可扩展和永久的链上数据存储(永存);就像以太坊被认为是世界计算机,Arweave 可以被认为是永远不会忘记的世界硬盘。创始人Arweave创始人兼CEO—Sam Williams是去中心化爱好者,在分布式系统设计和实施方面具有丰富的经验。英国人,黑客,博士,目前推特关注者15K。先简单了解Filecoin的方案Filecoin是去中心化存储赛道最知名的项目,我们聊Arweave肯定免不了先来了解下Filecoin。 首先,我们知道,Protocol Labs开创的IPFS 是去中心化存储领域的开创者 ,从 2014 年上线开始,自由生长,已经存储了大量的数据。但是要让 IPFS 成为商业可用的存储系统,而不是随意的数据分享平台,必须提供服务质量保障 ,这就是 Filecoin 要解决的问...

Lyra - Option AMM Pioneer
Created by Jack Ding|W3.HitchhikerAn Overview of On-chain OptionsAt present, there are three main types of on-chain options:OrderbookDeFi Option Vaults(structured products)Auto-market Marker(resource:https://www.panewslab.com/zh/articledetails/1644045861942159.html)Orderbooke.x.:Zeta,Psyoption,Opyn Option order books also require high tps blockchain to guarantee cheap and fast execution. Opyn used the Orderbook model on ETH main chain, but due to the lack of liquidity and high gas costs,trade...
W3.Hitchhiker aims to discover cutting-edge tech and innovative teams by first principles thinking and long-term analysis strategies.
Quarter I 2022
原文作者:Ansem(推特@blknoiz06) 原文链接:Quarter I 2022always keep a few gems in your pockethttps://blknoiz06.substack.com译者:Evelyn、AluAyi、Henson、Rex|W3.Hitchhiker2022市场整体展望你好!对于我的堕落同胞(fellow degenerates)和其他不知何故闯入这个页面的读者们,我将尝试在这里梳理今年一季度的一些想法。这是我第二次写这样的长篇大论,所以请忍耐一下(哈哈),希望它比从我推特发出来的数百条零零散散的推文更有条理。 2021年对于加密资产来说很显然是突破性的一年,从机构接受度到散户采纳度,加密货币已经远远超过了其历史上的任何时期。加密资产经历了两年的强劲牛市,部分原因是FED的鸽派态度助长了市场参与者的风险偏好,再加上web3协议的快速创新。令人震惊的是,在这个周期中,我们能从这则典型的新闻吹嘘 "看这个代币上涨了10倍"体会到加密货币在社会中的流行程度。Visa购置了一个朋克,阿迪达斯买了一只无聊猴,许多TradFi公司如Jum...

Arweave—不仅仅是存储这么简单
项目简介Arweave 是个非典型或非主流方向的区块链项目,我们之前对其一无所知,稍有了解的人,可能也就是把它看作是众多类似 Filecoin 的去中心化存储项目之一。所以也造成了之前我们对Arweave的一些忽视,今天就好好的把整个项目重新再认识一下。 Arweave 协议的愿景是提供去中心化、可扩展和永久的链上数据存储(永存);就像以太坊被认为是世界计算机,Arweave 可以被认为是永远不会忘记的世界硬盘。创始人Arweave创始人兼CEO—Sam Williams是去中心化爱好者,在分布式系统设计和实施方面具有丰富的经验。英国人,黑客,博士,目前推特关注者15K。先简单了解Filecoin的方案Filecoin是去中心化存储赛道最知名的项目,我们聊Arweave肯定免不了先来了解下Filecoin。 首先,我们知道,Protocol Labs开创的IPFS 是去中心化存储领域的开创者 ,从 2014 年上线开始,自由生长,已经存储了大量的数据。但是要让 IPFS 成为商业可用的存储系统,而不是随意的数据分享平台,必须提供服务质量保障 ,这就是 Filecoin 要解决的问...

Lyra - Option AMM Pioneer
Created by Jack Ding|W3.HitchhikerAn Overview of On-chain OptionsAt present, there are three main types of on-chain options:OrderbookDeFi Option Vaults(structured products)Auto-market Marker(resource:https://www.panewslab.com/zh/articledetails/1644045861942159.html)Orderbooke.x.:Zeta,Psyoption,Opyn Option order books also require high tps blockchain to guarantee cheap and fast execution. Opyn used the Orderbook model on ETH main chain, but due to the lack of liquidity and high gas costs,trade...
W3.Hitchhiker aims to discover cutting-edge tech and innovative teams by first principles thinking and long-term analysis strategies.

Subscribe to W3.Hitchhiker

Subscribe to W3.Hitchhiker
Share Dialog
Share Dialog
>100 subscribers
>100 subscribers


译者:Xiang|W3.Hitchhiker
在这一部分中,我们将在轨迹a 上创建一组约束。 当且仅当轨迹表示 FibonacciSq 的有效计算时,约束将是轨迹单元格中的多项式(而不是有理函数)表达式。
我们将分三步实现:
首先指定我们关心的约束(FibonacciSq 约束)。
将 FibonacciSq 约束转换为多项式约束。
将它们转换为表示多项式的有理函数当且仅当原始约束成立时。

其计算结果恰好超过 G1,其中 G 是由 g 生成的“小”组。

首先,由于这是与第 1 部分不同的笔记,让我们运行以下代码,使此处的所有变量都具有正确的值。请注意,它最多可能需要 30 秒,因为它会重新运行多项式插值。
from channel import Channel
from field import FieldElement
from merkle import MerkleTree
from polynomial import interpolate_poly, X, prod
from tutorial_sessions import part1
a, g, G, h, H, eval_domain, f, f_eval, f_merkle, channel = part1()
print('Success!')
你将获得三个约束中的每一个作为两个多项式的商,确保余数是零的多项式。


numer0 = f - 1
denom0 = X - 1
事实上 f(x)-1 有一个根为 1 在意味着它可被 (x-1) 整除。运行以下代码块以说服自己 numer0 模 denom0 的余数为 0,因此除法确实会产生一个多项式:
numer0 % denom0
运行以下代码块以通过将 numer0 除以 denom0 来构造 p0,即表示第一个约束的多项式。
p0 = numer0 / denom0
跑测试:
assert p0(2718) == 2509888982
print('Success!')

numer1 = f - 2338775057
denom1 = X - g**1022
p1 = numer1 / denom1
跑测试:
assert p1(5772) == 232961446
print('Success!')

lst = [(X - g**i) for i in range(1024)]
prod(lst)
有关更多信息,请参阅博客文章 Arithmetization II。
让我们暂停一下,看一个关于多项式如何组成的简单例子。之后我们将生成第三个约束。

q = 2*X ** 2 + 1
r = X - 3
把 q r 组合产生一个新的多项式:


numer2 = f(g**2 * X) - f(g * X)**2 - f**2
print("Numerator at g^1020 is", numer2(g**1020))
print("Numerator at g^1021 is", numer2(g**1021))
denom2 = (X**1024 - 1) / ((X - g**1021) * (X - g**1022) * (X - g**1023))
p2 = numer2 / denom2
跑测试:
assert p2.degree() == 1023, f'The degree of the third constraint is {p2.degree()} when it should be 1023.'
assert p2(31415) == 2090051528
print('Success!')
运行以下代码块观察约束多项式的次数,均小于 1024 。这在下一部分很重要。
print('deg p0 =', p0.degree())
print('deg p1 =', p1.degree())
print('deg p2 =', p2.degree())

def get_CP(channel):
alpha0 = channel.receive_random_field_element()
alpha1 = channel.receive_random_field_element()
alpha2 = channel.receive_random_field_element()
return alpha0*p0 + alpha1*p1 + alpha2*p2
跑测试:
test_channel = Channel()
CP_test = get_CP(test_channel)
assert CP_test.degree() == 1023, f'The degree of cp is {CP_test.degree()} when it should be 1023.'
assert CP_test(2439804) == 838767343, f'cp(2439804) = {CP_test(2439804)}, when it should be 838767343'
print('Success!')
最后,我们评估 cp 在评估定义域 (eval_domain) 上,在其上构建一棵 Merkle 树,并通过信道发送其根。 这类似于我们在第 1 部分末尾所做的 LDE 轨迹上的提交。
def CP_eval(channel):
CP = get_CP(channel)
return [CP(d) for d in eval_domain]
在评估上构造一个默克尔树,并通过信道发送其根。
channel = Channel()
CP_merkle = MerkleTree(CP_eval(channel))
channel.send(CP_merkle.root)
测试代码:
assert CP_merkle.root == 'a8c87ef9764af3fa005a1a2cf3ec8db50e754ccb655be7597ead15ed4a9110f1', 'Merkle tree root is wrong.'
print('Success!')
译者:Xiang|W3.Hitchhiker
在这一部分中,我们将在轨迹a 上创建一组约束。 当且仅当轨迹表示 FibonacciSq 的有效计算时,约束将是轨迹单元格中的多项式(而不是有理函数)表达式。
我们将分三步实现:
首先指定我们关心的约束(FibonacciSq 约束)。
将 FibonacciSq 约束转换为多项式约束。
将它们转换为表示多项式的有理函数当且仅当原始约束成立时。

其计算结果恰好超过 G1,其中 G 是由 g 生成的“小”组。

首先,由于这是与第 1 部分不同的笔记,让我们运行以下代码,使此处的所有变量都具有正确的值。请注意,它最多可能需要 30 秒,因为它会重新运行多项式插值。
from channel import Channel
from field import FieldElement
from merkle import MerkleTree
from polynomial import interpolate_poly, X, prod
from tutorial_sessions import part1
a, g, G, h, H, eval_domain, f, f_eval, f_merkle, channel = part1()
print('Success!')
你将获得三个约束中的每一个作为两个多项式的商,确保余数是零的多项式。


numer0 = f - 1
denom0 = X - 1
事实上 f(x)-1 有一个根为 1 在意味着它可被 (x-1) 整除。运行以下代码块以说服自己 numer0 模 denom0 的余数为 0,因此除法确实会产生一个多项式:
numer0 % denom0
运行以下代码块以通过将 numer0 除以 denom0 来构造 p0,即表示第一个约束的多项式。
p0 = numer0 / denom0
跑测试:
assert p0(2718) == 2509888982
print('Success!')

numer1 = f - 2338775057
denom1 = X - g**1022
p1 = numer1 / denom1
跑测试:
assert p1(5772) == 232961446
print('Success!')

lst = [(X - g**i) for i in range(1024)]
prod(lst)
有关更多信息,请参阅博客文章 Arithmetization II。
让我们暂停一下,看一个关于多项式如何组成的简单例子。之后我们将生成第三个约束。

q = 2*X ** 2 + 1
r = X - 3
把 q r 组合产生一个新的多项式:


numer2 = f(g**2 * X) - f(g * X)**2 - f**2
print("Numerator at g^1020 is", numer2(g**1020))
print("Numerator at g^1021 is", numer2(g**1021))
denom2 = (X**1024 - 1) / ((X - g**1021) * (X - g**1022) * (X - g**1023))
p2 = numer2 / denom2
跑测试:
assert p2.degree() == 1023, f'The degree of the third constraint is {p2.degree()} when it should be 1023.'
assert p2(31415) == 2090051528
print('Success!')
运行以下代码块观察约束多项式的次数,均小于 1024 。这在下一部分很重要。
print('deg p0 =', p0.degree())
print('deg p1 =', p1.degree())
print('deg p2 =', p2.degree())

def get_CP(channel):
alpha0 = channel.receive_random_field_element()
alpha1 = channel.receive_random_field_element()
alpha2 = channel.receive_random_field_element()
return alpha0*p0 + alpha1*p1 + alpha2*p2
跑测试:
test_channel = Channel()
CP_test = get_CP(test_channel)
assert CP_test.degree() == 1023, f'The degree of cp is {CP_test.degree()} when it should be 1023.'
assert CP_test(2439804) == 838767343, f'cp(2439804) = {CP_test(2439804)}, when it should be 838767343'
print('Success!')
最后,我们评估 cp 在评估定义域 (eval_domain) 上,在其上构建一棵 Merkle 树,并通过信道发送其根。 这类似于我们在第 1 部分末尾所做的 LDE 轨迹上的提交。
def CP_eval(channel):
CP = get_CP(channel)
return [CP(d) for d in eval_domain]
在评估上构造一个默克尔树,并通过信道发送其根。
channel = Channel()
CP_merkle = MerkleTree(CP_eval(channel))
channel.send(CP_merkle.root)
测试代码:
assert CP_merkle.root == 'a8c87ef9764af3fa005a1a2cf3ec8db50e754ccb655be7597ead15ed4a9110f1', 'Merkle tree root is wrong.'
print('Success!')
No activity yet