通付盾Web3专题 | 智能账户:数字时代基础单元
2008年10月31日,中本聪(Satoshi Nakamoto)在P2P foundation 网站发布比特币白皮书《比特币:一种点对点的电子现金系统》。转眼距比特币白皮书发布已过去15年。2009年1月比特币网络正式推出,当时每个比特币的价格仅为0.0008 美元。今天,比特币报价34,546.17 美元,总市值超过6700亿美元,较发行价升值4300万倍。中本聪与比特币的出现为账户概念提供了一个颠覆性的叙事,打造了全球最优质的“硬资产”,也创造了下一代互联网的技术基石。
从威尼斯商人到中本聪:账户的演进
说文解字中,“账”者“贝”“长”也,是对资产的长期记录;“户”则为这份记录加上了身份的概念。账户是商品经济发展的产物,15到17世纪,欧洲大航海时代带来了丰富的商业贸易活动,民众产生了大量资产(例如黄金)的处置管理和借贷需求,莎翁的《威尼斯商人》中,夏洛克与安东尼奥的债务纠纷生动阐释了这一时期近乎疯狂的民间借贷活动。一般意义上认为的第一家商业银行正诞生于此时此地,1580年意大利威尼斯成立了第一家商业银行,随后几十年里,米兰、阿姆斯特丹、纽伦堡银行陆续成立,拉开了近代商业银行历史的序幕。
早期的账户概念几乎特指银行账户,承担了连接身份与财产记录的简单功能。商业银行的本质就是管理账户,为账户所有人提供资产记录和存贷等金融服务。然而,账户真正的主人还是银行,因为银行拥有处置账户资产的权力。16世纪初期,金匠扮演着银行的角色,民众把黄金存储在大金匠手中(往往因为他们有更好的安保措施),换取金匠开出的凭证。很快金匠就发现并不需要按照“账户记录”存储黄金,完全可以挪用一部分黄金进行高利贷业务,只要客户不集中取货,就不会出问题。几百年过去了,商业银行维持着一样的根本运行逻辑,只不过多了诸如“存款准备金率”之类的安全机制保障。
互联网时代的来临拓宽了账户的应用范围。平台经济的飞速发展让账户成为人们日常生活的重要组成部分。如果说银行账户是管理资产,那平台账户更多的是管理数据,连接了数字身份与该数字身份在平台上所产生的活动数据。账户的数字化让使用者体验到了极大的便利,但用户依然不是自己账户的真正所有者。平台对用户数据有着绝对的控制权,数据安全和数据隐私问题层出不穷,账户依然只是数字身份的投影,用户使用但不拥有。
中本聪与比特币的出现为账户概念提供了一个颠覆性的叙事。比特币的本质是一个去中心化的记账体系,通过节点和共识网络解决了中心化机构作恶的问题,通过公私钥加密的账户体系实现了账户真正的自主拥有。运行十五年来,比特币已经成为全球最优质的“硬资产”之一,其背后的区块链账户体系也成为了下一代互联网的技术底座。
从比特币到以太坊:智能账户的诞生
比特币的账户体系证明了区块链账户在用户所有权层面的绝对优异性,但它的账户还称不上是智能账户。比特币使用了一种UTXO(未花费支出)的账户模型,相比传统账户模型(Account模型)提供了更好的并行交易能力,但大幅提升了账本对单一账户的管理成本和可扩展性。以太坊创始人Vitalik看到了这一技术缺陷,希望将区块链应用在货币支付之外的领域。以太坊创立愿景是打造全球去中心化计算基础设施,让以太坊像互联网TCP/IP协议一样内置编程逻辑,以承载无限制的应用场景。一定意义上说,中本聪提供了去中心化银行账户的解决方案,Vitalik使去中心化互联网账户成为可能。
以太坊的出现代表着智能账户的起点。早在以太坊之前,Vitalik曾提出一个名为染色币(Colored Coins)的构想,基于比特币网络发行具备智能逻辑的代币,称为智能资产(smart properties)。受限于比特币网络的种种限制,该项目并未走向普及。正是对智能资产的尝试,让人们意识到智能账户的必要性。智能账户的特点是由智能合约控制,从而可以依据智能合约代码实现任意指定逻辑,例如自定义的风控规则、满足特定条件的自动化交易、账户多方管理、账户恢复等。一个完备的智能账户应当具备以下特征:
1. 可编程性。智能账户中的智能指的是可编程性。以太坊与比特币最大的区别就在于以太坊通过智能合约提供了强大的可编程性。在《浅论智能合约:数字社会的神经网络》一文中,我们提到了Nick Szabo的智能合约概念以及以太坊虚拟机对于智能合约执行的重要性。有了智能合约提供的可编程性,智能账户的存在成为可能。
2. 可扩展性。一个成熟的智能账户体系应当是可升级的,意味着新的技术或场景的出现(例如一条新的公链),用户可以在保留已有账户的前提下,兼容升级以支持新的应用。从当前发展情况来看,多链将成为智能账户的必备特性。
3. 用户控制。智能账户不应违背区块链去中心化的基本原则,其控制权需要完全掌握在用户手中。基于公私钥体系的密码学算法可以轻松实现这一点,例如以太坊地址本身;为了实现可编程性,使用智能合约控制账户(账户抽象)是更加先进的做法。
关于账户抽象
以太坊以及智能合约的出现为智能账户提供了技术基础,但对智能账户的大规模实践实际经历了漫长的周期。区块链有两种账户,分别为外部账户(EOA)和智能合约账户(Contract Account)。外部账户的所有权和签名权理论上是同一个体单位持有的;简单来讲,持有私钥的人不只拥有这个账户的“所有权”,同时还有权利“签名转移所有资产”。EOA虽然现在仍然是最主流的账户形式,但其使用存在诸多弊端,例如私钥安全风险,尤其是用户遗忘私钥;隐私安全与数据安全得不到保障;互操作性上EOA账户受制于签名算法局限也远不如CA账户。
早在以太坊创立之初,Vitalik就通过EIP(以太坊提升协议)-101提出了货币与加密抽象的设想。账户抽象的本质是分离账户的签名权和所有权,从而实现更加便捷的使用体验。用户使用一个CA账户作为主账户,一个EOA账户作为CA账户的Owner进行签名,通过智能合约设置更换Owner恢复CA账户的逻辑,实现无私钥智能账户。
账户抽象的里程碑出现在2023年年初。在3月1日丹佛的 WalletCon上,官宣了由以太坊基金会开发人员设计实现的ERC-4337 的核心合约已经通过了 OpenZeppelin 的审计,通过各项测试,目前审计后的合约已经顺利部署在以太坊主网和多个二层网络。ERC-4337为以太坊提供了统一的账户抽象标准,制定了账户抽象实现流程,以及定义必需的数据结构。最重要的是,ERC-4337基于现有以太坊共识协议实现,意味着账户抽象的落地无需网络分叉或升级。
ERC-4337带来的核心优势包括:
1、安全性:最大限度规避私钥安全相关风险,可自定义风控措施;
2、便捷性:一键创建钱包,无gas交易,Web2登录,社交恢复;
3、互操作性:智能合约带来无限制的交易逻辑,例如条件支付、隐私交易、智能风控以及和外部系统的更顺滑对接。
以太坊发展路线图将账户抽象作为最后一个阶段-The Splurge(狂欢)。可以预见的是,ERC-4337是智能账户的重要支柱型技术,是Mass Adoption(大规模采用)的前提,是Web3终极形态的基础。
图3 以太坊RoadMap后三个阶段
关于人格证明、隐私与合规
前文我们讲到,智能账户与传统账户的核心区别,一是用户数据资产完全由自己掌握,二是基于区块链的无限制智能合约逻辑。账户所有权归用户所有,即符合数据安全与数据要素市场发展的大方向,也是下一代互联网的原教旨主义。但去中心化往往也意味着效率、维护成本与安全性的多重考验,智能账户的落地应用还处在非常早期的阶段,社区对于账户抽象等智能账户技术的应用也存在分歧。
讨论的焦点之一是账户的人格证明,即如何在维持去中心化和安全性的基础之上,证明智能账户背后的真实身份。我们知道传统银行账户系统有着严格的开户规则,例如一个自然人只能在一个商业银行开立一个一类账户。银行系统和公安身份系统的对接可以让这条规则比较容易地实现。在智能账户领域情况则要复杂的多,由于是公开网络,用户可以无许可地创建链上账户,提供便捷性的同时,女巫攻击(Sybil Attack)、洗钱等风险层出不穷,链上账户与实体身份的绑定成为业界难题。Worldcoin项目提供了一种解决方案,即使用一个虹膜扫描硬件来确认实体身份,但关于隐私合规与加密殖民主义的批评也从未停止。一些项目采用零知识证明(ZK)技术来证明账户的部分身份属性,以平衡隐私保护与合规需求,例如Proof of Innocence通过ZK证明自己的资金来源不涉违法行为,但不披露具体来源或身份。还有一些项目通过社交活动确定身份,例如BrightID使用一套复杂的视频交叉确认规则来证明地址背后是一个真人。无论哪种方式都有其比较明显的弊端,但得益于智能合约为智能账户提供的无限可能,市场终将会摸索出适合的路径。
另外一个焦点在于合规与监管。受限于国家和地区的不同法律法规,无国界的区块链世界难以寻得一套适用于现有监管体系的普适规则,合规成本极高。套用现有监管框架必然存在诸多阻碍与不合理性,更需要的是原生的监管方式。例如面对以太坊质押龙头Lido的垄断风险,社区自发发起监管建议,在协议层面通过共识进行控制,就是由中心化监管转向去中心化监管的尝试。智能账户的出现其实为监管提供了新的解决路径,更完善的互操作性和智能合约逻辑支持可以让账户在创建、交互、交易等过程中均添加相应的监管类或风控类协议,当然协议的定制与推行也将需要由社区发起。
结语
智能账户相较于传统账户是技术飞跃的成果,也是人类向往自由身份和自主身份的必然结果。去中心化金融如日中天之时有人大胆预言商业化银行将成为“21世纪的恐龙”面临灭绝,虽夸大其词但也引人深思。在技术层面,区块链、智能合约、AI等新兴技术处在高速发展期,正快速走向成熟,为智能账户的产品化提供坚实支撑;在应用层面,智能账户还面临着生态建设、应用建设和监管合规等多方挑战,前景清晰但也困难重重。从一个更广阔的周期来看,智能账户的特性与数字时代数据要素化资产化的需求高度重合,必将成为数字时代的基础单元。
-END-
数信云,基于区块链的数据安全应用与服务平台
相关文章:

