Skip to main content

二分查找

· 9 min read
therainisme
快乐!

预习一下 lower_bound 的用法与写法

lower_bound 功能:在连续递增的数组中返回一个下标 i,其对应的数为 x。给定目标值 tx 是第一个满足 t <= x 的数。

例如,下面的序列中,当 t = 2 时,lower_bound 返回的 i2

1 1 *2* 2 3 4 5 5 6

NixOS 春节假期折腾之旅

· 7 min read
therainisme
快乐!

背景

在春节假期时,无意中浏览到了 ryan4yin 的博客,初次见识到了这个系统。我们早已习惯在 /etc 目录下与无数配置文件搏斗,在软件版本依赖的地狱中挣扎。当系统升级导致开发环境崩溃时,那种熟悉的恐惧感总会涌上心头。Docker 容器虽然提供了临时避难所,却始终治标不治本。

NixOS 让人强烈欲望入坑的特点

  • 用一份 /etc/nixos/configuration.nix 文件定义整个系统
  • 每次系统配置更新,都会提供 Generation 防止错误配置无法回退
  • 完全可复现的开发环境,只需要 git clone,不再需要 pacmanapt

Solana 的 SVM

· 7 min read
therainisme
快乐!

Solana 的 SVM(Solana Virtual Machine)是其核心虚拟机系统,专门设计用于支持高性能的去中心化应用(DApp)运行。与以太坊的EVM(Ethereum Virtual Machine)相比,SVM 在设计上专注于并行处理、低延迟和高吞吐量,以支持大规模的去中心化应用和交易处理。不过 SVM 不支持 Solidity,只支持 Rust、C/C++ 和 Python 编写的智能合约。

Solana 的 PoH

· 20 min read
therainisme
快乐!

Solana 是一个高性能的区块链平台,采用独特的技术架构实现高吞吐量和低延迟。其核心技术包括:

  • Proof of History (POH) 算法确保交易顺序和全局时钟
  • Leader Rotation Schedule 和 Tower BFT 共识机制提高区块出块速率
  • Turbine 机制通过 Reed-solomon 编码优化大区块传播。
  • Solana Virtual Machine (SVM) 和 Sealevel 并行执行引擎加快交易执行速度。

这些都是 Solana 实现高性能的架构设计,但同时也带了一些问题,如网络宕机、交易失败、MEV 问题、状态增长过快和中心化问题,我们在本文中着重阐述了 Proof of History (POH) 这种新机制。

Solana面临的另一个潜在不利因素是竞争环境。以太坊的 Layer-2 解决方案(如 Optimism 和 Arbitrum)正在获得越来越多的关注,它们在保持以太坊主网安全和去中心化的同时,提供了更快、更便宜的交易。

一些去中心化的术语(缩写)

· 10 min read
therainisme
快乐!

DeFi(去中心化金融,Decentralized Finance)

DeFi(去中心化金融,Decentralized Finance)协议是一类基于区块链技术的金融应用,旨在去除传统金融机构的中介角色,让用户直接在去中心化的环境中进行金融交易和投资。DeFi 协议通常通过智能合约实现,不依赖于银行或其他传统金融机构,而是使用区块链网络(如以太坊)来确保交易的安全性、透明性和自动化。

DEX(去中心化交易所,Decentralized Exchange)

DEX(去中心化交易所,Decentralized Exchange)是一种基于区块链技术的交易平台,允许用户在没有中心化中介(如传统交易所)的情况下进行数字资产的点对点交易。DEX通常通过智能合约实现,用户可以直接在区块链上交换加密货币,而不需要把资产托管在交易所。

SGX 当前存在的问题(截至 23 年 8 月)

· 17 min read
therainisme
快乐!

在构建 SGX 应用程序时,必须考虑在使用 Enclave 时它们可能遭受的性能下降。这种性能开销主要是由于 Enclave 初始化、PRM 数据的加密/解密以及在普通代码和 Enclave 代码 (Ocall / Ecall)之间切换等因素造成的。其中一些问题与 SGXv1 有关,本文中提出的解决方案,有些已经被 SGXv2 甚至 SGX SDK 的更新所包含。