自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FeelTouch Labs

Best or Nothing!

  • 博客(1203)
  • 资源 (35)
  • 收藏
  • 关注

原创 GoLang核心知识点

很多时候我们的一个Struct不止具有一个功能,比如我们需要JSON的互转、还需要BSON以及ORM解析的互转,所以一个字段可能对应多个不同的Tag,以便满足不同的功能场景。Struct Tag可以提供字符串到Struct的映射能力,以便我们作转换,除此之外,还可以作为字段的元数据的配置,提供我们需要的配置,比如生成Swagger文档等。通过反射,我们可以获取一个结构体类型的字段,也可以获取一个类型的导出方法,这样我们就可以在运行时了解一个类型的结构,这是一个非常强大的功能。可以通过反射获取字段的tag。

2024-04-17 17:22:22 350

原创 Kafka硬核干货

为了弥补性能差距,现代操作系统积极的使用主内存进行磁盘缓存,以便在访问磁盘时不进行直接I/O 同时,即使进程维护了数据缓存,数据也很可能在PageCache中重复,这会导致数据缓存两次 此外,Kafka构建在JVM之上。Kafka官网数据 在 具有 6 * 7200rpm SATA RAID-5阵列的JBOD配置上,线性写入的性能约为600MB / sec,但随机写入的性能仅为100k / sec,相差超过6000倍。Broker :Kafka 集群包含一个或多个服务器,这种服务器被称为 broker。

2024-03-28 01:22:20 1106

转载 一篇搞定!10分钟说透Saga分布式事务

这里对Saga进行一个总结,首先Saga是针对分布式长活事务的解决方案,针对事务长、多、复杂的情况,特别是服务由多个公司开发具有不可控性,可以使用Saga模式进行分布式事务的处理。Saga在处理事务一致性方面采取了向前恢复和向后恢复策略,前者通过不断重试的方式保证事务完成,而后者通过子事务的补偿事务,逐一回滚的方式让事务标记失败。在分布式协调方面,Saga采用了两种模式:编排和控制。前者让参与者(服务)之间通过消息进行沟通,根据事件出发事务的执行流程,是一种去中心化的模式。

2024-03-24 22:03:28 145

转载 利用GPT4等进行大模型自动打分是否靠谱:3种评价方法、4大缺陷及4大应对方案工作解读

本文对文章《Judging LLM-as-a-judge with MT-Bench and Chatbot Arena》进行了介绍,该工作研究了LLM作为评委的用法和局限性,比如位置和言语偏差以及有限的推理能力,并提出了迁移其中一些的解决方案,这些都是可以令人深思的。

2024-03-22 00:56:21 219

原创 Twitter 爬取Media图片、视频和封面涉及到的关键Graph SQL应用分析

核心需要解析出 extended_entities -> media -> media_url_https 和 variants。

2024-03-11 19:22:50 57

原创 Layer1 区块链MASSA开发用到的Rust库--MAINNET 2.1.0

massa-node git:(bc7426f22d) ✗ RUST_BACKTRACE=full cargo run --release -- -p 123 Compiling proc-macro2 v1.0.71 Compiling unicode-ident v1.0.12 Compiling libc v0.2.151 Compiling cfg-if v1.0.0 Compiling autocfg v1.1.0 Compiling version_check

2024-03-11 11:40:34 927

原创 VScode 单步断点调试Nodejs方法总结

使用vscode开发nodejs程序,能够启动单步调试模式

2024-02-29 12:40:14 674 2

转载 《Redis核心技术与实战》学习总结(18)之使用规范

因此,建议将不同的业务数据放到不同的Redis实例,避免单实例的内存使用量过大。在实际应用 Redis 时,我们会更多地把它作为缓存保存热数据,这样既可以充分利用 Redis 的高性能特性,还可以把宝贵的内存资源用在服务热数据上,就是俗话说的“好钢用在刀刃上”。对于业务名或业务数据名,可以使用相应的英文单词的首字母表示,或者用缩写表示,减少key占用的内存空间。:按照键值对的 key 内容进行匹配,返回符合匹配条件的键值对,该命令需要对 Redis 的全局哈希表进行全表扫描,严重阻塞 Redis 主线程;

2024-02-20 17:54:50 32 1

转载 《Redis核心技术与实战》学习总结(17)之多线程

所谓区分编码,就是指直接通过不同的开头字符,区分不同的数据类型,这样一来,客户端就可以直接通过判断传递消息的开头字符,来实现数据转换操作了,提升了客户端的效率。Redis 6.0之前使用的 RESP 2 协议,客户端和服务器端的通信内容都是以字节数组形式进行编码的,客户端需要根据操作的命令或是数据类型自行对传输的数据进行解码,增加了客户端开发复杂度。Redis 6.0 是推出不久的,新的功能特性还需要在实际应用中进行部署和验证,所以,如果我们想试用 Redis 6.0,

2024-02-20 17:48:22 47

转载 《Redis核心技术与实战》学习总结(16)之集群方案