通付盾Web3专题 | 智能账户:数字时代基础单元
2008年10月31日,中本聪(Satoshi Nakamoto)在P2P foundation 网站发布比特币白皮书《比特币:一种点对点的电子现金系统》。转眼距比特币白皮书发布已过去15年。2009年1月比特币网络正式推出,当时每个比特币的价格仅为0.…...

java网上阅读网站系统eclipse定制开发mysql数据库BS模式java编程jdbc
一、源码特点 JSP 网上阅读网站系统是一套完善的web设计系统,对理解JSP java SSM框架 mvc编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,eclipse开发,数据库为Mysql5.0&a…...

人工智能基础_机器学习007_高斯分布_概率计算_最小二乘法推导_得出损失函数---人工智能工作笔记0047
这个不分也是挺难的,但是之前有详细的,解释了,之前的文章中有, 那么这里会简单提一下,然后,继续向下学习 首先我们要知道高斯分布,也就是,正太分布, 这个可以预测x在多少的时候,概率最大 要知道在概率分布这个,高斯分布公式中,u代表平均值,然后西格玛代表标准差,知道了 这两个…...

开源播放器GSYVideoPlayer的简单介绍及播放rtsp流的优化
开源播放器GSYVideoPlayer的简单介绍及播放rtsp流的优化 前言一、GSYVideoPlayer🔥🔥🔥是什么?二、简单使用1.First、在project下的build.gradle添加2.按需导入3. 常用代码 rtsp流的优化大功告成 总结 前言 本文介绍,…...

