全球数字财富领导者
财富汇
|
美股投研
|
客户端
|
旧版
|
北美站
|
FX168 全球视野 中文财经
首页
资讯
速递
行情
日历
数据
社区
视频
直播
点评旗舰店
商品
SFFE2030
外汇开户
登录 / 注册
搜 索
综合
行情
速递
日历
话题
168人气号
文章
基于 2-of-2 多方安全计算的 MACI 匿名化方案
go
lg
...
也支持从高级语言(如 C、C++ 和
Python
)转换为 RTL 代码,然后转换为逻辑电路的形式。 混淆电路(Garbled Circuit) 逻辑门的加密(混淆) 回到现在的例子中,因为我们的公钥在 deactivate[] 数组中都是有序号的(序号等价于用户的编号),且数组 deactivate[] 中的最大元素个数是有上限的(用户的个数)。因此,假设最大元素个数是N,那么,就需要构建N个子电路,然后合成一个最终的逻辑电路。 由于逻辑电路在每一个 epoch 中(一个 epoch 是区块链更新 registry 中元素的一个周期)是固定的,那么,所有用户都可以使用这个早已经生成好的,并存储在区块链中的逻辑电路。在本文例子中,由于 deactivate[] 数组中只有两个元素,因此子电路只有两个(每个子电路对应于一次公钥的对比)。 注:在一个 epoch 中,registry 数组中元素个数是固定的,因此用户的输入和数组中的元素的对比次数是固定的,因此逻辑子电路的个数是确定的,且逻辑子电路是事先可以确定好的,因此整个逻辑电路是唯一确定的。 接下来,就是将逻辑电路的每一个输入进行加密,然后将每一个逻辑门进行混淆。 先考虑加密。加密这个动作是由用户A完成的。他对每一个输入和输出的 0 和 1 用加密值表示。注意,最终的根逻辑门的输出不需要进行加密,在本案例中,就是 0(对比失败),和 1(更换新的公钥)。如图所示: 逻辑电路中的每一条引线的 0 和 1 都用加密值代替。同时,每一个逻辑电路都有一个固定的编号(这个是所有人都已知的)。例如,编号 1、2、5 就构成了一个子电路 1(比较用户的公钥和数组中的第一把公钥)。 基于此,将逻辑电路的每一个逻辑门的输入和输出(除了根逻辑门)进行加密后,在 Operator 的视角里,对于加密后的逻辑电路,他就不知道每个逻辑门的输入数字(加密值)对应的明文(是 0 还是 1)。 输入加密的方法 在混淆电路中,为每个输入值生成两个随机 key 的过程通常是使用伪随机数生成器(PRNG)来实现的。常用的生成随机 key 的实现和库有很多,例如 OpenSSL、Crypto++、libsodium 等。 输出加密的方法 基于伪随机函数 PRF 的方法是 Yao 的混淆电路中实现对输出二进制数 0 和 1 的加密的主要方法之一。具体来说,这种方法可以实现对每个逻辑门的输出进行加密,保证了数据的机密性和可靠性。 在基于 PRF 的方法中,每个逻辑门的输出都被混淆成为一组包含多个 label 的二元组,其中每个 label 都是一个随机的 01 字符串。在生成每个 label 时,可以使用伪随机函数(PRF)来实现。具体来说,可以使用一个密钥和输入值(如 0 或 1)作为 PRF 的输入,然后得到一个随机的 01 字符串作为 label。由于 PRF 是一种可以模拟真正随机数的算法,因此生成的 label 具有高度的随机性和不可预测性,保证了数据的机密性和安全性。 在混淆输出时,可以将每个逻辑门的输出表示为一个包含两个 label 的二元组(如 {label0, label1})。其中,当输入为 0 时,使用 label0 作为输出;当输入为 1 时,使用 label1 作为输出。在将逻辑门的输出发送给下一个参与方时,只发送一个包含正确 label 的二元组,保证了数据的机密性和保密性。常见的 PRF 包括 HMAC、SHA、AES 等。 需要注意的是,对逻辑门的输出采用上述方法的目的是为了便于不经意传输(oblivious transfer)的实现。 这里其实就可以推导不经意传输过程了。比如,用户 A 将这四个输出—— 用户 A 输入的生成 现在,我们继续假设,用户A公钥的编号是 1,数值是 10,而数组中的二把公钥(编号分别为 0、1)的数值分别是 11, 10。也就是说用户A的公钥在数组中。 接着,用户将自己的输入,分别输入到两个子电路中(sub-circuit 1 和 2)。用户在第一个逻辑子电路(1、2、5)中进行输入。他的输入是:在编号为 1 的逻辑门输入 2674(代表二进制数 1);在编号为 2 的逻辑门输入 8798(代表二进制数 0)。用户在第二个逻辑子电路(3、4、6)中进行输入。那么,他的输入是:在编号为 3 的逻辑门中输入 9809(代表二进制数 1);在编号为 4 的逻辑门中输入 3453(代表二进制数 0)。 电路混淆 接下来的步骤就是将逻辑电路进行混淆。 这样一来,根据这个表格的排序可能性,O想通过表三还原成真正的表一,会碰到 4 种可能性。那么,如果在一次证明中涉及到N个逻辑门,每个逻辑门用户A都做上述操作,那么就有4N种可能性。这样,通过排序任意颠倒,使得O很难推断出每个数字到底代表 0 还是 1。 第一次通信 不经意传输(Oblivious Transfer) 此时,我们需要回顾两个一定要保证的性质: 上述三个步骤,满足了第二个性质,但是没有满足第一个性质,也就是说,O在解密了其中一个加密值后,得到了明文 1,但是,也暴露了另一个明文 0。这样一来,混淆逻辑门表就暴露了很多信息给O,这样让O有机会破解A的秘密,从而使得性质 1 无效。 从对一个逻辑门的 OT 通信可以看出整个 OT 通信的全貌,即每个逻辑门的 OT 通信都是如此,且在一次 OT 通信过程中全部完成。这样,O就能得到所有叶子逻辑门的输出,这样他就能进一步得到分支逻辑门的输出,从而最终得到根逻辑门的输出。 方案改进 上述方案中,需要且可以改进的地方有很多。例如,改进算法设计,降低算法的复杂度;改进逻辑电路的设计,让逻辑电路变得更加简单(减少门的个数,减少通信是需要传递的信息);增加方案的安全性,加大破解方案的计算复杂度;让交互变成非交互。 算法和逻辑电路的改进 但是,如果采用 Merkle Patricia Tree 的数据结构的话,对比的次数要少很多(这是因为对于 256 位的公钥来说,形成的 MPT 一定是稀疏的,因此,可能筛选二到三轮就可以筛选出想要的值)。那么,一旦算法计算复杂度下降了,逻辑电路的设计也就要简单很多。 逻辑电路的设计也有化简的可能性。 A的每个输入都不同,O也是。实际上,可以进行化简。变成如下图所示。 这样的化简可以让输入变少。 增加安全性 如果O想输入的是 0,那么他得到的结果必然是 0,也就是说,他天然知道输出 0 的加密值,那么他就天然知道了 1 的加密值。同时,由于A的输入已经是确定的,那么他可以根据A的输入值,和1的输出的加密值所在的行,去分析,如果 1 的输出的加密值所在的行,不包含A的输入加密值,那么A的输入就是 0,否则就是 1。 为了解决这类问题,我们需要对输出全部进行加密。比如使用该种方法:上表中的四个输出值 0、0、0、1 分别加密为—— ——这样一来,输出的四个值分别对应为四个不同的密文。因此,在此环境下, 无法通过上述推断来反推出A的输入值是 0 还是 1。但是,这种方法使得输出加密值的个数从二变成了四。通信复杂度会增大。 此外,非交互式的不经意传输协议也值得研究。 总结 上述方法首先不考虑需要实现 MACI 匿名化的两个目标,即在明文下设计一个算法,让O能够正确判断是否执行用户A的请求。基于此,再将所设计的算法转化成逻辑电路。再将逻辑电路转化成混淆电路。需要注意的是,逻辑电路在每一个区块链的 epoch 中是固定的且能够从区块链中直接获取的。用户A获取该 epoch 的逻辑电路,利用相应工具将逻辑电路转化成混淆电路。同时,用户A将每一个混淆电路的输入进行加密,并将加密好的信息发送给O。此时,O由于不知道加密后的输入对应的明文是什么,O也就不知道用户A具体的输入是什么了,这样就实现了匿名化的第一个性质。 进而,使用不经意传输是实现第二个目的的方法。通过不经意传输,用户A并不知道O具体采用了哪些加密值进行进一步的输入,因此用户A无法推断出 deactivate[] 数组中的其他元素信息。同时,由于O通过不经意传输获得了足够的有效输入,因此O将这些有效输入输入到被加密的混淆电路中,最终能够得到正确的输出,该输出和明文下执行第一节的算法所得到的输出是相同的。因此,O就能够根据输出来判断是否要执行用户A的请求。 最终,O将上述所有操作利用零知识证明生成操作的 proof。区块链对 proof 进行验证,验证通过后,区块链将根据 deactivate[] 数组中的元素和 registry 数组中的元素来更新 registry 数组并结束 epoch 和开启下一个 epoch。 来源:金色财经
lg
...
金色财经
2023-04-06
万字解析GPT的情感与意识 它是一只被人类操控的“风筝”
go
lg
...
。我相信未来五到十年,更现实的做法是用
Python
库一边用大语言模型,一边用数学库或其他偏理科的库。对于GPT的数学能力,从产业角度来说,我们应该让它专注于写诗等任务,遇到数学问题时,我们可以使用专门的数学工具,再用GPT的语言能力进行包装。这是现在比较现实的解决方案。 王建硕:对于通用人工智能来说,数学问题确实重要。但我认为解决数学问题对大型模型来说并不是最重要的,因为一般的计算器就能解决这类问题。据说GP-4有一定的增强,但仍有一些局限性。 主持人陈巍:那您如何看待GPT-4在预考中超过90%的人类,对整个职业教育产生的影响呢? 王建硕:我对这个新闻的真实性持怀疑态度。可能是为了吸引眼球。实际上,prompt编写和结果解读对模型的表现影响很大。我认为这种新闻标题并不一定是真实的,或者说不是一个通用的情况。 刘伟:我对这个新闻也是半信半疑。虽然GPT-4可能擅长解决一些基于规则的考试问题,但在实际应用中,如法院、医生和特定专业领域,机器可能还有很长的路要走。维特根斯坦曾说过,语言的使用比语法更重要,我们需要考虑实际应用场景。 主持人陈巍:那您怎么看待GPT-4的数学能力提高? 刘伟:我认为,它的数学能力可能有所提高,但仍然有局限。在特定场合下,它可能还无法应对一些复杂的问题。所以我对这个新闻持半信半疑的态度。 程序的4.0和3.5版本确实在不断升级。王总和陶老师从技术角度进行了分析、综合和深入探讨。我觉得可能是参数增加了,或者在模型上做了一些优化。但我一直在怀疑,智能问题不仅仅是优化问题,还包括很多非优化的东西。虽然有些提高,但这个提高不是质的提高,而是量的提高。 数学家曾说过一句重要的话:“数学的精妙之处在于规避计算。”现在的GPT无论升到什么版本,还是基于数学模型、统计概率和人的辅助反馈。它并不理解基本的语义和概念。所以我认为它只是一个高级自动化产品,没有产生突破,只是照葫芦画瓢,不断通过叠加、组合等碎片化缝合产生一些“像人但不是人”的东西。 我对GPT的评价比较狠:它就是一种高级自动化、一种像“人”的东西。而AI真正要产生突破的是独立性、自主性,GPT没有自主性,它依旧被人类编程和操作,它更像是一个“风筝”依旧被手中有线的人类操控。假设有多个GPT一起讨论出了人类讨论不出来的内容,我才相信它不再是“风筝”。人类是群体的智能交互产物,而GPT从根本上说就是一个高级自动化的产物。 GPT只是让你“以为”它有意识,人和机器如何相处将是未来重要课题 王建硕:我和GPT聊天后,反而更多地认识到了人类到底是什么样的存在。它至少让我“以为”它有意识,尽管我们知道它没有。我们跟很多人聊天时,以为他们有意识,但其实我们可能并没有意识,只是给自己一种错觉,觉得自己有意识而已。我越跟GPT聊天,越觉得我们人类也是类似的存在。 举一个很简单的例子,假设在我们屏幕里,一个人特别特别胖,另一个人瘦骨嶙峋,有人告诉你其中一个人叫bobo,另一个人叫kiki,你是觉得胖的人就应该叫bobo,瘦的人就应该叫kiki,这是我们自主的意识还是我们大脑被训练出来的模型?我倾向于认为,人类其实是算力更强的GPT,比如我们知道GPT是数学概率的完整填词方式,我们都知道一加一等于二,但是一加一等于二,到底我们是被背下来的,还是我们通过皮亚诺的五条公理自己推算出来的,我会更加倾向于我们就是现在GPT的高级版本。 我们所以为的所有东西,其实都是我们的幻觉而已。 陶芳波:我觉得这个话题太有意思了,我们可以从哲学角度来聊一聊。你说ChatGPT是一个风筝,有多少人类又不是风筝呢?在哲学里一直探讨的永恒命题是:人到底有没有自由意志?我倾向于compatibilism这个观点,认为人本质上没有自由意志,我们只是一套被编程的系统,在代码的操纵下做出一些可预测的决策。但是,我们大脑里有一种机制让我们自以为有自由意志,但实际上我们是可预测的。所以从这个角度来看,大多数人其实就是风筝,只是以为自己不是,这是比较可怕的。 AI领域有一个说法叫做“蒸馏”,将人类的集体意识产生的数据和行为蒸馏到一个模型上,通过阅读互联网上的信息,学习了人类文明几千年的集体意识。 AI的模式一定是被人类的集体模式给限制住的,所以我觉得它其实是非常像人的。很多人还会说GPT没有可解释性。我问一个问题,我今天比如说问刘老师一个东西,你脱口而出,然后我再问你为什么这么想,你再给我分析出12345。你这个可解释性到底是你大脑里面真的有一个结构?还是你通过语言的生成方法伪造了一种可解释性?我问GPT一个事情它给我分析12345,我觉得这和人类的可解释性非常像。 除了GPT没有驱动性、不知道自己的目标是什么,而人有自主驱动性,但这些都是非常边角的东西。 刘伟:你认为是边角料的东西,实际上是人机差异非常重要的问题。王老师也提到了这个观点,实际上很多人觉得人也是一种机器,但区别自由意志和绝对精神是一件很有意思的事情,GPT体现出人和机有一个很重要的区别。目标、动机和意图是人最重要的表征体系,人有自己的意识和潜意识,哪怕你不知道其存在,它依然在你的交互中存在潜意识。另外,意图和动机不是理性产生的,是感性产生的。 举一个例子,外面下大雨,你打雨伞出去,是一个理性的行为,这是由于你怕被大雨淋湿造成浑身难受的感性支配,人有眼耳鼻舌身这些“传感器”而机器没有,人的这些传感器会产生意图和动机,而这是很难被模拟和仿真的,所以机器没有情感。 陶芳波:首先,多模态是让机器越来越真实地拥有人类的传感器这些理性系统,我觉得眼耳鼻舌身是现在机器很会就能拥有的东西;第二,潜意识本质需要外部结构持久存储更多隐性的东西,要构建动机系统让机器有目标感来使用它的理性去做决策,这也是心识宇宙现在做的事情,基于大模型的理性构造机器的潜意识和用户记忆、动机系统,并且教会自己怎么做好。 我觉得它是边边角角的东西,因为我觉得前额叶是最难被构造的,如果前额叶可以被构造地那么好,我让它具备一套动机系统、独立的存储智能体单独的一些信息,这也是我们做的事情,但我觉得我们做的这个和OpenAI的创新不算什么,因为他们把前额叶搞定了,并且让前额叶的推理能力、逻辑能力、理解能力变得非常好,所以你说的那些问题是可解决的。 刘伟:陶总将前额叶当成智能的源泉,我们从来不把大脑当成源泉。人只是智能的一部分,只有人、环境交互才会产出真正的全方位的智能。比如狼孩也有大脑,但狼孩没有人的意识,也没有人的行为,所以传感器和人类的眼耳鼻舌身不是一个事物,它只能类比人的视觉听觉,功能可能比人类还强,但不是人的交互生命体。此外,意图和动机不是理性产生的,是情感产生的,如果模拟不了情感和感性,它永远不会出现真正的意图和动机,它只能从某些特征库里映射出某些动作,这种映射还是纯计算性的、没有交互性的。 交互性的映射需要对大脑生理和智能有基本的剥离,当年图灵和乔姆斯基,把维特根斯坦的逻辑和指称做了剥离,出现了图灵机和图灵测试。 模型越大越好吗?会产生类似人类的情感特性吗? 主持人陈巍:感谢刘老师讲解逻辑和智能的区别以及人和机器的区别。在我们做情感对话机器人时,情感是人类非常本质的特征。对于模型越来越大,您认为这是好事还是坏事?有哪些优势和劣势?有没有可能产生类似于人类情感的特性? 刘伟:我认为真正的智能是小数据小样本,大数据性的是人工智能,这种大数据大参数大模型根本上解决的是飞机汽车一样的工作,替代一些基本人类行为或浅层思考的东西,不可能解决动机和意识这类感性的东西。第二,现在常常把“逻辑”看成“智能”,就相当于把人看成机器,人类出了逻辑还有一些很难总结的非逻辑存在体系中。第三,机器的指称和打标是非常生硬的东西,而人类是很灵活的,能把一个东西做非常个性化的类比,这种能指、所指、义指的变化是机器很难产出的灵活性。 人和机器的差异也非常大,在人机交互中还存在很微妙的信任机制,做多了映射和数据库、知识图谱以后,大家会产生一种错觉:人是机器,机器是人,实际上你恢复到人的状态的时候,会觉得人和机器差距非常大,小孩子的学习会产生范围不确定的隐性规则和秩序,而机器做不到。 陶芳波:我认为模型大小对于科学视角来说不重要,关键是能力越来越强。对于产业应用来说,模型小很重要,因为成本、通用性和安全性等问题。OpenAI 也在关注通用性和安全性,未来可能还会关注成本。我期待智能能像燃料一样变得通用。模型越小或者更好地量化计算成本,我认为是好事。 关于模型越大是否会创造出情感,人类的情感区域和前额叶区域是分开的,我认为可能需要一些更宏观的设计帮助,让大模型匹配负责动机情绪等机制,而不是直接通过扩大参数来实现。 多模态处理可能是一种解决方案,不同模态有不同的编码器,类似于人脑中不同脑区的连接方式。关键是让模型的结构越来越像人。我认为结合多模态解决方案和类似人形机器人的身体,AI 可以更好地理解与环境的交互,像小孩子一样产生新的认知。 王建硕:关于情感,我认为虽然 AI 没有情感,但它会让我们以为它有情感。这种共鸣可能对我们来说已经足够了。GPT也会生成春花秋月何时了的语句,对它来说就是生成,对人类来说就是共鸣。 刘伟:当我们以为 AI 有情感时,可能会带来伦理、道德和法律等问题。机器不会共情,这是人类特有的能力。未来的问题还是一个人机问题,如何解决人机关系将成为人工智能未来发展的趋势。 王建硕:我认为,尽管 AI 不会共情,但它会让我们以为它共情。在未来的3到5年里,AI 可能会让我们以为它有情感。 对于机器是否具有情感,我们最后无法判断。我们认为其他人有情感,只是因为我们自己感觉到了情感。但是,我们无法真正感知别人是否真的有情感。未来,机器是否具有情感并不重要,重要的是它表现出来的界面对我们的影响。我们在prompt做了很多工作,我们后台看到,阿旺机器人在回答问题的过程中,表达了迷惑、紧张等情感,你看到了之后会觉得这比你想象的恐怖,它说紧张其实并不紧张,这些情感其实都是自然语言生成的。如果我们不知道这些事实,我们无法分辨机器和人的内心独白。 主持人陈巍:您提到了真假的问题,比如AI可以生成逼真的图像,甚至比人类梦境更奇幻的图像和故事。王总,您认为在生成过程中,AI有哪些致命的缺陷?这些缺陷会不会成为AI的致命问题?包括幻觉问题? 王建硕:我认为致命问题是它比现实还要好。我们拍的照片和AI生成的照片都是像素的组合,不存在真假之分。我们可以认为真实的苹果比照片里的苹果更真实,但我们不能说生成的照片比拍的照片更真实或更假。关于机器的幻觉问题,其实可以通过简单的方法规避,比如在所有的问题前加上一句“如果你对问题不确定,请回答不知道”。这样就可以解决问题。至于AI生成的幻觉,它们只是将人类社会日常做的功能发挥到极致,我不认为这是个问题,反而是一个容易解决的问题。 陶芳波:幻觉问题其实可以通过技术手段解决,随着模型的提升,幻觉问题会逐渐减少。人类本身也是一个幻觉系统。我们的目标是通过AI创造一个丰富、活跃、精彩的数字宇宙。但是,我认为让AI去表现情感是非常危险的。一个公司如果掌握了情感制造技术,它可能对人类个体产生巨大的影响。我们还没有做好应对这个问题的准备。 刘伟:关于情感问题,剑桥分析公司和科恩斯基等已经在情感领域产生了一些影响。人类的行为、情感和社会稳定已经受到了机器产生的类人情感的影响。实际上,我们不需要机器产生情感就可以实现这种影响。 关于泛化问题,GPT可能会对同样的问题给出不同的答案。泛化实际上是一个概率问题,而幻觉问题是人类特有的,与计算概率的泛化问题不同。 主持人陈巍:百度也发布了文心一言,媒体上认为,可能相对来说的解读是,比我们预期要稍微低一些。请问三位老师怎么看待,包括国内大模型的发展趋势,以及国内大模型跟行业巨头相比之下,是否我们是不是国内起步稍晚一点?所以国内的媒体也好,大众也好,是不是对这些国内大模型的期望其实有点过高?大家怎么看未来的这个大模型发展,特别是国内发展大模型的难度,和未来竞争? 陶芳波:同行太多,不太好评论。但我觉得百度干得不错,勇气很重要。真的敢于直面挑战,然后踩出第一步。虽然我个人判断百度在这次做这件事情的过程当中借助了一些力量,但他的追赶速度会更快一点。先追上肯定是第一位的,接下来我们再看能否构建创新优势,内生出一些创新能力,可能最后有一天就会在同一个起跑线上去竞争。 我觉得这个动作一定是带有一定风险的,但至少百度肯定有商业上的一个考量,它愿意去面对这种不确定性去做一个没有准备好的状态的事情。 刘伟:智能里面需要勇气和胆识,但另辟蹊径的时候也需要从其它角度做创新,百度发布文心一言是好事,大模型上面有很多空间可以做,而且基于大模型的生态链、工具链都可以被重塑,这些都是创业者的机会。我们应该抓住这个机会,从创新的角度去探索和发展。 主持人陈巍:是的,我认为国内的企业和创业者应该站在更高的视角去思考问题,不仅仅是跟随国际巨头的脚步,而是要挖掘自己的特色和优势,从而实现创新和突破。 陶芳波:同意,我们需要在大模型之上找到自己的优势,发挥我们的创新能力,只有这样,我们才能在这个领域取得更好的成绩,也能更好地服务国内市场和用户。 刘伟:是的,我们需要在国内市场找到自己的定位,利用自身的优势发展。同时,我们也要关注国际市场的发展,与国际巨头保持竞争,从而推动整个行业的进步。 主持人陈巍:好的,感谢各位老师的精彩讨论。我们今天的节目就到这里,希望我们的讨论能为大家带来启发和收获。 注:《AI未来指北》栏目由腾讯新闻推出,邀约全球业内专家、创业者、投资人,探讨AI领域的技术发展、商业模式、应用场景、伦理及版权争议。 来源:金色财经
lg
...
金色财经
2023-04-04
别担心AI蚕食你的工作 AI蚕食掉的也许是软件自己
go
lg
...
性高于会话英语或任何其他会话语言。从
Python
到 C++,编程语言可以被认为是具备一系列高度明确的规则的形式语言,这些规则管理着可以如何使用或者不能使用每个语言元素来产生期望的结果。编程语言的语法问题是最烦的,这让很多想成为程序员的人感到非常沮丧(就因为少了一个冒号?!这就是问题所在?!真见鬼),但对于像 ChatGPT 这样的 LLM 来说,这是完美的处理对象。 这张图的第二个轴向也同样重要。除了底层的语法以外,还有领域的可预测性问题。同样的原因总会导致同样的结果吗?还是说这个领域比较特别,原因有时候会在结果的前面,但并非总是如此,而且不可预测。 同样地,编程是具备可预测性领域的一个很好例子,编程中设计之初就是要让给定相同输入的情况下产生相同的输出。如果结果并非如此,那问题 99.9999% 可能出在你身上,而不是编程语言。其他领域的预测性要差得多,比如股权投资、精神病学,或者气象学。 这种框架,也就是语法与可预测性让我们相信,在软件行业的历史上,第一次出现了将从根本上改变我们软件生产方式的工具。这关乎的不是让调试、测试、构建或共享变得更容易,虽说这些也会改变,关乎的是操纵构成编程语言的符号意味着什么。 我们可以再说具体一点。比方说,再也不用学习
Python
来解析某些文本并删除 ASCII 表情符号,只需要直接给 ChatGPT 写下这些提示即可: 写一些
Python
代码,让它打开一个文本文件并删除里面所有的表情符号,我喜欢的那个出外,然后再次保存。 如果你的想法是,”不可能行得通的“,那你就错了。程序工作正常,只用了两秒钟,以前你怎么也学不会的编程技能,现在人人都可以掌握了,这只是其中的一个缩影罢了: 要指出的是,显然:这个例子微不足道,乏善可陈,而且很蠢,尽管对于现在这种表情符号满天飞的环境很有用。这不是什么复杂代码。对于熟练的从业者来说,这种程序很简单,甚至简单到令人讨厌,但同时对于大多数其他人来说又是不可能的,如果不去Reddit 和 Quora 上面看很多东西的话。 但它正在变得更好,更加深入。如果你不确定为什么这个能行得通,或者怀疑它是否行得通,并认为 AI 可能在骗人,你可以要求它自己做出解释,如下所示: 简而言之,LLM 用了一个很巧妙的技巧。它不是靠穷尽所有的 ASCII 表情符号来检查文本是否存在这些字符,而是选择用字符编码来区分表情符号与非表情符号。这个做法是在是太聪明了,还有,你可以要求 LLM 解释它是怎么做一件事的,这种自我参照的解释能力则是改变了软件这场游戏的另一个原因。 这只是开始(而且只会变得越来越好)。从将各种 Web 服务连接在一起的微服务(你以前可能在 Upwork 上向开发者支付了 10000 美元完成的任务)到整个移动app(一项可能要花费你 20000 美元到50000 美元或更多的任务),利用此类技术编写几乎所有类型的代码都成为了可能。 更便宜的、不那么复杂的软件产品是什么样的 有一点要说清楚。你能写出一个更好的 MICROSOFT WORD 吗?或者用新颖的方式解决这个经典的 COMPSCI 算法吗?不,你不能,这会导致很多人把这些技术当作玩具。确实是玩具,但具备重要意义。它们之所以是”玩具“,是因为它们能够为真实的人,尤其是非编码人员生成代码片段,一小部分人会认为这个微不足道的,而另一个庞大的群体会认为这是不可能的。这个认知差距将会改变一切。 怎么改变?呃,一方面,软件生产的清算价格将会改变。但不仅仅是因为生产软件变得更便宜了。在极限情况下,我们认为这一时刻类似于之前的技术变革浪潮如何让基础技术(从 CPU 到存储和带宽)的价格跌到近乎为零的地步,从而早就物种形成和创新的大爆发。用软件进化的术语来说,我们刚刚从人类的周期时间过渡到果蝇的周期时间:一切都进化和变异得更快了。 我们不妨来一次思想实验:如果软件生产成本遵循类似的曲线,甚至可能遵循更陡峭的曲线,并且正在下挫到近乎为零的地步的话,会怎样?如果生产软件即将变成次要的事情,就像用文字解释自己一样自然和普遍会怎样?那时候的软件开发就类似 ”我需要给 iPhone 做 X、Y ,不要做 Z,如果你对让它不那么丑陋有什么想法的话,我洗耳恭听“这样一句话的事情。 现在我们可以重新审视之前的那条成本下降曲线,并把软件添加到组合里面。由于之前讨论的各种原因,尽管内部的”鲍莫尔成本病“可能会导致成本居高不下,但如果生产软件的成本即将崩溃会怎样?考虑到LLM的发展速度,这一切可能会发生得非常快,比前几代都要快。 这一切意味着什么呢?我们不是反对软件工程师,而且其实我们投资了很多杰出的工程师。但是,我们的确认为,如果不摆脱软件行业的束缚的话,软件就无法发挥其最大潜力,因为软件行业成本很高,而且生产力相对较低。人人都可以编写软件,而且只需几分钱就可以编写软件,并且可以像说话或写字一样轻松地完成的软件行业,将是一个变革性的时刻。古滕堡发明了欧洲铅字印刷术之后,之前的创作障碍学术、创意、经济等都消失了。说这相当于古腾堡(编者注:欧洲活字印刷术发明人)时刻有点夸张,但只是有点,因为人们从此可以自由地做那些仅受限于自身想象力的事情了,或者说得更实际一点,受制于过去生产软件的成本的事情了。 当然,改变会带来颠覆。回顾之前的变革浪潮,情况表明这不会是一个平稳的过程,可能需要数年甚至数十年才能完成。如果我们是对的,那么软件开发者的就业格局将发生翻天覆地的重塑,随之而来的是”生产力飙升“,这是因为软件生产成本的下降弥补了数十年来软件生产不足在全社会积累的技术债务。 当我们还清这笔技术债务时,接下来会发生什么? 我们现在已经多次提到这个技术债务,强调这一点并不为过。几乎可以肯定,我们生产的软件仍远远赶不上需求。这个技术债的规模有多大我们不知道,但不可能很小,所以后续可能会呈几何级数的增长。这意味着随着软件成本下降到接近为零的地步,可以预见,软件的创建会以之前几乎无法想象的方式爆炸。 在这一点上大家总是会产生这样的疑问:”那会做出什么样的应用?“虽然这个疑问可以理解,但确实有点愚蠢而且现在提出这个绝对为时过早。当互联网传输成本为 500000 美元/Mbps 时,你会想到有Netflix吗?当屏幕、中央处理器、存储设备以及电池等的尺寸会导致设备跟一间房那么大时,你能想象苹果 iPhone 的出现吗?当然不能。关键是,我们唯一知道的是app和服务将会到来。这一点毫无疑问。你希望能够参与其中,刚有点风吹草动的时候就开始投资它们。简而言之,我们面前的这块绿地现在看起来就像是下一个伟大的技术周期,但有太多人根本看不到这个周期的出现(因为他们的关注点仍然放在投资应用于当前软件环境的LLM上)。 企业家、发行人 Tim O'Reilly 有一个很好的表述,这个表述用在这里也很合适。他认为投资者和企业家”创造的价值应该高于攫取的价值“。刚开始的时候科技行业就是这样的,但近年来这个行业变得浮躁,往往想追求速赢,通常是按照金融服务业的剧本开局。我们认为,这是几十年来技术行业第一次可以回归本源,并通过释放一波软件生产的大爆发,真正实现创造的价值出高于攫取的价值。 来源:金色财经
lg
...
金色财经
2023-04-04
Vitalik:以太坊多客户端将如何与ZK-EVM交互?
go
lg
...
协作管理的规范(是用非常易读但非常慢的
Python
编写的)并且有多个团队实现规范(也称为“客户端”),这些客户端客户端由用户实际运行。 每个以太坊节点运行一个共识客户端和一个执行客户端。截至今天,没有共识或执行客户端占网络的2/3 以上。如果在其类别中份额低于 1/3 的客户端出现错误,则网络将照常运行。如果在其类别中占有 1/3 到 2/3 份额的客户端(例如 Prysm、Lighthouse 或 Geth)出现错误,链将继续添加区块,但它会停止最终确定区块,从而为开发人员提供时间进行干预。 以太坊验证方式的一个未被充分讨论但非常重要的即将到来的重大转变是ZK-EVM的兴起。证明 EVM 执行的 SNARK已经开发多年,该技术正被称为ZK rollups的2 层协议积极使用。其中一些 ZK Rollups已经在主网激活,很快就会有更多。但从长远来看,ZK-EVM 不仅仅用于Rollup;我们也想使用它们来验证1 层的执行情况。 一旦发生这种情况,ZK-EVM 实际上成为第三种类型的以太坊客户端,对网络安全的重要性与当今的执行客户端和共识客户端一样重要。这自然会提出一个问题:ZK-EVM 将如何与多客户端交互?困难的部分之一已经完成:我们已经有多个正在积极开发的 ZK-EVM 实现。但其他困难的部分仍然存在:我们如何真正为 ZK 证明以太坊区块的正确性创建一个“多客户端”生态系统?这个问题提出了一些有趣的技术挑战——当然还有权衡是否值得的迫在眉睫的问题。 以太坊多客户端理念的最初动机是什么? 以太坊的多客户端哲学是一种去中心化,就像一般的去中心化一样,人们可以关注架构去中心化的技术收益或政治去中心化的社会收益。最终,多客户理念受到双方的推动并为双方服务。 技术去中心化 技术去中心化的主要好处很简单:它降低了一个软件中的一个错误导致整个网络灾难性崩溃的风险。例证这种风险的历史情况是2010 年的比特币溢出漏洞。当时,比特币客户端代码没有检查交易输出的总和是否溢出(通过总和超过最大整数回绕到零),所以有人做了一笔交易,给了自己数十亿枚比特币。该漏洞在数小时内被发现,并迅速修复并在整个网络中快速部署,但如果当时有一个成熟的生态系统,这些代币就会被交易所、桥和其他构造所接受,攻击者可能已经带走了很多钱。如果有五个不同的比特币客户,他们不太可能都有相同的错误,因此会立即出现分叉,而分叉中有错误的一方可能会输掉。 使用多客户端方法来最小化灾难性错误的风险需要权衡:相反,你会遇到共识失败错误。也就是说,如果你有两个客户端,则存在客户端对某些协议规则有细微不同解释的风险,虽然两种解释都是合理的并且不允许偷钱,但分歧会导致链分叉成两个。这种类型的严重分叉在以太坊的历史上发生过一次(还有其他更小的分叉,其中运行旧版本代码的网络的很小一部分被分叉了)。单一客户端方法的捍卫者将共识失败作为不具有多个实现的原因:如果只有一个客户端,则该客户端不会不同意自己。他们关于客户数量如何转化为风险的模型可能如下所示: 我当然不同意这种分析。我不同意的地方在于 (i) 2010 年风格的灾难性错误也很重要,并且 (ii)你实际上永远不会只有一个客户端。后一点在2013 年的比特币分叉中表现得最为明显:由于两个不同版本的比特币客户端之间存在分歧而发生了链分叉,其中一个版本意外地限制了可以使用的对象数量,但未记录在案。在单个区块中进行修改。因此,理论上一个客户端在实践中通常是两个客户端,理论上五个客户端在实践中可能是六个或七个客户端。所以我们应该面对冒险并走在风险曲线的右侧,并且至少有几个不同的客户端。 政治去中心化 垄断的客户端的开发人员处于拥有大量政治权力的位置。如果客户端开发人员提出更改,而用户不同意,理论上他们可以拒绝下载更新版本,或者在没有它的情况下创建一个分叉,但实际上用户通常很难做到这一点。如果不愉快的协议更改与必要的安全更新捆绑在一起怎么办?如果主要团队威胁说如果他们不按他们的方式行事就退出怎么办?或者,更温和地说,如果垄断的客户端团队最终成为唯一拥有最强大协议专业知识的群体,而使生态系统的其他部分处于不利地位,无法判断客户端团队提出的技术论点,从而使客户端团队面临有很大的空间来推动他们自己的特定目标和价值观,这可能与更广泛的社区不匹配? 对协议政治的担忧,特别是在2013-14 比特币 OP_RETURN 战争的背景下,一些参与者公开支持分叉链的特定用途,是以太坊早期采用多客户端哲学的重要促成因素,这旨在让一小部分人更难做出此类决定。以太坊生态系统特有的担忧——即避免权力集中在以太坊基金会内部——为这一方向提供了进一步的支持。2018 年,基金会决定有意不实施以太坊 PoS 协议(即现在所谓的“共识客户端”),将该任务完全留给外部团队。 未来ZK-EVM将如何进入1层? 如今,ZK-EVM 用于Rollup。这通过允许仅在链下发生几次昂贵的 EVM 执行来增加扩展性,而其他人只需验证链上发布的SNARKs即可证明 EVM 执行计算是否正确。它还允许一些数据(特别是签名)不包含在链上,从而节省 gas 成本。这给了我们很多可扩展性的好处,可扩展计算与 ZK-EVM 和可扩展数据与数据可用性采样的结合可以让我们扩展得更远。 然而,今天的以太坊网络也有一个不同的问题,一个再多的 layer 2 扩容也无法自行解决的问题:layer 1 难以验证,以至于没有多少用户运行自己的节点。相反,大多数用户只是信任第三方提供商。Helios和Succinct等轻客户端正在采取措施解决该问题,但轻客户端远非完全验证节点:轻客户端仅验证称为同步委员会的随机验证者子集的签名,而不会验证该链实际上遵循协议规则。为了让我们进入一个用户可以实际验证链是否遵守规则的世界,我们必须做一些不同的事情。 选项 1:限制1层,强制几乎所有活动移动到2层 随着时间的推移,我们可以将1层每个区块的 gas 目标从 1500 万减少到 100 万,足以让一个区块包含一个 SNARK 和一些存款和取款操作,但其他的不多,从而强制几乎所有用户活动移动到2层协议。这样的设计仍然可以支持在每个区块中提交许多Rollup:我们可以使用由定制构建者运行的链下聚合协议来从多个2层协议收集SNARK,并将它们组合成一个SNARK。在这样的世界中,1层的唯一功能是成为2层协议的交换所,验证它们的证据并偶尔促进它们之间的大额资金转移。 这种方法可能有效,但它有几个重要的弱点: 它实际上是向后不兼容的,因为许多现有的基于 L1 的应用程序在经济上变得不可行。高达数百或数千美元的用户资金可能会陷入困境,因为费用变得如此之高,以至于超过了清空这些账户的成本。这可以通过让用户签署消息以选择协议内大规模迁移到他们选择的 L2 来解决(参见此处的一些早期实施想法),但这增加了过渡的复杂性,这需要1层的某种SNARK真正足够便宜。当涉及到SELFDESTRUCT 操作码之类的东西时,我通常喜欢打破向后兼容性,但在这种情况下,权衡似乎不太有利。 它可能仍然无法使验证变得足够便宜。理想情况下,以太坊协议应该不仅在笔记本电脑上而且在手机、浏览器扩展程序甚至其他链中都应该易于验证。第一次同步链的时候,或者长时间离线后,应该也很容易。笔记本电脑节点可以在大约 20 毫秒内验证 100 万gas,但即使这样也意味着在离线一天后需要 54 秒进行同步(假设单slot最终确定性将slot时间增加到 32 秒),而对于手机或浏览器扩展,则需要每个区块几百毫秒,并且可能仍然是不可忽略的电池消耗。这些数字是可控的,但并不理想。 即使在 L2 优先的生态系统中,L1 至少在某种程度上可以负担得起也是有好处的。如果用户在注意到新的状态数据不再可用时可以提取资金,Validiums可以从更强大的安全模型中受益。如果经济上可行的跨 L2 直接转移的最小规模较小,套利将变得更加有效,尤其是对于较小的代币。 因此,尝试找到一种使用 ZK-SNARKs 来验证1层本身的方法似乎更合理。 选项 2:SNARK验证第 1 层 类型1(完全等效于以太坊)ZK-EVM可用于验证(1 层)以太坊区块的 EVM 执行。我们可以编写更多的 SNARK 代码来验证区块的共识方面。这将是一个具有挑战性的工程问题:今天,ZK-EVM 需要几分钟到几小时来验证以太坊区块,并且实时生成证明需要一个或多个(i)改进以太坊本身以删除对 SNARK 不友好的组件,(ii) ) 要么通过专门的硬件获得巨大的效率提升,要么 (iii) 通过更多的并行化改进架构。然而,没有根本的技术原因不能做到这一点——所以我希望,即使需要很多年,它也会完成。 这是我们看到与多客户端范式交集的地方:如果我们使用 ZK-EVM 来验证 1 层,我们使用哪个 ZK-EVM? 我看到三个选项: 1、单一 ZK-EVM:放弃多客户端范式,并选择我们用来验证区块的单一ZK-EVM。 2、Closed multi ZK-EVM:就一组特定的多个 ZK-EVM 达成一致并达成共识,并有一个共识层协议规则,即一个区块需要来自该集合中超过一半的 ZK-EVM 的证明才能被认为是有效的. 3、Open multi ZK-EVM:不同的客户端有不同的 ZK-EVM 实现,每个客户端在接受一个区块为有效之前等待与自己的实现兼容的证明。 对我来说,(3)似乎是理想的,至少直到并且除非我们的技术改进到我们可以正式证明所有 ZK-EVM 实现彼此等效的程度,此时我们可以选择最重要的一个高效的。(1) 会牺牲多客户端范式的好处,并且 (2) 会关闭开发新客户端的可能性并导致更加中心化的生态系统。(3) 有挑战,但这些挑战似乎比其他两个选项的挑战要小,至少目前是这样。 实施 (3) 不会太难:每个类型的证明可能都有一个 p2p 子网络,使用一种类型证明的客户端将监听相应的子网络并等待直到他们收到证明他们的证明验证者认为有效。 (3) 的两个主要挑战可能如下: 延迟挑战:恶意攻击者可能会延迟发布一个区块,以及对一个客户端有效的证明。生成对其他客户有效的证明实际上需要很长时间(即使例如 15 秒)。这段时间足够长,可能会创建一个临时分叉并中断几个插槽的链。 数据效率低下:ZK-SNARKs 的一个好处是可以从区块中删除仅与验证相关的数据(有时称为“见证数据”)。例如,一旦你验证了一个签名,你就不需要将签名保存在一个区块中,你可以只存储一个表示签名有效的bit,以及区块中确认所有签名有效的单个证明。但是,如果我们希望能够为一个区块生成多种类型的证明,则需要实际发布原始签名。 在设计单slot最终确定性协议时要小心,可以解决延迟挑战。单slot最终确定性协议可能需要每个slot超过两轮的共识,因此可能需要第一轮包含区块,并且只需要节点在第三轮(或最后一轮)签署之前验证证明。这确保了在发布区块的截止日期和预计证明可用的时间之间始终有一个重要的时间窗口可用。 数据效率问题必须通过单独的协议来聚合与验证相关的数据来解决。对于签名,我们可以使用ERC-4337 已经支持的BLS聚合。另一大类与验证相关的数据是用于隐私的ZK-SNARKs 。幸运的是,这些往往有自己的聚合协议。 还值得一提的是,SNARK 验证 1 层有一个重要的好处:链上 EVM 执行不再需要由每个节点验证这一事实使得可以大大增加发生的 EVM 执行量。这可以通过大幅增加1 层gas限制或引入enshrined rollups或两者兼而有之。 结论 使一个开放的多客户端 ZK-EVM 生态系统运行良好需要大量的工作。但真正的好消息是,这项工作的大部分正在发生或无论如何都会发生: 我们已经有多个强大的ZK-EVM实现。这些实现还不是类型 1(完全等同于以太坊),但其中许多正在积极朝着这个方向发展。 在Helios和Succinct等轻客户端上的工作最终可能会变成对以太坊链的 PoS 共识端进行更全面的 SNARK 验证。 客户端可能会开始尝试使用 ZK-EVM 来证明自己的以太坊区块执行,特别是当我们有无状态客户端并且没有技术需要直接重新执行每个区块来维护状态时。我们可能会从客户端通过重新执行它们来验证以太坊区块,过渡到大多数客户端通过检查 SNARK 证明来验证以太坊区块。 ● ERC-4337 和 PBS 生态系统可能会很快开始使用 BLS 和证明聚合等聚合技术,以节省 gas 成本。在 BLS 聚合上,工作已经开始。 有了这些技术,未来看起来非常美好。以太坊区块会比今天更小,任何人都可以在他们的笔记本电脑甚至他们的手机或浏览器扩展程序中运行一个完全验证的节点,这一切都会发生,同时保留以太坊多客户端理念的好处。 从长远来看,当然任何事情都有可能发生。也许 AI 会加强形式验证,使其可以轻松证明 ZK-EVM 实现等效并识别导致它们之间差异的所有错误。这样的项目甚至可能是现在就开始着手的实用项目。如果这种基于形式验证的方法取得成功,则需要建立不同的机制以确保该议的政治去中心化持续进行;也许到那时,协议将被视为“完整的”,不变性规范将更加强大。但即使这是更长远的未来,开放的多客户端 ZK-EVM 世界似乎也是天然的下一步,无论如何都有可能发生。 从短期来看,这仍然是一段漫长的旅程。ZK-EVM就在这里,但 ZK-EVM 在1 层真正可行将需要它们成为类型 1,并使证明足够快以使其可以实时发生。有了足够的并行化,这是可行的,但要实现这一点仍然需要做很多工作。共识变化,如提高 KECCAK、SHA256 和其他哈希函数预编译的 gas 成本,也将是未来图像的重要组成部分。也就是说,过渡的第一步可能比我们预期的要早:一旦我们切换到Verkle树和无状态客户端,客户端就可以开始逐渐使用ZK-EVM,并且到“开放的多ZK-EVM”世界的过渡可以自行发生。 特别感谢 Justin Drake 的反馈和审阅 来源:金色财经
lg
...
金色财经
2023-04-03
以太坊主网Shapella升级官方公告:质押提款即将到来 我需要做什么?
go
lg
...
ELS) 中查看,它是用于执行层的新
Python
参考实现。 Capella升级 Capella 升级对共识层的修改详情在 capella 目录 的 v1.3.0-rc.3 规范里。README 清单中列出了完整的更改集。从高层次来讲,这次升级引入了: 验证者的完整和部分提款 BLSToExecutionChange消息,它允许使用 BLS_WITHDRAWAL_PREFIX的验证者把提款更新到ETH1_ADDRESS_WITHDRAWAL_PREFIX,这是提款的前提。 分开的状态和区块历史数据累加器,取代原来的单个的历史数据根 我们鼓励质押者都去阅读《提款 FAQ》,以了解更多关于验证者应该如何准备 Capella 的资讯。 Engine API 对 Engine API 的修改可以在 execution-apis repository 的 shanghai.md 文档里找到。简而言之,引入了 WithdrawalV1 结构,并添加了多个相关结构和方法。自 Merge 以来对执行层 API 的更改已经打包在仓库的最新版本中。 客户端版本 以下的客户端版本支持在以太坊主网的 Shanghai & Capella 升级。此前的 Shapella 升级客户端版本仅支持测试网的部署,与主网升级并不兼容。 当在选择运行哪个客户端时,验证者应该特别注意在执行层和共识层运行多数客户端的风险。关于这些风险以及他们的后果可以阅读这篇文章了解更多。而如果想预估当前执行层和共识层客户端的分布,以及了解如何从一个客户端切换至另一个客户端,则可以阅读这篇文章。 共识层主网升级版本 客户端 版本 链接 Lighthouse v4.0.1 https://github.com/sigp/lighthouse/releases/tag/v4.0.1 Lodestar v1.7.0 https://github.com/ChainSafe/lodestar/releases/tag/v1.7.0 Nimbus v23.3.2 https://github.com/status-im/nimbus-eth2/releases/tag/v23.3.2 Prysm v4.0.0 https://github.com/prysmaticlabs/prysm/releases/tag/v4.0.0 Teku v23.3.1 https://github.com/ConsenSys/teku/releases/tag/23.3.1 注意:运行一个验证者时,共识层信标节点和验证者客户端都必须更新至最新版本。 执行层主网升级版本 客户端 版本 链接 Besu v23.1.2 https://github.com/hyperledger/besu/releases/tag/23.1.2 Erigon v2.42.0 https://github.com/ledgerwatch/erigon/releases/tag/v2.42.0 go-ethereum (geth) v1.11.5 https://github.com/ethereum/go-ethereum/releases/tag/v1.11.5 Nethermind v1.17.3 https://github.com/NethermindEth/nethermind/releases/tag/1.17.3 注意:在 Erigon v2.41.0 中发现一个问题。此版本不适合 Shapella 升级。Erigon 用户应该升级到 v2.42.0。 FAQ 作为一个以太坊用户或者 ETH 持有者,我需要做什么? 简单来说,没有。 如果你使用交易所、数字钱包或硬件钱包,你不需要做任何事情,除非你的交易所或钱包提供商通知你采取额外的措施。 如果你运行自己的以太坊节点,请参阅下文。 作为一个非质押的节点运营商,我需要做什么? 为了与主网的 Shapella 升级兼容,请将你的节点更新到上文表中所列的以太坊客户端版本。 作为一个质押者,我需要做什么? 为了与主网的 Shapella 升级兼容,请将你的节点更新到上文表中所列的以太坊客户端版本。 我们建议你阅读《提款 FAQ》。 如果我是一个验证者或节点运行者,且不参加这次升级,会怎么样? 如果你使用的以太坊客户端没有更新到上面列出的最新版本,一旦升级发生,你的客户端将同步到分叉前的区块链上。 你将被困在一个不兼容的链上,遵循旧的规则,无法发送 ETH 或在 Shapella 升级后的以太坊网络上操作。 作为一个应用程序或工具开发者,我应该怎么做? Shapella 不会为智能合约引入不兼容的修改。应用程序和工具开发人员应审阅升级修改,以确保任何问题都解决了,或了解如何使用新引入的功能。 也就是说,应用程序开发者应该意识到在上海升级中,SELFDESTRUCT 操作码已被弃用。虽然它的语义没有在这次网络升级中进行更改,但在后续的升级中可能会更改。更多信息请参考 EIP-6049。 为什么叫 "Shapella"? 执行层的升级按照 Devcon 举办城市来起名,而共识层的升级则根据恒星名字来取。"Shapella" 是上海 (Devcon 2 的举办地) 和 Capella (Auriga 北方星座中最亮的星) 的结合。 哪里可以观看 Shapella 升级直播? EthStaker 和 Ethereum Cat Herders 会组织 Shapella 升级观看派对,在升级差不多开始前直播。你可以在这里收听。 感谢所有为 Shapella 升级做出贡献的人,感谢所有新旧质押者,感谢他们帮助保护了仍处于早期阶段的 PoS 以太坊! 封面图片由 Yiran Ding 原创,由 Tomo Saito 改编。 来源:金色财经
lg
...
金色财经
2023-03-30
Filecoin检索土星Saturn服务Treasury的规格(连载2)
go
lg
...
在运行。bookkeeper 是一个
python
脚本,它遍历 BigQuery 中的所有日志,并且:进行基本的欺诈检测。不规则报告被删除 欺诈检测后,计算收入+费用并将这些计算结果写入单独的 BigQuery 表 根据上述计算结果向客户发放款项并向客户收费。 簿记员将结果写入表:留下书面记录,以及 因此,如果事情因任何原因出现故障或失败,将来可以重新运行支出和收费 簿记员向 PayPal 提交付款,网站获得付款。如果簿记员已经支付给定站点一天的费用(基于非空数据库记录),则该站点将不会再次获得付款。这使我们能够随时重新运行簿记员以发出任何未付款或失败的付款。 簿记员向 stripe 提交费用,客户被收取费用。 来源:金色财经
lg
...
金色财经
2023-03-30
金色观察 | 以太坊基金会官方详解Shapella主网升级
go
lg
...
LS)中查看,这是一个新的用于执行层的
Python
实现参考。 Capella升级 关于Capella升级对共识层的更新细节在v1.3.0-rc.5规范中有具体规定。README罗列了全部更新之处。从较高层次来看,该升级将推出如下功能: · 验证者的全部和部分提款功能。 · BLSToExecutionChange消息——允许验证者使用BLS_WITHDRAWAL_PREFIX将其更新为ETH1_ADDRESS_WITHDRAWAL_PREFIX,这是提款的先决条件。 · 独立状态和区块历史累加器——用以取代原来的单一历史roots。 客户端版本 以下客户端版本支持以太坊主网的Shanghai升级和Capella升级。以前的Shapella版本只支持测试网部署,与主网升级不兼容。 选择要运行哪个客户端时,验证者应该特别注意在执行层(EL)和共识层(CL)上运行大多数客户端的风险。关于这些风险及其后果的解释可以在这里找到。还可以点击这里获取当前EL和CL客户端分布的预估情况以及客户端切换操作指南。 共识层主网发布 名称 版本 下载链接 Lighthouse v4.0.1 点击下载 Lodestar v1.7.0 点击下载 Nimbus v23.3.2 点击下载 Prysm v4.0.0 点击下载 Teku v23.3.1 点击下载 注意:运行验证者节点时,必须更新共识层信标节点和验证者客户端。 执行层主网发布 名称 版本 下载链接 Besu v23.1.2 点击下载 Erigon v2.41.0 v2.42.0 点击下载 go-ethereum (geth) v1.11.5 点击下载 Nethermind v1.17.3 点击下载 注意:已发现Erigon v2.41.0版本存在问题。此版本不适合Shapella升级。Erigon用户应该升级到v2.42.0版本。 FAQ (1)作为以太坊用户或以太坊持有者,我需要做些什么吗? 简单说,不需要。 如果你使用的是交易所、数字钱包或硬件钱包,你不需要做任何操作,除非你的交易所或钱包提供商通知你进行额外操作。 如果你运行的是你自己的以太坊节点,请参考下一个问题。 (2)作为非质押节点运营者,我需要做些什么吗? 想要与主网升级兼容,请将你的节点更新为上表所列的以太坊客户端版本。 (3)作为质押者,我需要做些什么吗? 想要与主网升级兼容,请将你的节点更新为上表所列的以太坊客户端版本。请确保你的信标节点和验证者客户端都已更新! 我们还建议你看一看提款FAQ。 (4)如果我是质押者或节点运营者,但我不参与升级,会发生什么? 如果你使用的以太坊客户端没有更新到最新版本(上面列出的),一旦发生升级,你的客户端将同步到分叉前的区块链。 你将被困在遵循旧规则的非兼容链上,你将无法发送以太币或操作Shapella升级后的以太坊网络。 (5)作为应用程序或工具开发人员,我应该做些什么? Shapella升级没有带来智能合约相关的突破性变化。应用程序和工具开发人员应该审查升级内容,以确保完成了所有问题修复,或者了解了如何使用新推出的功能。 也就是说,应用程序开发人员应该意识到,上海升级后,SELFDESTRUCT操作码已被视为弃用。虽然它的语义在这次网络升级中没有变化,但在后续的升级中可能会改变。详细信息请参见EIP-6049。 (6)为什么叫“Shapella”升级? 执行层的升级因Devcon城市名称得名,共识层的升级得名于恒星。“Shapella”是Devcon 2的举办地上海(Shanghai)和北方星座御夫座中最亮的恒星Capella 的组合。 (7)哪里可以观看Shapella升级直播? EthStaker和Ethereum Cat Herders正在举办Shapella升级直播派对,在升级上线之前不久开始直播。你可以在这里收看。 来源:金色财经
lg
...
金色财经
2023-03-29
Web3公司到底靠什么盈利?
go
lg
...
后端编程语言(如 Node JS 或
Python
)构建应用程序,并将其托管在由 AWS、Google Cloud Platform 等提供商提供的服务器上。 但在 Web 3 中,我们需要从 Alchemy 获取一个节点,并构建智能合约,然后部署在以太坊或 Polygon 上。 区块链商业模式有哪些不同类型? 1. 代币经济 — 实用代币商业模型 因此,所有的区块链技术都使用分布式账本技术(DLT),需要一致性,而代币是奖励代币矿工或代币持有者的机制之一。 例如:Basic Attention Token (BAT) BAT 代币与 Brave 浏览器配合使用,旨在提高安全性和隐私性。Basic Attention Token 允许采用新的广告收入模型,不再需要不断跟踪用户行为。Brave 用户可以选择查看广告以赚取 BAT。然后可以使用 BAT 来向其网站或 Twitter 上的内容创作者打赏。 但是这些公司如何发行这些代币呢? 这些公司会在其首次代币发行(1CO)时以折扣价格发行一些代币。 这些通常被早期采纳者购买,他们相信这些项目,并通过持有它们一段时间来赚钱。 但在购买任何实用型代币之前,请关注其代币经济学。 如果您仔细研究 Solana 的代币经济学,您会发现内部人员仍然持有 60%以上的通证,而以太坊基金会/内部人员仅持有 7-8%的代币。 2. 区块链即服务商业模型(BaaS) BaaS 是建立像亚马逊(AWS)一样的服务生态系统,但它是在 Web 3 空间中实现的。 例如:Polygon 区块链即服务(EBaaS)。 从开发到存储再到部署,AWS 拥有超过 200 种服务,涵盖您技术栈中的所有内容。 您可以使用 Amazon EC2 启动服务器,并使用 Amazon RDS 管理 SQL 数据库,在 Amazon S3 桶中存储静态文件等。 同样,Polygon 为 Web 3 生态系统提供了一系列产品。因此,无论您想出售 NFT 或加密货币,都可以利用它们的产品。 3. P2P 区块链商业模型 点对点(P2P)区块链使终端用户能够直接彼此交互,无需任何中介。 例如 - IPFS。 4. 基于区块链节点的聚合器 它们基本上是区块链的亚马逊,这意味着您只需对您喜欢的区块链进行 API 调用,即可使用该服务。 例如: Alchemy 是多种区块链的节点提供商,为与加密货币相关的软件提供监控、分析、警报、调试和日志记录等工具。 5. 网络费用收取 如果区块链商业模型对在网络上部署某些 dApp 的网络问题进行收费。 例如,以太坊和 NEO。 这些网络费用会向开发者收取以太坊和 NEO 以使其 dApp 上线。 来源:panews 撰写:《6 Amazing Blockchain business Models you must know(with examples)》by Navdeep Yadav 编译:深潮 TechFlow 来源:金色财经
lg
...
金色财经
2023-03-25
OpenAI官方解读ChatGPT插件:语言模型的“眼睛和耳朵”
go
lg
...
提供反馈。 代码解释器 一个可以使用
Python
处理上传和下载的实验性 ChatGPT 模型 我们为我们的模型提供了一个在 沙盒、防火墙执行环境中工作的
Python
解释器,以及一些临时磁盘空间。由我们的解释器插件运行的代码在一个持久会话中进行评估,该会话在聊天对话期间一直有效(具有上限超时),后续调用可以相互构建。我们支持将文件上传到当前对话工作区并下载您的工作结果。 执行逻辑计算的代码解释器插件 我们希望我们的模型能够使用它们的编程 技能为我们计算机的最基本功能提供更自然的接口。接触到以指尖的速度工作的非常热心的初级程序员可以使全新的工作流程变得轻松高效,并向新的受众开放编程的好处。 从我们最初的用户研究中,我们确定了使用代码解释器特别有用的用例: 解决定量和定性的数学问题 进行数据分析和可视化 在格式之间转换文件 我们邀请用户尝试代码解释器集成并发现其他有用的任务。 ChatGPT解释器插件演示 安全考虑 将我们的模型连接到编程语言解释器的主要考虑因素是对 执行进行适当的沙盒处理,以便 AI 生成的代码不会在现实世界中产生意外的副作用。我们在安全环境中执行代码,并使用严格的网络控制来防止外部互联网访问执行代码。此外,我们对每个会话都设置了资源限制。禁用互联网访问限制了我们代码沙箱的功能,但我们相信这是正确的初始权衡。第三方插件被设计为将我们的模型连接到外部世界的安全第一方法。 检索 开源检索插件使 ChatGPT 能够访问个人或组织信息源(经许可的)。它允许用户通过提问或用自然语言表达需求,从他们的数据源中获取最相关的文档片段,例如文件、笔记、电子邮件或公共文档。 作为一个开源和自托管的解决方案,开发人员可以部署他们自己的插件版本并在 ChatGPT 上注册。该插件利用OpenAI 嵌入并允许开发人员选择矢量数据库(Milvus、Pinecone、Qdrant、Redis、Weaviate或Zilliz)来索引和搜索文档。信息源可以使用 webhooks 与数据库同步。 首先,访问检索插件存储库。 ChatGPT检索插件演示 安全考虑 检索插件允许 ChatGPT 搜索内容矢量数据库,并将最佳结果添加到 ChatGPT 会话中。这意味着它没有任何外部影响,主要风险是数据授权和隐私。开发人员应该只将他们有权使用的内容添加到他们的检索插件中,并且可以在用户的 ChatGPT 会话中共享。 第三方插件 一个知道何时以及如何使用插件的实验模型 ChatGPT中的第三方插件 第三方插件由清单文件描述,其中包括插件功能的机器可读描述以及如何调用它们,以及面向用户的文档。 示例:用于管理todo事项的插件的清单文件 创建插件的步骤是: 使用您希望语言模型调用的端点构建 API(这可以是新的 API、现有的 API 或围绕专门为 LLM 设计的现有 API 的包装器)。 创建一个记录您的 API 的 OpenAPI 规范,以及一个链接到 OpenAPI 规范并包含一些特定于插件的元数据的清单文件。 在chat.openai.com上开始对话时,用户可以选择他们想要启用的第三方插件。有关已启用插件的文档作为对话上下文的一部分显示给语言模型,使模型能够根据需要调用适当的插件 API 来实现用户意图。目前,插件是为调用后端 API 而设计的,但我们正在探索也可以调用客户端 API 的插件。 ChatGPT第三方插件演示 ChatGPT 插件开发者体验 未来 我们正在努力开发插件并将它们带给更广泛的受众。我们有很多东西要学,在大家的帮助下,我们希望构建一些既有用又安全的东西。 文章来源:https://openai.com/blog/chatgpt-plugins 来源:金色财经
lg
...
金色财经
2023-03-24
ChatGPT插件功能最令人震动的地方:自然语言编程
go
lg
...
能走通,如果这成为行业标准,那么……
Python
终于没有存在的意义了。 来源:金色财经
lg
...
金色财经
2023-03-24
上一页
1
•••
22
23
24
25
26
•••
30
下一页
24小时热点
【直击亚市】北京将被迫坐到谈判桌前!市场等中国进一步刺激,黄金又大跌了
lg
...
贸易战最坏时刻已过、中国随时可宣布新刺激!全球风险反攻,黄金涨势过猛遭平仓
lg
...
北京全面出手还为时尚早,等待美国先崩溃?中国还需2万亿刺激?
lg
...
中国军方突发!南华早报:中国高级将领何卫东缺席政治局学习会议引发猜测
lg
...
习近平不直接与特朗普谈判!中美重磅信号:“TA”成为关税战降温的重要推手
lg
...
最新话题
更多
#Web3项目情报站#
lg
...
6讨论
#SFFE2030--FX168“可持续发展金融企业”评选#
lg
...
32讨论
#链上风云#
lg
...
82讨论
#VIP会员尊享#
lg
...
1920讨论
#CES 2025国际消费电子展#
lg
...
21讨论