Codis集群保证高可靠性的架构:配置了 server group 的 Codis 集群架构,在 Codis 集群中,通过部署 server group 和哨兵集群,实现 codis server 的主从切换,提升集群可靠性。对于 codis dashboard 和 codis fe 来说,它们主要提供配置管理和管理员手工操作,负载压力不大,所以,它们的可靠性可以不用额外进行保证了。本文总结了Redis集群的两种方案:Codis 和 Redis Cluster 的基础内容,希望对你有帮助。

2024-02-20 17:44:46 36

转载 《Redis核心技术与实战》学习总结(15)之秒杀场景

这样可以将获取分布式锁 和 查询商品库存 的请求压力分摊开来,减轻保存库存信息的Redis实例的压力。此外,也建议不要将秒杀商品的库存信息和日常系统的数据保存在同一个Redis实例,避免干扰业务系统的正常运行。本文总结了Redis支撑秒杀场景的关键技术:原子操作 和 分布式锁 的具体应用,但是需要注意,对于秒杀,只有Redis是不够的,秒杀系统是一个系统性的工程,需要考虑各个环节的设计。在Redis中的应用场景,秒杀场景是一个经典的应用场景,相信大家或多或少都在使用Redis支撑不同量级的秒杀应用。

2024-02-20 17:41:19 33

转载 《Redis核心技术与实战》学习总结(14)之分布式锁保证原子性

对于分布式锁,我们需要考虑场景需要来做权衡,偏重于效率,我们可以使用单Redis实例来实现,而如果偏重于正确性,我们可以使用Redlock方案。客户端需要计算的是 锁的最初有效时间 减去 获取锁的总耗时,如果锁的有效时间已经来不及完成数据的操作了,这时就需要释放锁了,避免出现还没完成数据操作,锁就过期了的情况。在Redis 6.0之前,Redis是使用单线程串行处理请求操作的,当 Redis 执行某个命令操作时,其他命令是无法执行的,这相当于命令操作是互斥执行的。命令格式:SET + Lua脚本组合;

2024-02-20 17:39:37 62

转载 《Redis核心技术与实战》学习总结(13)之性能分析

问题原因:Redis使用内存大页,优点是在分配相同的内存量时可以减少分配次数,而缺点是在RDB持久化时为了继续接收客户端写请求会采取“写时复制”机制,采用内存大页会在客户端请求只修改较小数据(比如:100KB)的时候仍然需要拷贝2MB的大页,当大量的大页拷贝发生时,就会导致性能变慢。背景介绍:内存 swap 是操作系统里将内存数据在内存和磁盘间来回换入和换出的机制,涉及到磁盘的读写,所以,一旦触发 swap,无论是被换入数据的进程,还是被换出数据的进程,其性能都会受到慢速磁盘读写的影响。

2024-02-20 17:34:15 28

转载 《Redis核心技术与实战》学习总结(12)之淘汰策略

当需要再次淘汰时,Redis会再挑选一些lru字段比候选集合中最小lru字段还要小的键值对,将它们放入候选集,如果候选集的数据的个数达到了 maxmemory-sample 配置的个数,Redis就开始将lru字段值最小的数据淘汰(lru字段最小的可能不止一个)。在实际业务应用中,LRU 和 LFU 两个策略都有应用。然后,在需要选择淘汰的数据时,Redis首先会随机选择N个数据将它们作为一个候选集合,然后比较他们的lru字段,将lru字段最小的数据淘汰掉(lru字段最小的可能不止一个)。

2024-02-20 17:16:28 26

转载 《Redis核心技术与实战》学习总结(11)之读写一致性问题

下图展示了一个包含10个bit位的数字,使用3个哈希函数的布隆过滤器,当标记数据X时,首先会经历3次哈希计算,然后将哈希结果对应的bit位标记为1,代表假设数据X已经在数据库了。这时,如果后续应用想要查询数据X时,只需要查看对应的3个bit位是否都为1,是则允许继续查询,不是的话,就代表X不在数据库中。问题定义:缓存穿透是指要访问的数据既不在 Redis 缓存中,也不在数据库中,导致请求在访问缓存时,发生缓存缺失,再去访问数据库时,发现数据库中也没有要访问的数据。(例如使用 Kafka 消息队列)。

2024-02-20 16:31:13 27

转载 《Redis核心技术与实战》学习总结(10)之消息队列

最后,对于需求3-消息可靠性保证,List本身在读取一条消息后就不会再留存这条消息了,所以为了留存消息,List提供了BRPOPLPUSH命令,即让消费者程序从一个List中读取消息,同时再把这个消息插入到另一个List(可以理解为备份List)留存。此外,使用消费组的目的是让组内的多个消费者共同分担读取消息,所以,我们通常会让每个消费者读取部分消息,从而实现消息读取负载在多个消费者间是均衡分布的,比如我们可以使用count N命令来让各个消费者各自读取N条消息。

2024-02-20 16:24:16 36