安卓手机数据恢复工具 DiskDigger Pro 中文版-适用于已获得 root 权限的设备!可以从您的存储卡或内存恢复数据
可以从您的存储卡或内存中取消删除和恢复丢失的照片、文档、视频、音乐等。 无论您是不小心删除了文件,还是重新格式化了存储卡,DiskDigger 强大的数据恢复功能都可以找到您丢失的文件并让您恢复它们。 注意:如果您的设备未获得 root 权限&a…...

Python 生成Android不同尺寸的图标
源代码 # -*- coding: utf-8 -*- import sys import os import shutil from PIL import Imagedef generateAndroidIcons():imageSource icon.pngicon Image.open(imageSource)sizes [(android/drawable,512),(android/drawable-hdpi,72),(android/drawable-ldpi,36),(andro…...
PHP使用GuzzleHttp进行HTTP请求
1,composer安装 composer require guzzlehttp/guzzle:~7.0 2,设置过期时间和跳过ssl验证 use GuzzleHttp\Client;$clientnew Client([timeout > 5, verify > false]);2,get请求 use GuzzleHttp\Client;$clientnew Client([timeout > 5, verif…...
pytorch笔记:allclose,isclose,eq,equal
1 allclose 1.1介绍 torch.allclose是一个PyTorch函数,用于检查两个张量是否在某个容忍度范围内近似相等 torch.allclose(input, other, rtol1e-05, atol1e-08, equal_nanFalse)input (Tensor) – 第一个输入张量other (Tensor) – 第二个输入张量rtol (float) –…...
YoloV8修改检测框为中心点
代码实现参考: https://github.com/computervisioneng/train-yolov8-custom-dataset-step-by-step-guide/blob/master/local_env/predict_video.py from ultralytics import YOLO from PIL import Image import cv2 import numpy as npmodel YOLO("/home/ps…...

文言一心中将C语言归类为低级语言,这对么?
文言一心中将C语言归类为低级语言,这对么? 以下是文言一心中的回答:C语言属于低级语言。低级语言通常指的是接近于机器语言的编程语言,它们与计算机硬件的交互更加直接,能够更高效地利用计算机资源。最近很多小伙伴找我ÿ…...
[补题记录] Codeforces Round 906 (Div. 2)(A~D)
URL:https://codeforces.com/contest/1890 目录 A Problem/题意 Thought/思路 Code/代码 B Problem/题意 Thought/思路 Code/代码 C Problem/题意 Thought/思路 Code/代码 D Problem/题意 Thought/思路 Code/代码 A Problem/题意 给出一个数组 A…...
Kubernetes yaml文件
目录 yaml文件 Pod yaml文件详解 deployment.yaml文件详解 Service yaml文件详解 文件 Kubernetes 支持 YAML 和 JSON 格式管理资源对象 JSON 格式:主要用于 api 接口之间消息的传递 YAML 格式:用于配置和管理,YAML 是一种简洁的非标记性…...

Linux——切换CUDA版本
一、查看本地cuda版本 cd /usr/local/ ls当前cuda为软连接,指向指定的cuda版本 stat cuda # 查看当前cuda状态信息二、切换CUDA版本 # 删除原有软连接 sudo rm -rf /usr/local/cuda # 建立需要切换的cuda软连接版本 sudo ln -s /usr/local/cuda-**.* /usr/l…...

利用云计算和微服务架构开发可扩展的同城外卖APP
如今,同城外卖APP已经成为了人们点餐的主要方式之一。然而,要构建一款成功的同城外卖APP,不仅需要满足用户的需求,还需要具备可扩展性,以适应快速增长的用户和订单量。 一、了解同城外卖APP的需求 在着手开发同城外卖…...

数据结构详细笔记——二叉树
文章目录 二叉树的定义和基本术语特殊的二叉树满二叉树完全二叉树二叉排序树平衡二叉树 二叉树的常考性质完全二叉树的常考性质二叉树的存储结构顺序存储链式存储 二叉树的先中后序遍历先序遍历(空间复杂度:O(h))中序遍…...

react实现列表增删改查的小demo(class组件版)
前言 react的语法上就是比vue麻烦不少,既然要开手动挡,那就开吧,一个基础的demo 效果图 列表 新增弹窗 编辑弹框 新增一条数据后的效果 代码 根组件 index.jsx import React, { Component,createRef} from react import withRouter from ../../utils/withRouter import G…...

运行批处理文件,Windows 10至少提供了三种方法,有的可以设置定时运行
Windows 10至少有三种写入批处理文件的方法。你可以使用命令提示符或文件资源管理器按需运行它们。你可以使用任务计划程序配置脚本,以便按计划运行。或者,你可以将批处理文件保存在“启动”文件夹中,让系统在你登录帐户后立即运行它们。 如果要按需运行脚本,可以使用文件…...
C++ detach线程的归属权和控制权交给runtime library的原因
在C中,std::thread的detach操作将线程的归属权和控制权都转移给了C运行时库(runtime library)。这是因为detach操作的目的是告诉C运行时库,你不再关心这个线程的状态,它可以在后台独立运行,而不需要等待主线…...

Android应用集成RabbitMQ消息处理指南
Android应用集成RabbitMQ消息处理指南 RabbitMQ1、前言2、RabbitMQ简介2.1、什么是RabbitMQ2.2、RabbitMQ的特点2.3、RabbitMQ的工作原理2.4、RabbitMQ中几个重要的概念 3、在Android Studio中集成RabbitMQ3.1、在Manifest中添加权限:3.2、在build.gradle(:app)下添…...

爆改86㎡户型,中式禅意,自然诗意!福州中宅装饰,福州装修
自然诗意 中式禅意 东方风韵,涟漪泛晕。 ——致生活感的“空间”,最美的家 案例简介 作品:泛晕 风格:新中式 面积:86平方 楼盘:长乐中南樾府 中国风与现代风混搭 木元素是中国风表达中最具灵魂般的存…...
PyTorch 中cumprod函数计算张量沿指定维度的累积乘积详解和代码示例
torch.cumprod 是 PyTorch 中用于 计算张量沿指定维度的累积乘积(cumulative product) 的函数。 1、函数原型 torch.cumprod(input, dim, *, dtypeNone, outNone) → Tensor参数说明: 参数说明input输入张量dim累积乘积的维度dtype可选&…...

AI浪潮下的IT行业:威胁、转变与共生之道
目录 前言1 AI在IT行业的具体应用场景1.1 软件开发中的AI助手1.2 运维与监控的智能化1.3 测试自动化与质量保障1.4 安全防护中的智能威胁识别 2 AI对IT从业者的实际影响2.1 工作内容的结构性变化2.2 技能结构的再平衡 3 IT从业者不可替代的能力与价值3.1 复杂系统的架构与抽象能…...
几种简单的排序算法(C语言)
目录 1 简介 2 冒泡排序 2.1 基本思路 2.2 代码实现 3 选择排序 3.1 基本思路 3.2 代码实现 4 插入排序 4.1 基本思路 4.2 代码实现 5 快速排序 5.1 基本思路 5.2 代码实现 6 归并排序 6.1 基本思路 6.2 代码实现 7 基数排序 7.1 基本思路 7.2 代码实现 8 …...
MS2691 全频段、多模导航、射频低噪声放大器芯片,应用于导航仪 双频测量仪
MS2691 全频段、多模导航、射频低噪声放大器芯片,应用于导航仪 双频测量仪 产品简述 MS2691 是一款具有 1164MHz 1615MHz 全频段、低功耗的低噪声放大器芯片。该芯片通过对外围电路的简单配置,使得频带具有宽带或窄带特性。支持不同频段的各种导…...
rec_pphgnetv2完整代码学习(二)
六、TheseusLayer PaddleOCRv5 中的 TheseusLayer 深度解析 TheseusLayer 是 PaddleOCRv5 中 rec_pphgnetv2 模型的核心网络抽象层,提供了强大的网络结构调整和特征提取能力。以下是对其代码的详细解读: 1. 整体设计思想 核心概念: 网络…...

Linux进程(中)
目录 进程等待 为什么有进程等待 什么是进程等待 怎么做到进程等待 wait waitpid 进程等待 为什么有进程等待 僵尸进程无法杀死,需要进程等待来消灭他,进而解决内存泄漏问题--必须解决的 我们要通过进程等待,获得子进程退出情况--知…...

构建 MCP 服务器:第 4 部分 — 创建工具
这是我们构建 MCP 服务器的四部分教程的最后一部分。在第一部分中,我们使用基本资源创建了第一个 MCP 服务器。第二部分添加了资源模板并改进了代码组织。在第三部分中,我们添加了提示符并进一步完善了服务器结构。现在,我们将通过添加工具来…...
ajax学习手册
Ajax 通俗易懂学习手册 目录 Ajax 基础概念XMLHttpRequest 详解Fetch API (现代方式)处理不同数据格式错误处理和状态码Ajax 高级技巧实战项目案例最佳实践 Ajax 基础概念 什么是 Ajax? Ajax Asynchronous JavaScript And XML 通俗解释: Ajax 就像…...

埃文科技智能数据引擎产品入选《中国网络安全细分领域产品名录》
嘶吼安全产业研究院发布《中国网络安全细分领域产品名录》,埃文科技智能数据引擎产品成功入选数据分级分类产品名录。 在数字化转型加速的今天,网络安全已成为企业生存与发展的核心基石,为了解这一蓬勃发展的产业格局,嘶吼安全产业…...
LMG1020YFFR 电子元器件详解
LMG1020YFFR 电子元器件详解 基本概述 LMG1020YFFR是德州仪器(TI)生产的一款高性能、低侧栅极驱动器,属于其GaN(氮化镓)功率器件驱动产品系列。 主要功能特性 驱动能力: 峰值输出电流:5A/-5A 可驱动GaN FETs、SiC MOSFETs和高速硅MOSFETs…...