我们总是在思考区块链原生(native)啥啥的含义,却很少有人从时间的概念切入。Gigi 的「比特币是时间」让我第一次听到区块链上滴答的节奏,takensthereom的「以太坊:高斯计时器」则让我进一步看到了这个时钟的模样,而这一次,它可以与我发生关联:每个人的“在
摘要
高斯计时器是一个简单的NFT饰品,一个定时器。它是一个振荡器,根据以太坊的平均区块时间在固定的秒数内循环。但所有者与高斯计时器的关系更为复杂。钟表包含 “复杂功能”(complications* 钟表学术语)。这些复杂功能将区块链的无休止的随机颤动与它的所有者联系起来–后者的行动在某种程度上被嵌入其中。
*维基百科:在钟表学中,复杂功能是指机械表在显示小时、分钟和秒之外的任何特征。一个只显示小时、分钟和秒的计时器被称为简单机芯。
计时器在链上生成,ERC-721合约保证它们完成循环时,会更新颜色。计时器中展示了一个充满动态元素的 “表盘”,而不是数字,这些元素创造了一个动态的幕布(式表盘),代表计时器的开始和结束。这些元素的数量与计时器周期内打包的区块成正比–跨越随机性向另一个不可避免的区块高度过渡。
计时器有五种持续时间模式(区块高度):2、4、8、16和32块(26秒至7分钟)。计时器有几个属性的区分,在下面的章节中会进行总结。这些属性中最主要的是,计时器表圈上的标记,表明其所有者有多少链上NFT(样本是包括Avastars、ChainFaces、[sol]Seedlings在内的15个项目)。下面是一些计时器的大致模样。
计时器的例子。没有多少链上NFT的主人计时器上的元素会更少,更简单,更安静–就像上面那一行。那些有更多的链上NFT的人将会在他们的计时器中加入更多的元素,就像下面这一排所示。高斯表有一个主指针(圆圈),根据固定的时间绕着表圈运行。但在这块表的周围有一些复杂的东西,包括:计时变化的代表(表圈内侧的月牙),所有者的链上NFT(表圈上的标记),一个动态的移动元素的 “表盘”,以及一个真正的、实际的一天的时间的标记(UTC时间12小时钟,表圈外侧的三角形)。与计时器相关的区块号码显示在计时器的区块计数下面(例如,在 “+2 “下面),星号 “”显示当前的gas价格,增量为25(上限为300gwei)。颜色和表盘随着每个周期的区块时间更新。详情见下面的内容。*
与之前的项目(胖车库经授权编译的1,2)一样,高斯计时器也与统计学和数据可视化有关。每个计时器上的大多数元素都是基于数据的某些方面。有些是基于使用块时间和所有者地址(由智能合约本身计算)的伪随机数生成。其他的是基于区块时间的随机性(见下面的小研究)和所有者在其钱包中拥有多少 “链上 “元素。
该项目的主要、原始动机是为了表达区块链时间的统计学 “高斯 “性质。这是它的名字的来源,也是项目开始的地方。所以我保留了它。但在建造这些东西的过程中,它们变成了一些其他东西:一个计时器,一个数据可视化,一个象征性的状态信号器。这些小饰品展示着状态和动态,token和时间。将整个区块链上的时间表达与主人(owner)的存在联系在一起。
这些计时器是 “艺术 “吗?我不认为自己是一个艺术家。正如我以前的项目一样,这些计时器是对区块链及其数据的技术方面的一种视觉探索。拥有者可以自由地以他们希望的方式来构思它们。我们可以成为更具有反思精神的审美相对论者,那么下面我将解释这个作品,希望你觉得有趣;)
内容
1. 简介
时间是老生常谈的话题,关于时间不够用了,白驹过隙,时间是如何被记住和珍视的,”我度过了一个美好的时光”。“时间”这个词是英语中最常见的词汇之一,关于时间概念的表达充斥着各种文化和语言。
但这种共性来自于时间的普遍性,它的悖论和神秘性。时间是伟大的破坏者,但它也是建造师。我们可以用绝对的术语来思考它,但要知道它是取决于观察者的。我们对它的感知可能随着年龄的增长而改变。它在相当大的随机性和神秘中展开,但对每个个体来说却一种独特的必然性。
*1933年的瓦莱里(Paul Valéry)在阅读了亨利-柏格森和现代物理学的各种著作之后,对时间问题非常关注。他提出 时间就是生产 time is production[1] ,只有内在的、与实现共属的时间才是生产(Only a time that is immanent and co-belonging with realization can be equivalent to production.)
在某些方面,区块链与许多这些时间概念有着有趣的相似之处。账本上的区块高度不可避免地向前推移,但这些推移是可变的。有时它们会快速连续发生,有时我们会等得更久。很容易联想到现实生活的例子–等待快递,等待朋友来电,等炸鸡啤酒外卖。但这里与我们的时间感有更深的关系。就像时间之箭一样,区块无休止地向前推进(尾注1)。以太坊最终到达1,000,000,000区块是不可避免的。当然,这是假设以太坊还能活很多年。如果不是这样,如果以太坊永远不会达到这个里程碑,这也是我们凡人在时间上经历的其他不可避免性。
这篇文章描述了一个小规模的NFT项目,名为 “高斯计时器”。这些计时器是为了概括这些与时间的关系。它们的灵感来自于块状时间的统计模式,寻求将它们与我们自己的时间实践进行类比。这些NFTs包含着在区块链上编程的时间概念,以一种有趣的计时器的形式表达,我称之为高斯计时器(Gaussian Timepieces)。
首先,在介绍Timepiece之前,先介绍一下背景。
2. 时间、NFTs和区块链
这个夏天的NFTs带来了许多对时间的探索。我最喜欢的作品之一是[[shvembldr]]的 “Aliens clock[2]”。这些生成的作品让我们想象一个 “多维的生命正在看着这个钟,思考存在的无常和Cosmos的无限”。它们是动态和神秘的。[[Alexis André]]的 “720 Minutes[3]”、WAWAA的 “Timepiece[4] “和其他作品以迷人的方式探索时间。[[Harm van den Dorpel]]的 “Mutant Garden Seeder[5]”的动态变化唤起了人们对时间的玩味,因为它们时不时地更新,让它们的主人高兴。有功能的时钟也被加入到链条中,比如[[brucethegoose]]的动态的、一秒一秒的 “Matter of Time[6] “和[[Ariel Becker]]的创新 “Binary区块链[7]”。另一个最受欢迎的是[[Inner Space]]的名为 “Moon in Motion[8]”的项目。它使用链上的时间戳来创建一个动态的NFT,随着月相的变化而变化。
我对区块链时间概念的探索已经有一段时间了。过去的一些工作涉及对起源和历史的追溯。最近受到 “Moon in Motion “和 “Mutant Garden Seeder “动态思路的启发,我想创造一种可视化,将时间和动态的元素结合起来,捕捉链的核心特征—— 以太坊的动态。
但这个项目最初的灵感完全来自以太坊之外:今年早些时候一篇关于比特币和时间的神文。
3. “比特币就是时间”
yyds的Gigi在一篇题为 “比特币就是时间[9] “的博文中对比特币与时间的关系进行了详细的研究。在这个分析中,Gigi指出,比特币代表价值的能力继承于它代表时间的能力–以数字形式融合了账本和代币的概念。
正是这种因果关系和不可预测性的结合,使得在其他永恒的数字领域中创造了一个人为的 “现在”。
账本由一个区块到下一个区块的10分钟滴答连接表示,每个新区块通过加密货币哈希标记其与过去的连接。这种通过协调编码并为所有人保存的事件链,是一种 “无情跳动 “的时钟。
比特币在很多方面都是时间。它的单位是存储的时间,因为它们是货币,而它的网络是时间,因为它是一个分布式的时钟。这个时钟的无情跳动是产生比特币所有神奇特性的原因。
正如Gigi所描述的那样,比特币的10分钟时钟是高度可变的。有时,当区块被提交到链上时,时间差甚至会发生逆转,尽管这很罕见。但去中心化的共识机制的运作方式是保持一个大约10分钟的平均刻度,当它偏离这个刻度时,会进行修正。
以太坊也是一个无情的时钟。它也许是一个更加狂热的时钟。以太坊的区块每10到20秒左右就会被确认一次。但这个时间也会有很大的变化。这在其他分析中已经显示出来了。让我们重新审视一下其中的一些基本观点。
4. 以太时钟
以太坊的区块每隔10-20秒就会出现一次(尾注2)。但在区块时间周围有一种分布,一种扩散。让我们来看看自EIP-1559(从8/5-8/24左右)以来发生的超过10万个区块的批次。在这10万个区块中,当从一个区块到下一个区块时,时间上有如下变化。
通常情况下,区块之间的关系是快速且连续的,几乎瞬间完成(在这个图的左边)。其他时候,但非常罕见,它可能需要一两分钟(该图的右侧)。这种变化至少是由两个因素造成的。
主要因素是工作量证明中的时间变化。在寻找区块方面存在固有的随机性,因此它需要可变的时间。
另一个是网络延时。矿工必须协调,成功的区块可能需要时间来传播。
另一个潜在因素是区块重组。有很多关于 “黑暗森林 “的讨论,矿工提取价值(MEV)已经引入了各种方法,将交易战略性地捆绑到区块中。
这些因素加在一起,带来了变化–有时区块来的很快,有时需要很长。
但考虑到等待,比如说,10个区块。看看从一个区块到之后的第10个区块的时间,我们会得到一个不同的模式,一个开始类似于钟形曲线的模式,通常称为正态或高斯分布。
造成这种形状变化的原因是,从一个区块到下一个区块,到第10个区块的所有变化都被整合到了一起。这说明了概率论和统计学中一个美丽的原则。例如,让我们采取一个更大的时间窗口,即下一个第100块。
据说,”在极限情况下,”平均区块时间接近于13秒左右的特征–我们可以称之为 “典型 “区块时间。尽管一个区块与下一个区块之间存在偏离,但随机性在我们100个区块的估算中被整合在一起。其结果是一个对称的传播,平均数和中位数都在峰值。
因此,如果我们把以太坊作为一个时钟,我们会在更大的时间单位上实现更多的稳定性。这可以通过将变化除以时间长度来进一步显示,称为变异系数。这个系数衡量的是你的价差相对于平均值有多高的变化。因此,如果我们用以太坊作为一个时钟或计时器,相对于我们希望估计的时间,我们会有多大的偏差?
当我们看向下一个1个区块、2个区块、……100个区块时,相对于我们希望估计的时间,差值会缩小。可以说,”以太坊时间 “在极限中是静止的。EIP-1559之后的第100,000个区块如何呢?从第12,965,000块到第13,065,00块的时间是1,333,061秒,每块13.33秒。
在这个意义上,区块链是一个随机时钟。它无情地点击前进,但如果我们用它来看时间的话,会与我们的估计有偏差。这种变化是系统性的,并以其自己的方式美丽着。
从某种意义上说,区块链是一个高斯计时器。
5.高斯计时器
想象一下,你提前很久就计划好了一个生日派对。相对于你提前计划的好几个星期,它在某个特定日期的时间是相当精确的。到了那天,派对的 “开始 “可能相对于这一天本身来说更容易变化,下午1:01或1:26。游戏在下午2点24分进行……或2点13分。蛋糕是在下午5点点燃–或早点儿晚点儿。而在聚会期间,较小的事件可能是相当无序的、令人惊讶的、突然的和自发的–时间非常容易变化。也许大多数人类活动都可以被解析为这种时间模式化–围绕不可避免的时间的变化在某种程度上取决于我们计划和展望的程度。
一个随机的时钟或计时器应该表达这种不确定性。以下原则可以由这样的计时器来表达:
它应该表达计时制度的长期趋势,即使是不精确的。这标志着区块链的随机但长期稳定的特点。
计时器还应该有关于基于时间单位的相对精度的指数(几个区块与十几个区块)。这是更多的变化,不太稳定,但与读出特定时期的区块时间的计时器更相关。
计时器应该包含不确定性的标志,提示持有者从一个时刻过渡到另一个不可避免的时刻的感觉,尽管它们之间可能存在着随机性。
这个定时器的形式也应该有一个熟悉的形状,有熟悉的成分在。我使用了经典的循环逻辑的圆形形式。一个指针或其他一些机制围绕这个形式扫过,表示时间的相对时刻,也表示整个时间周期的重复性。还将有受数据启发的组件,如表圈、指针以及手表的 “复杂功能”。
5.1 投影
为了把这些块状时间的概念投射到一个圆上,我们把圆的底部中心作为计时器的起点,把块的数量乘以典型的块状时间(13秒)作为这个计时器的一个完整旋转周期。因此,一个 “4个区块的计时器 “将从底部开始,绕行52秒。一个 “16个区块的计时器 “将循环约3.5分钟。
但这是上面提到的 “标准 “时间。这就是我们在计时器上得到的长时间估计。我们需要一个较短时间段的变异性表达。要做到这一点,让我们采取观察到的高斯分布的密集的中心部分。考虑三个简单的块状计时器–4块、8块和16块。这就是他们的分布叠加到圆上时的样子,被压平以拥抱圆形的外侧。
注意到它是如何向我们的标准时间旋转的吗?这是在我们的定时器中增加块的样本的效果,因此使估计值更接近13秒的数字。这与我们在上面比较1、10和100时的效果相同。这种来自观察到的高斯分布的离散告诉计时器的主人:”你的块状目标确实可能在这个大范围内达到–提前或推迟。”
了表达规范的时间,我们可以在作品的底部中心用高斯分布来装饰,作为随机过程中潜在时间秩序的提醒(尾注3)。把这个框架渲染成SVG,并进行对齐和着色,就有了手表的表圈和指针,以及暗示随机性的手表 “复杂功能”(新月)。这里是一个2块(区块高度)计时器的版本。
5.2 要素
上面的1和2中提到的表达已经解决了。到目前为止,我们有一些小的重音,突出了链的稳定的长期行为(居中的高斯),同时也表明了该块计时器的传播。但我还注意到第三个特点。”计时器应该包含不确定性的标志,提示其主人从一个时刻过渡到另一个不可避免的时刻的感觉,尽管它们之间可能存在随机性。” 要做到这一点,让我们创造一个 “动态表盘”。
为了建立这种随机性和过渡的感觉,我在表面内使用了一个动态的元素代表着计时器的进展。这些元素与计时器同步在表面上移动。下面是一个例子。SVG在不透明度方面也有动画。这些元素从计时器表面的中心开始,完全不透明。这标志着开始是确定的–我们知道定时器从哪里开始。随着计时器的展开,这些元素向旁边移动,不透明度也随之减弱。目标块是不确定的,因为链条将其信息捆绑成一系列的块。但这些元素在时间结束时又回来了,当它们以完全不透明的方式回到中心时,意味着一种必然性。
这里展示了一个例子,以及计时器上包含的其他一些 “复杂功能”。这些将在下一节中进行总结。
6. 特点、分布、条款
6.1 合约特点
最大发行量:100个(预铸)计时器。
动态 “表盘”
高斯钟表合约的另一个主要特点是如何选择这些元素。它们的数量越多,显示的内容就越动态、越丰富。为了选择面内循环的项目数量,根据计时器和其主人的 “在链度 “,我用了一个简单的方程式来说明:
项目 = 0.5(# 区块) + floor(所有者ETH余额) + # 链上NFTs
因此,如果你有一个4块的计时器,你的钱包里有1个ETH和5个链上NFT,你的元素数量是0.5(4)+1+5=8。元素的上限是16,并以圆圈或块的形式(见下文)。
重要提示:这意味着那些拥有2或4块计时器且只有少数链上NFT的人不会像拥有16或32块计时器的人那样有那么多。较快的计时器可能一开始就很稀少。对于那些没有任何链上NFT和2段计时器的人来说,有可能出现一个来回摆动的单圈。我是故意这样做的,这让后面的变化可见。一些人可能更喜欢简单计时器的宁静、朴素的表面。通过调整变量,那些从较少的圆圈开始的人可能会发现在充实他们的计时器方面的乐趣。
表圈右侧的刻度代表拥有的这些链上NFT的数量(最多 30个刻度)。在左边,刻度代表拥有NFT的独特项目的数量,最多15个项目(乘以2以使其有可能与右边的刻度实现对称)。
这个项目是区块链和时间的一个有趣的、实验性的代表。它没有伴随着第一或早期的声明。高斯钟表其实不是第一个整合多个NFT合约的项目–第一个的殊荣属于可爱的[[TOON]]项目。
同时,一个holder的 “链上”得分反映了她在此类项目中的参与度。我选择了以下项目作为样本,尽管这不应该被看作是一种认可(披露:我只在这些项目中的一半拥有一些)。
高斯计时器在tokenURI()中渲染NFT时,会召唤这些合约的balanceOf()函数。(如果你最喜欢的链上项目没有在这里上架,我很抱歉。缩小范围是必要的)。
100%链上,计时器本身每个周期都会更新。例如,一个4块的计时器每隔一分钟左右就会改变其颜色和元素。一个16块的计时器,每3.5分钟左右更新一次。这是用keccak256()对所有者的地址和token ID进行伪随机处理。这也意味着,如果一个所有者有几个高斯计时器,它们将不会以相同的方式呈现。使用OpenSea上的 “刷新元数据 “按钮来检查变化(注:OpenSea有时可能需要几分钟时间来更新)。
复杂功能:开始,结束。块状时间规格(例如,”+2 “或 “+16″)的两侧是计时器最后一次从链上取下时的起始块和结束块。
复杂情况:gas追踪器。块状时间规格上方的星号字符(例如,”+2 “或 “+16″)告诉计时器的 “佩DAI者 “现在的基本费用是多少,每25进一。因此,54gwei的gas价格将在计时器上显示为 “**”。
复杂功能:实时。作为一个小指针在表圈上运行的是使用12小时间隔的实时时间。
可组合性。实时标记是UTC,但计时器的配置是为了方便在其上面进行编程。首先,合约的reveal()函数需要两个参数,并输出原始SVG数据。一个是tokenId,第二个是timeZone,指定为UTC-minus-k小时。持有者可以建立一个网站,用这个函数定期刷新他们的作品,并指定k小时值,以产生他们想要的时区(k值必须为正)。还要注意的是,SVG中的所有这些对象都包含一个描述性的ID,所以可以用JS来操作输出的SVG,以便进一步重新设计、编码等。(还要注意:由于整数的要求,这只能表示相对于UTC的整小时时区;对那些在30分钟和45分钟时区的人表示歉意)
6.2 属性
块数。2、4、8、16和32(同样常见)。
颜色。深色模式和浅色模式(同样常见)
形状。圆圈(常见),块状(较少)。
7. 结论
一个共识协议的决议是随机的,但是不可避免的。这些计时器象征着链上的时间–虽然平均区块时间在极限情况下比较稳定,但每时每刻都有丰富的随机性。这些计时器也象征着NFTs的不同概念。一块手表被DAI着。
它可以是我们日子的时钟,也可以是展示给别人的身份象征。事实上,这些计时器允许它们的主人用跨项目所有权的标志来装饰它们。它们还包含足够的时间信息,你可以将NFT用于计时服务。这里有一些,也许是最小的效用。我自己喜欢看它们的节奏,一个和平的时刻,接受不可避免的时间流逝–以及它的所有影响–在这里用我们一个奇怪的技术出现的时间来表达。
8. 尾注和其他
虽然重排在某种意义上可以 “逆转时间”,但它们也受到时间之箭的制约。重排只有在建立一套 “更重 “的区块解决方案时才有效–换句话说,保持时间的方向,即使过去在某种程度上可以被重新安排。在以太坊(以及一般的工作量证明),这是通过实现比被替换的区块更大的上涨计算来实现的。奇怪的是,类比到人类时间的话,大脑有时会在这个时间不确定性的领域徘徊(Human time perception and its illusions[25])。
以太坊的区块时间有时会因为协议的各种特性而波动[26],在POS下,Ethereum 2.0可能会有更稳定的12秒区块时间[27]。
James Prestwich(@_prestwich)几年前有一篇非常好的小博客文章[28]暗示了这些主题。詹姆斯写道,
我们现在正在 “建立社会进程和技术系统,构建这些分布式技术,并将它们推向永恒的钟表运动。一旦离开我们的手,我们将很少有机会纠正我们的错误,而且我们可能不能一直照顾到我们的创造。当有人发现我们的作品躺在森林的地面上,它的齿轮在旋转,它的手在转动,他们会下什么结论?”
詹姆斯描述了这种系统的内部运作,以手表为例,为了简单起见,我在这里略过了可能的进一步关系。例如,在手表中,摆轮是维持时间的关键机械部件,如果设计得好,即使经过多年,也只会出现轻微的偏差。在高斯钟表中,相应的计算元素是SVG动画上设置的关键帧持续时间–简单来说就是块数的线性函数,tB。在以太坊本身,类似的维护是由一个更复杂的函数来维持的,下面从以太坊的难度调整[29]的详细总结中说明。