转载 《Redis核心技术与实战》学习总结(9)之集合使用场景

例如,在统计 1 亿个用户连续 10 天的签到情况时,可以把每天的日期作为 key,每个 key 对应一个 1 亿位的 Bitmap,每一个 bit 对应一个用户当天的签到情况。最后,我们可以用 BITCOUNT 统计下 Bitmap 中的 1 的个数,这就是连续签到 10 天的用户总数了。Sorted Set 元素的权重分数是一个浮点数(float 类型),而一组经纬度包含的是经度和纬度两个值,是没法直接保存为一个浮点数的,因此需要进行GeoHash编码,将经纬度各自的编码组合成一个最终编码。

2024-02-20 16:05:25 23

转载 《Redis核心技术与实战》学习总结(8)之String内存使用分析

在使用Redis集合类型时,一个key就对应一个集合的数据,能保存的数据很多,但也只使用了一个dictEntry,就可以节省在string类型下每个数据都需要的dictEntry内存开销。压缩列表也类似于一个数组,但和数组不同的是,压缩列表在表头有三个字段,分别表示列表长度、列表尾的偏移量 和 列表中entry的个数。其实,Sorted Set类型也可以实现需求,还是按照二级编码设计思路,将ID的前7位作为Sorted Set的key,将ID的后三位作为member值,存储对象ID则作为score值。

2024-02-20 15:39:45 32

转载 《Redis核心技术与实战》学习总结(7)之实例扩展

换句话说,ASK命令只是让客户端给新实例发一次数据请求,ASK 命令并不会让客户端后续所有命令都发到新实例,当然,它更不能更新客户端本地缓存。当客户端把一个键值对的操作请求发给一个实例时,如果这个实例上并没有这个键值对映射的哈希槽,那么,这个实例就会给客户端返回下面的 MOVED 命令响应结果,这个结果中就包含了新实例的访问地址。不过,实际场景中,Redis实例 和 哈希槽 的对应关系并不是一成不变的,而是会随着实例个数的增减而变化,比如Redis Cluster会重新分配哈希槽以确保负载均衡。

2024-02-20 14:57:55 20

转载 《Redis核心技术与实战》学习总结(6)之哨兵机制

所述,从库的 slave_repl_offset 偏移量 一般会等于或接近于 主库的 master_repl_offset 偏移量,而如果某个从库的这个值最接近于主库的,那么就可以被选为新主库。简单说来,就是当一个哨兵和主库建立了连接(如下面所示的配置项)后,就可以向主库发布一个自己的连接信息(如IP和端口),也可以从主从订阅一个其他哨兵的连接信息。在确定好新主库后,多个哨兵实例会进行投票仲裁,选举一个 Leader 出来,由它负责实际的主从切换,即由它来完成新主库的选择以及通知从库与客户端。

2024-02-20 14:41:17 24

转载 《Redis核心技术与实战》学习总结(5)之数据同步

随着主库不断接收新的写操作,它在缓冲区中的写位置会逐步偏离起始位置。当网络闪断异常情况下,主库可能会接收到新的写操作命令,因此,可以看出,主库的偏移量master_repl_offset > 从库的偏移量slave_repl_offset。比如,在实际中通常会手动选择一个 内存配置较高的 从库 来作为同步源,其他新的从库加入后可以从这个从库中同步,建立主从关系。在主-从-从模式下,新增的从库可以设置从 集群中的某一个从库 中进行数据同步,从而避免每次都从主库进行同步,降低主库的资源消耗,保证系统的稳定性。

2024-02-20 14:30:21 24

转载 《Redis核心技术与实战》学习总结(4)之持久化机制

因此,如果采用先写日志方式,那么日志中就有可能会记录错误的命令,导致Redis在使用AOF恢复数据的时候,可能会出错。,即如果AOF需要一次记录的命令太多,Redis会进行重写:Redis根据现状创建一个新的AOF文件,它会读取所有键值对,然后对每一个键值对用一条命令记录它的写入。因为,Redis的单线程设计,日志中的命令只能一条一条按顺序执行,“重放”过程会变慢。但是,当数据量越来越大之后,做全量快照的过程中写入磁盘的时间会逐渐增大,全量数据越多,RDB文件就会越大,往磁盘上写数据的时间开销也就越大。

2024-02-20 14:16:07 17

转载 《Redis核心技术与实战》学习总结(3)之线程模型

但在Redis的使用场景下,简单地加锁可能并不能得到理想的效果,会导致大部分线程在等待获取互斥锁,并行变串行,从而降低吞吐率。比如服务端监听到一个客户端有连接请求,但是一直没有能够成功建立连接,就会阻塞在accept()函数中,导致其他客户端无法和服务端建立连接,这就可能会导致服务端的线程阻塞。正如刚刚的例子中提到,黄牛买到票后会通知老周去领票,为了在请求到达时能够通知到Redis线程,epoll提供了基于事件的回调机制,即针对不同事件的发生,调用响应的处理函数。

