区块链中文技术社区

RISC-V 与EVM集成的性能和可行性分析

前置总结

技术目的:以太坊网络扩容面临的几个长期瓶颈,包括稳定的数据可用性采样、确保区块生产保持竞争力,以及零知识EVM证明。在智能合约中实施RISC-V架构将保持区块生产市场的竞争力,并提高执行层零知识功能的效率。转向RISC-V将使 Ethereum 与 Solana 和Sui等更新的区块链更具竞争力

技术可行性:从《RISC-V 与以太坊虚拟机集成的性能和可行性分析》分析和测试结果应该可行

难度和风险:需要执行层的重新设计,社区大概评估整体需要数年的时间,需要大量资源,并可能出现新的漏洞,并且开发人员和项目将如何通过旧的智能控制trac移植到新系统存在问题。当涉及向后兼容性时,这可能会引起很多麻烦。基本等同于个完整的新链

现状:目前消息来看,Vitalik只是计划考虑信标链运行RISC-V,相当于技术调研初期,对于以太坊目前现状,可以主要为了造势,稳币价。对于以太坊是否真正开始投入开发支持,可能等先观望下了

RISC-V 与以太坊虚拟机集成的性能和可行性分析

https://hackmd.io/@0xdeveloperuche/Hk18BWxkxl

RISC-V与EVM相关项目:

evm

https://github.com/developeruche/riscv-evm-experiment/tree/main/crates/research-draft

img

zkevm

https://verified-zkevm.org/

https://argument.xyz/blog/riscv-good-bad/

Solana 节点服务器优化

系统初始化配置

https://docs.solanalabs.com/operations/guides/validator-start#system-tuning

sudo bash -c "cat >/etc/sysctl.d/21-agave-validator.conf <<EOF
# Increase UDP buffer sizes
net.core.rmem_default = 134217728
net.core.rmem_max = 134217728
net.core.wmem_default = 134217728
net.core.wmem_max = 134217728

# Increase memory mapped files limit
vm.max_map_count = 1000000

# Increase number of allowed open file descriptors
fs.nr_open = 1000000
EOF"
sudo sysctl -p /etc/sysctl.d/21-agave-validator.conf
sudo bash -c "cat >/etc/security/limits.d/90-solana-nofiles.conf <<EOF
# Increase process file descriptor count limit
* - nofile 1000000
EOF"

Solana 多重签名交易执行

https://github.com/coral-xyz/multisig/tree/master

执行任意 Solana 交易的多重签名示例。

此程序允许多重签名管理任何常规公钥可以管理的内容。您可以将多重签名用作 BPF 程序升级授权、铸币授权等。

要使用,必须首先创建一个Multisig帐户,并指定两个重要参数:

  • 所有者——为多重签名签署交易的地址集。
  • 阈值——执行交易所需的签名者数量。

一旦Multisig创建了帐户,就可以创建一个Transaction 帐户,并指定正常 solana 交易的参数。

为了签署,所有者应该调用批准指令,最后,一旦有足够多(即阈值)的所有者签署,就调用执行交易 (execute_transaction)。

Docker部署思源笔记Web版

docker-compose.yml

version: "3.9"
services:
  main:
    image: b3log/siyuan
    command: ['--workspace=/siyuan/workspace', '--accessAuthCode=652511569']
    ports:
      - 6806:6806
    volumes:
      - /mnt/nvme0n1-4/docker/volumes/siyuan:/siyuan/workspace
    restart: unless-stopped
    environment:
      - TZ=${TimeZone}
      - PUID=1000
      - PGID=1000
docker-compose up -d

参考

https://blog.csdn.net/u013564470/article/details/143799184
https://blog.imbhj.com/archives/Ims5hvFf
https://hub.docker.com/r/b3log/siyuan
https://github.com/siyuan-note/siyuan/blob/master/README_zh_CN.md