2024-02-20 14:05:10 13

转载 《Redis核心技术与实战》学习总结(2)之底层数据结构

对于软件设计来说,也需要在时间 vs 空间,新技术 vs 老技术,优雅 vs 效率,轻度设计 vs 重度设计等之间做权衡,一个问题总会有多种解决方案可以实现,在特定的时间段,永远没有最完美的设计,只有较合适的设计。由上一篇已经知道,List类型的底层实现包括了 双向链表 和 压缩列表,但这是在Redis的3.2版本之前的底层实现。两端节点一般不被压缩,因为当一个链表很长时,最频繁访问的就是两端的数据,根据“二八定律”,两端数据不压缩,而将中间数据压缩,从而节省空间,但又保证读取效率。

2024-02-19 17:42:49 23 1

转载 《Redis核心技术与实战》学习总结(1)之 架构设计

在之前多年的工作生涯中,我也只是关注了零散的技术点,没有对Redis建立起一套整体观,但只有建立了系统整体观,才能更好地定位问题和解决问题,更重要的是应付面试。当往哈希表中写入的数据变的很多时,哈希冲突问题就会出现。所谓rehash,就是增加现有的哈希桶的数量,让逐渐增多的entry元素能够在更多的桶之间分散保存,减少单个桶中的元素数量,从而减少单个桶中的冲突。在具体操作中,Redis会开辟一个新的哈希表(比如:大小为之前的两倍),然后把之前哈希表的数据重新映射到新的哈希表,最后释放之前的哈希表。

2024-02-19 17:21:56 31

转载 OpenAI 视频模型 Sora 科研贡献速览

Sora 是一个惊艳的视频生成模型,它以卓越的生成能力(高分辨率、长时间)与生成质量令一众同期的视频生成模型黯然失色。Sora 的技术报告非常简短,不过我们从中还是可以学到一些东西。从技术贡献上来看,Sora 的创新主要有两点:让 LDM 的自编码器也在视频时间维度上压缩。使用了一种不限制输入形状的 DiT其中,第二点贡献是非常有启发性的。DiT 能支持不同形状的输入,大概率是因为它以视频的3D位置生成位置编码,打破了一维编码的分辨率限制。

2024-02-19 15:01:03 47

转载 解读OpenAI Sora文生视频技术原理

非时间维度子空间内的 attention,注意到的是范畴内与范畴间的关系, 即某个时刻的状态空间。状态空间的时序,研究的是状态空间的动力学,外在驱动“力”或因素导致的状态的“流动”,即状态空间t时刻与 t-n时刻之间的关系,注意到的是其时间依赖规律,往往不具备马尔可夫性。1.状态空间对事物的表征和刻画:状态空间的高维度,某时刻的信息,即某时刻的事物的能量的概率分布,是众多维度的联合概率分布,各维度都可能具有连续性和非线性,如何用线性系统近似,并最大努力消除非线性的影响非常关键;右:DiT块的细节。

2024-02-19 14:53:42 163 1

原创 从大咖视角窥探Sora六大技术创新

在推理时,我们可以通过在适当大小的网格中排列随机初始化的补丁来控制生成视频的大小。我们首先训练一个高度描述性的字幕生成器模型,然后使用它为训练集中的所有视频生成文本字幕。我们将 Sora 与将所有训练视频裁剪为正方形的模型版本进行比较,这是训练生成模型时的常见做法。Sora 是扩散模型;过去的图像和视频生成方法通常会将视频调整大小、裁剪或修剪为标准尺寸,例如 256x256 分辨率的 4 秒视频。在较高层面上,我们首先将视频压缩到较低维的潜在空间,19 然后将表示分解为时空补丁,从而将视频转换为补丁。

2024-02-19 14:47:20 912

转载 AI生成视频神器Sora的原理你能读懂吗

在深入了解Sora如何处理多样化视觉数据之前,让我们首先想象这样一个生活中的场景:你正在翻看一本世界名胜的相册,这本相册中包含了不同国家、不同风格的景色照片,有的是宽阔的海景,有的是狭窄的巷道,还有的是夜晚灯火辉煌的城市风光。尽管这些照片内容和风格各异,但你能轻松地辨识每一张照片代表的地点和情感,因为你的大脑能够将这些不同的视觉信息统一理解。现在,让我们将这个过程与Sora处理多样化视觉数据的方式进行对比。Sora面对的挑战就像是需要处理和理解来自世界各地、不同设备拍摄的数以百万计的图片和视频。

2024-02-18 16:09:29 164

原创 基于Redis的高可用分布式锁——RedLock

客户端在向每个节点尝试获取锁的时候,有一个超时时间限制,而且这个时间远小于锁的有效期,比如说几毫秒到几十毫秒之间,这样的机制是为了防止在向某一个节点获取锁的时候,等待的时间过长,从而导致获取锁的整体时间过长。client1和client2,对Redis节点A-E进行抢锁操作,如图,client1先抢到节点ABC,超过半数,因此持有分布式锁,在持有锁期间,client2抢锁都是失败的,当时序=6时,client1才处理完业务流程释放分布式锁,这时候client2才有可能抢锁成功。多数节点的锁(N/2+1)

2024-01-29 00:39:37 608 1

原创 大型语言模型 (LLM)全解读

大型语言模型 是一种深度学习算法,可以执行各种自然语言处理 (NLP) 任务。大型语言模型底层使用多个转换器模型底层转换器是一组神经网络。大型语言模型是使用海量数据集进行训练的超大型深度学习模型。这也是它们能够识别、翻译、预测或生成文本或其他内容的强大基础所在。因此大型语言模型也称为神经网络 (NN),是受人类大脑启发而开发出的计算系统。这些神经网络利用分层的节点网络工作,就像神经元一样。这些神经网络由具有自注意力功能的编码器和解码器组成。

2024-01-23 16:08:51 4021 2

原创 Langchain使用OpenAI报错AttributeError: module ‘openai‘ has no attribute ‘error 的解决方案

AttributeError: module 'openai' has no attribute 'error

2024-01-22 18:03:35 1592

转载 Kubernetes的三种外部访问方式:NodePort、LoadBalancer 和 Ingress

本文分析了 NodePort,LoadBalancer 和 Ingress 这三种访问服务方式的使用方式和使用场景,指出了各自的优缺点,帮助用户基于自己的场景做出更好的决策。最近有些同学问我 NodePort,LoadBalancer 和 Ingress 之间的区别。它们都是将集群外部流量导入到集群内的方式,只是实现方式不同。让我们看一下它们分别是如何工作的,以及你该如何选择它们。。:这里说的每一点都基于。

2024-01-18 16:09:34 91

原创 技术视角看Metis未来发展潜力

所以,现在一个令人非常担心的问题就是排序器的高度中心化,先不论他们是不是会作恶,从实际的角度来说,中心化排序器如果出现故障或者受到攻击,很容易对整条layer2造成威胁。Metis 的去中心化的Pos排序器现在已经在Holesky测试网上运行,具体可以分为三轮,包括在模拟真实节点的行为,增加节点数量,质押测试等等。Builder挖矿奖励,Metis对生态系统发展有着长期的支持,Metis生态中的所有建设者都会根据他们给网络带来的交易量获得Builder挖矿奖励,交易越多,奖励越高,即 生态与建设者双赢。

2024-01-18 11:55:16 63

转载 7个向量数据库对比:Milvus、Pinecone、Vespa、Weaviate、Vald、GSI 和 Qdrant

算法基准测试超出了范围,因为您始终可以求助于https://github.com/erikbern/ann-benchmarks查找有关单个算法性能和权衡的详细信息。原文链接:https://towardsdatascience.com/milvus-pinecone-vespa-weaviate-vald-gsi-what-unites-these-buzz-words-and-what-makes-each-9c65a3bd0696。:自定义实现的 HNSW,调整到规模,并支持完整的 CRUD。

2024-01-12 17:17:42 2173 2

翻译 2024最佳5 个矢量数据库

我们最近看到了一系列令人印象深刻的矢量数据库,例如 Chroma、Pinecone、Weaviate、Faiss 和 Qdrant,每个数据库都提供独特的功能和创新。随着人工智能的不断发展,矢量数据库在塑造数据检索、处理和分析的未来方面的作用无疑将会增强,并有望在各个领域提供更复杂、高效和个性化的解决方案。这就是矢量数据库发挥作用的地方,为这些人工智能驱动的应用程序提供高度优化的环境。矢量数据库已成为强大的工具,可以在广阔的非结构化数据(如图像、视频和文本)中导航,而无需严重依赖人类生成的标签或标记。

2024-01-12 15:24:41 347

原创 小汪,TCP连接和断连夺命6连问你可能扛得住?

防止资源浪费 + 防止历史连接的建立。考虑一种不正常的情况,客户端发了两次请求链接的报文,第二条被服务器捕捉到,返回数据,完成了两次握手。数据传送完成之后,链接关闭。但是这时候,第一条拥塞的请求报文现在到达了服务器端,服务器还以为客户端要又一次建立连接,于是发送确认,然后把自己敞开,等着客户端发送过来数据。于是,很多的网络资源就是这样浪费掉了. 如果实行三次握手,服务器收到了一条过期的请求报文,返回确认信息,客户端接收到了服务器的信息之后感到莫名其妙,心想:我他妈又没要连接,你返回这个是不是疯了。

2024-01-12 01:39:33 954

原创 Wrk压测发送Post请求的正确姿势

wrk是一个能够在多核CPU上进行HTTP压测的工具,简单实用

2024-01-06 00:37:09 851

原创 Java对象复制或模型转换方法分析

编译期处理性能更高,对实现的技术要求也更高;运行时处理使用起来最为简便,可选的模型转换框架也更多,根据前面文中的分析,若无特殊要求使用Spring的BeanUtils.copyProperties是性能最好和额外依赖最少的属性框架。

2024-01-05 01:30:29 877

原创 Java获取接口的所有实现类方法

对于普通的Java工程实现获取接口所有实现类需要借助SPI机制,且仅限于接口;对于Spring工程,则有@Autowired自动获取和实现ApplicationContextAware手动获取2种,既支持接口实现类、也支持抽象类的实现类。

2024-01-05 01:20:20 1288

GO 中 Chan 实现原理分享

本文聚焦: 1.chan是什么 2.chan的底层数据结构 3.chan的读写基本流程 4.与sync的区别

2024-01-29

storj dcs video use case

Video Storage & Streaming

2023-12-25

Aurora - 去中心化的以太坊 Layer2

Aurora is a L2 Network

2023-12-25

闪电贷的攻防和智能合约审计

闪电贷和闪电兑,以及智能合约的安全防范

2023-12-25

Poly Network 技术架构

To build the next generation internet

2023-12-24

VISION FOR A HETEROGENEOUS MULTI-CHAIN FRAMEWORK DRAFT

Present-day blockchain architectures all suffer from a number of issues not least practical means of extensibility and scalability. We believe this stems from tying two very important parts of the consensus architecture, namely canonicality and validity, too closely together. This paper introduces an architecture, the heterogeneous multi-chain, which fundamentally sets the two apart.

2023-12-24

Security audit report for imtoken wallet

This security audit is a requested service authorized by the client. The service is mainly about application penetration testing which helps to find the vulnerabilities and threats of the target. All the penetration testing items are done by simulating the real world malicious attacks against the target, which mimics human hackers’ activities by manual penetration testing with automated tools.

2023-12-24

Decentraland is a blockchain-based virtual world

Decentraland is a virtual reality platform powered by the Ethereum blockchain. Users can create, experience, and monetize content and applications. Land in Decentraland is permanently owned by the community, giving them full control over their creations. Users claim ownership of virtual land on a blockchain-based ledger of parcels. Landowners control what content is published to their portion of land, which is identified by a set of cartesian coordinates (x,y). Contents can range from static 3D

2023-12-24

The Bitcoin Standard

The Bitcoin Standard Bitcoin的表演

2023-12-24

力场的定位是一个以公链共建挖矿为核心的社区平台以及UGC平台

力场的定位是一个以公链共建挖矿为核心的社区平台以及 UGC(用户生成贡 献)平台。力场的愿景是成为公链生态第一社区,无力场,不公链。 力场的使命是赋能公链生态,以(贡献)行为挖矿为切入点,形成公链、KOL、 用户、Dapp 共生、共建、共利的区块链用户社区。

2023-12-24

A Novel Metastable Consensus Protocol Family for Cryptocurrencie

This paper introduces a new family of leaderless Byzantine fault tolerance protocols, built on a metastable mechanism. These protocols provide a strong probabilistic safety guarantee in the presence of Byzantine adversaries, while their concurrent nature enables them to achieve high throughput and scalability.

2023-12-24

Measuring Ethereum Network Peers

Ethereum, the second-largest cryptocurrency valued at a peak of $138 billion in 2018, is a decentralized, Turing-complete computing platform. Although the stability and security of Ethereum—and blockchain systems in general—have been widely-studied, most analysis has focused on application level features of these systems such as cryptographic mining challenges, smart contract semantics, or block mining operators.

2023-12-24

Firework Games White Paper

Firework Games will be the most advanced and forward-looking blockchain game platform. Our vision is to provide an open and inclusive diverse game world based on the pure blockchain technology, which will change the game industry in modern society. Everyone is freely allowed to create, to play and to enjoy his own role in the parallel world.

2023-12-24

CS251 Final Exam 2021

You may use any (non-human) resource to answer the questions. You may not collaborate with others.

2023-12-24

Generic Construction of Ring Signatures with Efficient

We introduce a novel generic ring signature construction, called DualRing, which can be built from several canonical identification schemes (such as Schnorr identification).DualRing differs from the classical ring signatures by its formation of two rings: a ring of commitments and a ring of challenges. It has a structural difference from the common ring signature approaches based on accumulators or zero-knowledge proofs of the signer index.

2023-12-24

The Gridex Protocol

The Gridex Protocol is a permissionless and non-custodial trading protocol consisting of a set of persistent, non-upgradable smart contracts on the Ethereum blockchain. Unlike the current mainstream decentralized exchanges based on the Automated Market Maker (AMM) model, Gridex is based on order books. With our novel Grid Maker Order Book (GMOB) model, we have significantly reduced the resource consumption of running an order book based system, allowing us to deploy and run it on the Ethereum.

2023-12-24

Efficient Zero-Knowledge Arguments for Arithmetic Circuits

We provide a zero-knowledge argument for arithmetic circuit satisfiability with a communication complexity that grows logarithmically in the size of the circuit. The round complexity is also logarithmic and for an arithmetic circuit with fan-in 2 gates the computation of the prover and verifier is linear in the size of the circuit. The soundness of our argument relies solely on the well-established discrete logarithm assumption in prime order groups.

2023-12-24

KishuInu Whitepaper

$KISHU is an ERC20 token which started on the Ethereum blockchain April 17, 2021. The max supply is 100 quadrillion and one of its key functionalities is its decentralized usage rewards mechanism. For every active user transaction a 2% $KISHU reward is granted to holders’ decentralized wallets only, fostering a healthy distrubuted network and community usage. The more $KISHU is actively used, the more rewards are granted!

2023-12-24

On the Instability of Bitcoin Without the Block Reward

Bitcoin provides two incentives for miners: block rewards and transaction fees. The former accounts for the vast majority of miner revenues at the beginning of the system, but it is expected to transition to the latter as the block rewards dwindle. There has been an implicit belief that whether miners are paid by block rewards or transaction fees does not affect the security of the block chain.

2023-12-24

Shorter Proofs for Privacy-Enhanced Distributed Ledger

We present a new short zero-knowledge argument for the range proof and the arithmetic circuits without a trusted setup. In particular, the proof size of our protocol is the shortest of the category of proof systems with a trustless setup. More concretely, when proving a committed value is a positive integer less than 64 bits, except for negligible error in the 128-bit security parameter, the proof size is 576 byte long, which is of 85.7% size of the previous shortest one due to Bunzetal.

2023-12-24

Attacking Threshold Wallets

Threshold wallets leverage threshold signature schemes (TSS) to distribute signing rights across multiple parties when issuing blockchain transactions. These provide greater assurance against insider fraud, and are sometimes seen as an alternative to methods using a trusted execution environment to issue the signature. This new class of applications motivated researchers to discover better protocols, entrepreneurs to create start-up companies, and large organizations to deploy TSS-based.

2023-12-23

This paper provides an architectural overview of the Avalanche

Avalanche is a high-performance, scalable, customizable, and secure blockchain platform. It targets three broad use cases: 15 – Building application-specific blockchains, spanning permissioned (private) and permissionless (public) deployments. – Building and launching highly scalable and decentralized applications (Dapps). – Building arbitrarily complex digital assets with custom rules, covenants, and riders (smart assets).

2023-12-23

Avalanche Native Token ($AVAX) Dynamics

This paper discusses the key implementation details, in particular the token economics (tokenomics), of the native token of the Avalanche platform, called 5 $AVAX. The native token secures the network, pays for fees, and provides the basic unit of account between the multiple blockchains deployed on the larger Avalanche network. For additional details on Avalanche, which serves as a versatile and universal platform, allowing anyone to launch new blockchains with their own rules, virtual machine

2023-12-23

ZKSwap是一个基于 ZK-Rollup 的 Layer2 代币Swap协议

是一种基于 ZK-Rollup 技术的 Layer-2 AMM 去中心化交易协议 ZKSwap,在 Layer-2 上实现了 uniswap 的所有功能,在保证去中心化交易的核心 价值的同时,实现实时交易,把 Uniswap 的 TPS(每秒可以处理的交易数量) 提升了多个数量级,同时交易的过程几乎不需要消耗任何 Gas 费用。 ZKSwap 系统由链上智能合约,链下 ZKSwap Server,零知识证明系统和前端 用户界面组成。

2023-12-23

ZEND White Paper

You agree that you are acquiring ZEND to participate in zkLend and to obtain services on the ecosystem thereon. The Company, the Distributor and their respective affiliates would develop and contribute to the underlying source code for zkLend. The Company is acting solely as an arms’ length third party in relation to the ZEND distribution, and not in the capacity as a financial advisor or fiduciary of any person with regard to the distribution of ZEND.

2023-12-23

KZen Curv Security Audit

KZen Curv is a library written in Rust providing low-level elliptic curve cryptography functionalities (ECC), as well as higher-level protocols such as key-exchange, secret sharing, zero-knowledge, and multi-party computation. KZen Curv 是一个用 Rust 编写的库,提供低级椭圆曲线加密 功能 (ECC) 以及更高级别的协议,例如密钥交换、秘密 共享、零知识、多方计算。

2023-12-23

为什么虚拟资产值得投资:元宇宙虚拟地产报告

本篇报告回顾了2021年Metaverse虚拟地产商生态的发展,并讨论了与之相关的主要市场趋势。这些趋势包括:主流传统玩家的入场;Metaverse技术的商业应用(包括游戏和应用);以及非同质化代币NFT对于整个整体元宇宙的影响。

2023-10-27

元宇宙:未来数字绿洲入口已打开

元宇宙是与现实世界高度互通的虚拟世界,具有同步和拟真、开源和创 造、永续、闭环经济系统四大核心属性。元宇宙的兴起将伴随着 AR/VR、 云计算、AI、5G 等技术的进化,人类对虚拟世界的构建和发展将造就互 联网的终极形态——METAVERSE。随着 ROBLOX 上市受到追捧,元宇宙 正从概念走向现实,国内对标公司或如雨后春笋般出现,产业链发展值 得重视。

2023-10-27

Code Assessment of Liquidations 2.0 Smart Contracts

First and foremost we would like to thank the Maker Foundation for giving us the opportunity to assess the current state of their Liquidations 2.0 system. This document outlines the findings, limitations, and methodology of our assessment. Initially, our code assessment resulted in a number of findings regarding security and correctness. After the submission of the intermediate reports all findings have been resolved. These have been marked accordingly and can be found in the Resolved Findings s

2023-10-27

Scalable and Probabilistic Leaderless BFT Consensus through Meta

This paper introduces a family of leaderless Byzantine fault tolerance protocols, built around a metastable mechanism via network subsampling. These protocols provide a strong probabilistic safety guarantee in the presence of Byzantine adversaries while their concurrent and leaderless nature enables them to achieve high throughput and scalability. Unlike blockchains that rely on proof-of-work, they are quiesce

2023-10-27

Groth16: a pairing-based (preprocessing) SNARK for arithmetic

Non-interactive arguments enable a prover to convince a verifier that a statement is true. Recently there has been a lot of progress both in theory and practice on constructing highly efficient non-interactive arguments with small size and low verifi- cation complexity, so-called succinct non-interactive arguments (SNARGs) and succinct non-interactive arguments of knowledge (SNARKs). Many constructions of SNARGs rely on pairing-based

2023-10-27

The offer-is-code approach to Decentralised Exchanges

This paper introduces a novel and quite general approach to trading which we term “offer-is-code”. We demonstrate the idea by building around it the Mangrove protocol, a decentralised spot market. Mangrove offers are sorted in an order book. Each offer contains a callback address which the matching engine calls when the offer is effectively matched. Incentives are set to make sure that offers are not empty promises.

2023-10-27

A Classification Framework for Stablecoin Designs

In this paper, we systematically discuss general design, decompose existing stablecoins into various component design elements, explore their strengths and drawbacks, and identify future directions. Stablecoins promise to bridge fiat currencies with the world of cryptocurrencies. They provide a way for users to take advantage of the benefits of digital currencies, such as ability to transfer assets over the internet, provide assurance on minting schedules and scarcity。

2023-10-27

EIP-1559 proposal

EIP-1559 is a proposal to make several tightly coupled additions to Ethereum’s transaction fee mechanism, including variable-size blocks and a burned base fee that rises and falls with demand. This report assesses the game-theoretic strengths and weaknesses of the proposal and explores some alternative designs.

2023-10-27

Unipass 区块链实现发送红包的技术分析

1.底层技术支撑 2.Subtle Crypto 和 WebAuthn 3.DKIM

2023-10-24

区块链黑暗森林全面自救手册

囊括了区块链安全指导的方方面面,从创建钱包、备份钱包、使用钱包、传统隐私保护、人性安全、作恶方式、被盗止损等方面进行了全面讲解。

2023-10-24

Sui将地址从160为切换到256的合理性分析

从安全的角度全面分析了Sui的地址从160bits切换到256bits为什么更安全

2023-10-24

拥抱十字路口的挑战:中国金融科技新篇章

科技企业和传统金融机构如何在 新的生态中找到 各自的定位,确 保自己的生存和 发展,引发了强 大张力。与此相 关联,监管部门 的任务变得更加 富有挑战性:一 方面鼓励创新的 战略基调不变, 另一方面更加谨 慎地防范创新中 可能出现的风险,特别是系统 性金融风险和涉 众型社会风险; 同时还需要平衡 科技公司和传统 金融机构的利益。 原有金融体系 最重要的资源是 资金,以资本为 中心。新金融体 系最重要的资产 是数据,以数据 为中心。信用、 支付、风控和技 术等要素都必须 依靠数据运转。 有必要结合创 新带来的变化构 建新的监管框架 与体系,进一步 推进从机构监管 向功能监管的转 型,完善监管覆 盖范围。将所有 金融业务都纳入 监管,同类业务 同一监管,增强 监管的统一性。 同时也可通过 “监管沙盒”试 点等方式增加监 管与创新机构的 互动,保持监管 对新技术的敏感 度。

2023-02-25

Succinct Arguments、Randomized Algorithms、Universal zk-SNARKs

In this paper, we first present a new zk-SNARK system that is well-suited for randomized algorithms—in particular it does not encode randomness generation within the arith- metic circuit allowing for more practical prover times. Then, we design a universal circuit that takes as input any arith- metic circuit of a bounded number of operations as well as a possible value assignment, and performs randomized checks to verify consistency.

2023-02-25

Succinct Non-Interactive Zero Knowledge

Our circuit generator is the first to be universal: it does not need to know the program, but only a bound on its running time. Moreover, the size of the output circuit depends additively (rather than multiplicatively) on program size, allowing verification of larger programs. The cryptographic proof system improves proving and verification times, by leveraging new algorithms and a pairing library tailored to the protocol.

2023-02-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除