tokenpocket官方|daos
开源全闪存存储系统:Intel DAOS架构介绍 - 知乎
开源全闪存存储系统:Intel DAOS架构介绍 - 知乎切换模式写文章登录/注册开源全闪存存储系统:Intel DAOS架构介绍tao.chang随着闪存的价格不断下降,新型应用(AI,HPC,高性能的分析等)对性能的不断需求,导致目前看来全闪存分布式存储系统是一个大的发展趋势。Intel 的DAOS是目前能看到的唯一开源的高性能的全闪分布式存储系统。所以研究它的架构和实现对我们有极大的借鉴意义。自从2018年intel把自己维护的高性能Lustre文件系统卖给DDN后,intel就着力开发了DAOS,也就是被称为下一代Lustre高性能文件系统。主要用于HPC和AI等高性能场景中。DAOS是完全从头设计,完全运行在用户态的存储系统。主要针对大规模分布式非易失性内存介质。目前的介质主要是 SCM和 NVME SSD存储。用Persistent Memory Development Kit (PMDK)来把SCM通过memory map的方式直接访问。通过Storage Performance Development Kit (SPDK)库直接访问NVM-Express SSD盘。提供非阻塞IO事务,数据保护和自我修复,基于commodity硬件,End-to-End数据一致性。在对外接口上,通过libdaos实现了两类接口:Native key-value接口和Native array接口。可以理解为:DAOS同时实现了一个分布式的KV存储系统和一个分布式的类似Ceph RADOS的对象存储系统。基于libdaos库可以实现各种应用层的接口:POSIX filesystem,HDF5,HDFS Connector等。DAOS主要采用了目前众所周知的一些技术:By OS kernel:直接使用PMDK,SPDK等用户态库绕过操作系统直接访问SCM和NVME SSD等高性能设备。RDMA:实现用户空间数据端到端的数据拷贝。UTL(user level thread)用户态线程或者称为协程的概念。通过上述技术,DAOS可以是完全实现在用户态的高性能分布式存储系统。DAOS 基本架构 DAOS提供数据接口Native key-value:一种是比较熟悉的Key/Value模型,提供kv存储接口。例如put,get,remove,list操作。Native Array:一种提供Array Object,也就是一般理解的对象存储。比如Ceph中RADOS的对象存储一个对象默认4M,就可以把这个4M的对象看成是一个Array Object:可以修改对象的任意字节,也就是支持随机读写,punch,删除操作。DAOS 生态系统DAOS 的生态DAOS的生态系统可以看到,DAOS的设计目标不是提供一个单一应用的存储系统。DAOS提供了两个基本的接口:Native Array和Native key-value接口。基于这两个接口,提供了众多的应用接口:Posix File System科学计算的HDF5格式高性能计算MPI_IO接口大数据 HDFS接口AI:Pytorch,TensoFlow其它Domain-Specific Data ModelDAOS的架构介绍架构图整个DAOS系统从物理部署的角度分为:管理节点:Admin Node,用于部署管理工具dmg,通过DAOS Mgmt API访问服务器节点。客户端节点:Client Node存储节点:Storage Node这三类节点都可以部署在物理节点,虚拟机或者容器中(Node/VM/Container)。DAOS系统从逻辑视图可以划分为:Control Plane:Control Plane是系统的控制面或者管理面,用golang语言开发。客户端和服务端之间用基于tcp/ip的gRPC通信。和对应本机上Data Plane组件通过基于Unix Socker的dRPC通信。Data Plane为数据平面:图示中红色的部分。用C语言开发,主要实现了IO的数据通道。通过高性能的RDMA实现数据通信。daos_server是一个daemon进程,部署在存储节点的control plane侧,用于管理本地节点挂载的SCM和NVME SSD存储设备。daos_engine是一个daemon进程,部署在存储节点的Data Plane侧提供数据服务器,一个Target(存储设备)对应一个daos_engine进程。daos_agent是一个部署在客户端节点上的control plane侧独立的进程,主要的两个作用:为daos client library提供鉴权和权限管理;通过gRPC访问存储节点获控制面获取集群和pool的状态信息。daos Library(libdaos)是部署在client node上的data plane侧,是数据的读写的客户端。通信网络gRPC通过tcp/ip实现了网络通信,主要用于管理面客户端和服务端之间的通信。dRPC基于Unix Domain Socket用于本地进程之间通信:本机control plane和data plane组件通信。CART:用户态实现的网络通信库用于Data Plane(数据面)侧提供低延迟高带宽的网络通信,支持RDMA capabilities 和 scalable collective operations操作。基本概念介绍DAOS System:是一组物理节点集合,通过一个System Name标识,由一组Storage Node组成。一个Storage Node只能属于一个DAOS System。一个DAOS pool不能跨多个Daos System。可以理解拥有独立的物理空间的完整的存储系统。DAOS Storage Node:一个Storage Node包括多个DAOS target物理设备。DAOS Target:可以理解为物理存储设备(可以理解为ceph OSD),设备包括:single-ported SCM module NVMe SSD attached to a single storage node一个single-ported SCM或者NVMe SSD 对应一个Target:类似于ceph中的一个磁盘对应一个OSD的概念。Target 没有针对存储介质故障实现任何内部数据保护机制。因此,一个 Target 就是一个单点故障,同时也是故障单元。每个 Target 有相关的状态,状态可以是“up and running”,也可以是“down and not available”。DAOS pool:逻辑存储空间,包含若干pool shards (可以理解为ceph pool概念)一个pool里包含若干个pool shard每个pool shard 分布在一个target上。一个target上可以承载多个pool shard。pool shard是target上的子空间。分配给 Pool 的总空间在创建时确定,后期可以通过调整所有 Pool Shard 的大小(不超过 Target 专用的存储容量限制)或添加更多 Target(添加更多 Pool Shard)来扩展它。Pool Shard: target 上的一个逻辑子空间DAOS Container:每个container是一个独立的对象地址空间,类似于S3的bucket概念。Container被一个UUID标识。这个概念对用户是可见的,在使用时需要用户自己创建。一个Data Pool 可以承载多个(数量在100个左右)DAOS Container 。每个 Container 都是一个私有的对象地址空间,可以对其进行事务性修改,并且独立于在同一 Pool 中的其他 Container。Container 是快照和数据管理的单元。一个 Container 内的 DAOS 对象通过Jump Consistent Hash算法可以分布在当前 Pool 的任何一个 Target 上以提高性能和恢复能力。Container级别实现快照和事务的功能。container的相关的属性信息Object schema: 定义了对象的数据分布和冗余信息:例如动态或者静态Stripe,副本或者EC等参数。在一个Container中的每个对象可能拥有不同的 object schema。Object class 预定义了一组object schema。每个object class 有一个ID,并在pool层级上关联特定的 schema。 每个对象关联该object class ID,从而关联对应定义好的Object Schema.每个层级大概的数量DAOS Object: DAOS 基本的对象的概念。DAOS object设计时尽量保持简单。除了对象的type和schema之外,并没有保存time,size,owner,permissions或者 opener等信息。对象的layout的信息依据算法(jump consistent Hash)根据object ID和当前pool map计算出来。DAOS Object有三种API:multi-level key-array:key分为两部分:dkey和akey,拥有相同dkey的key分布在相同的target上。value可以是变长的不支持partial overwrite操作的值,也可以是定长的值Key-value:提供简单key和变长的value,支持传统的put,get,remove,list操作。Array API:一维的定长array,可以长达64bit,支持任意的extent read,extent write,extent puch操作。管理数据和集群服务DAOS相关的管理数据例如pool,container,management service等集群相关的数据保存在基于Raft协议实现的key-value的高可用的存储系统。类似于Ceph的monitor的功能。DAOS的 RSVC(replicated service)实现了一个基于Raft协议的服务框架,和具体的RDB(replicated database)组合来实现高可用,持久化保存相应的管理数据。数据分布Placement设计DAOS的数据分布算法基于Jump consistent hash来实现分布式系统的数据分布。实现了object到副本所在的 targets的映射关系的计算。输入参数为objectID和pool map信息,输出为该对象发布的target列表。object identifier ----(jump consistent hash)------> list of targets副本一致性DAOS支持副本和EC两种数据高可用模式。通过改进的两阶段提交算法DTX(DAOS Two Phase Commit)实现副本一致性。Epoch & Timestamp Ordering每个DAOS IO操作都会带一个timestamp,该timestamp也被称为epoch, 一个epoch是一个64-bit的整数,该64位的整数包括了logical和physical clocks(参考 HLC paper). DAOS内部提供了epoch和traditional POSIX time的转换。DAOS Data ModelDAOS API 支持分布式事务,允许对属于同一容器的对象的任何更新操作合并到单个 ACID 事务中。 通过基于多版本时间戳排序的无锁乐观并发控制机制提供分布式一致性。 DAOS 可以基于版本控制机制创建持久的Container快照,该快照提供基于Container的实时分布一致性视图。写操作流程图:读写流程写操作由客户端发起:客户端发送给DTX Leader节点Leader节点通知所有副本做本地事务的修改,本地事务DTX的状态变为prepared状态Leader收到所有本地事务修改成功后(包括自己成功修改本地事务),把DTX的状态变为committable状态,并返回给客户端。Leader在后台异步的提交事务,使事务处于提交的状态:可以是定时提交,或者达到一定的事务数量后batch提交,或者后续的RPC请求中顺带一起提交。如果有slave在prepared阶段失败,Leader向剩余存活的节点发送abort DTX的操作。客户端如果收到abort DTX操作,表明事务提交失败,客户端会不断的重试,直到该target被标记为永久故障,系统会通过分布算法选择新的一组target重新提交事务。如图读写流程所示:虚线是控制流,灰色箭头是数据流。对于DAOS的写操作特别要强调的是:控制流和数据流分离的模式:客户端发送写操作的rpc控制请求给primary server,primary server发送控制请求rpc请求给slave。在数据流方面:slave server 和 master server同时请求RDMA,直接从client的buffer中读取数据到storage server上,然后返回。读操作流程当需要读取数据时,客户端可以向任意数据副本发送请求。在server端,检索正在提交的事务(active DTX records),如果有对应读取对象相关的分布式事务DTX都已经提交或者处于可提交状态,就可以读取数据。如果对应的DTX的状态为prepared状态,就需要通知客户端,重新发起请求给Leader来获取最新的数据。DTX Leader Election在DTX模型中,leader副本做了如下的工作:所有的修改操作都发送给leader,leader做必要的一致性检查(sanity check)读操作, 如果DTX处于prepared状态,需要把请求转发给LeaderLeader的选举是基于每个Object或DKey的粒度的。也就是每个对象都需要自己通过选举流程选出自己的Leader。具体的选择算法比较简单,这里不介绍。故障检测和数据修复分层的故障域(Hierarchical Fault Domains)DAOS支持可分层的故障域模型。使的数据的副本分布在不同的故障域中,保障数据的可靠性。DAOS故障域相关的信息保存在元数据信息中。故障检测DAOS通过一个gossip-based的称为SWIM的协议来完成节点的故障检测。该协议可以准确,有效的检测故障。每个DAOS stroage target会有定期本地健康检测,当本地IO出现错误,就会启动一个检测流程:通过判断IO的错误码和设备的SMART/Health信息来评估检测状态,如果确定失效,该target就会被标记为faulty。检测到故障的daos target后,该target将从pool map中标记删除。一旦标记删除,新的pool map信息会被主动推送到所有的Storage target节点上。此时,pool将处于降级的状态。客户端或者Storage Node上的PRC请求将一直重试或者超时,直到有新的target组成新的pool map。数据修复数据修复以对象为基本单位存活节点会被通知到有失效节点,然后存活节点全量扫描本地所有对象,通过Jump Consistent hash算法计算副本情况,如果受到影响,自己发起相应对象的修复。故障节点恢复数据依然迁移回原来的节点(基于Jump Consistent Hash算法)所有的对象需要扫描检测版本确认一致性故障节点恢复所有的数据恢复都需要全量扫描object列表来完成恢复。而不是基于日志记录只恢复相应修改的对象。这种设计比较简单粗暴:需要全量扫描对象列表。也许对于DAOS系统,对象列表(对象元数据)保存在SCM中,全量扫描的代价似乎影响不大。集群扩容自动完成数据均衡扩容基于Jump Consistent Hash算法,也是以object为基本的单位在扩容期间,旧的设备依然提供读写服务直到扩容完成,写操作也同时写在新的设备上。集群扩容本地存储VOSVOS(versioning Object Store)VOS(version object stroage)是带多版本的本地对象存储系统。类似于Ceph的Bluestore的角色。元数据存储在SCM上,使用per-server的pmemobj pool存储。数据小IO存储在SCM中,大块IO存储在NVMe-SSD上。 SCM存储空间使用PMKD的 pmemobj pool分配。NVMe磁盘使用SPDK Blob库分配。小块IO在SCM,大块IO直接落盘NVMe SSD上。同时支持后台小块IO的合并成大块IO并迁移到NVMe SSD上。Small IO 合并迁移VOS最大的设计亮点是:基于日志型的多版本机制。所有的写操作都带有epoch,并且都是追加写操作,不会覆盖原有的数据。基于多版本机制可以方便实现事务机制,snapshot,数据恢复等。VOS内部保存了三个index:object index: object ID + epoch ---> object metadataactive DTX records:正在提交的事务记录commited DTX records:已经提交的事务记录KV StoreVOS 提供了一个基于SCM的multi-version,concurrent Key-Value Store。KV支持高性能的insert,update,delete和scan操作。updat和delete操作都是添加一条新的记录。两种Key:Hashed Keys和 Direct Keys。Hashed Keys基于Hash值产生的Key,优点是快速查找,分布均匀,缺点是不支持SCAN操作。Direct Keys支持SCAN操作。 Direct Keys有两种:一种是Lexical Keys:基于 lexical ordering,其长度最大支持80字节。另一种是Integer Keys,用一个unsigned 64-bit integers做为key。在对比了红黑树和B+树的优缺点后,VOS使用了B+树做为存储结构。Key Array StoresVOS实现了数据多版本的读写:所有的写操作都是追加写到新的地址空间中,并更新VOS中object的metadata index值。VOS的对象元数据保存了多版本的信息,通过R-Tree实现空间查找。VOS R-Tree extentsR-Tree介绍R-Trees provide a reasonable way to represent both extent and epoch validity ranges in such a way as to limit the search space required to handle a read request. VOS provides a specialized R-Tree, called an Extent-Validity tree (EV-Tree) to store and query versioned array indices.Blob I/O(BIO)BIO用于NVME SSD磁盘空间管理和分配。DAOS的control plane处理SSD的配置管理。DAOS data plane通过SPDK处理数据块的分配,使用的算法为VEA(Versioned Extent Allocator)数据分配算法。Background Aggregation操作:用于数据从SCM合并小的数据块到NVME SSD上大的数据块。应用层介绍DAOS POSIX Support在libdaos接口之上,基于daos的key-value接口,提供了posix的文件系统的dentry和inode相应的存储,从而提供了posix文件系统的接口。两种即可:dfuse,基于fuse的文件系统接口;第二个是interception library,提供了一个dfs的用户态库,用于截获并转发系统调用。posix 架构总结和评论DAOS由于从头设计,采用了一些关键的技术:by pass kernel技术如:PMDK,SPKD技术,User Thread等,主要的设计亮点如下:VOS的设计比较有参考价值:采用了基于Log的对象存储系统设计,所有的更新操作都以追加的形式写到新的空间,丢弃了传统的in-place update的设计模式。采用这种设计:优点比较明显:无论是顺序写还是随机写操作都比较友好。后续可以较容易的支持snapshot操作。特别是可以支持本地事务的提交和回滚:支持redo和undo两种操作,支持分布式事务的提交。缺点:读操作需要处理多版本和可能的大量的元数据操作;顺序读操作可能大量分散成大量随机读IO。这对于SCM和NMVE SSD似乎问题不大。对于DAOS的设计目标,元数据保存在SCM中,性能和空间可能都不是问题。顺序读操作或许可以通过scatter-gather模型在SCM上可以缓解。数据从SCM上通过merge合并到大块的 NVMe SSD上也可以部分缓解。有了VOS的日志型的多版本设计,副本一致性就通过了传统的two-phrase来实现相对就比较简单。总的来说,DAOS从架构设计的角度,还是比较合理的。笔者比较看好DAOS的未来发展,继续持续关注学习中。参考《DAOS: A Scale-Out High Performance Storage Stack for Storage Class Memory》编辑于 2023-12-12 22:42・IP 属地北京开源开源项目闪存(NAND)赞同 319 条评论分享喜欢收藏申请
从两个模型带你了解DAOS 分布式异步对象存储 - 知乎
从两个模型带你了解DAOS 分布式异步对象存储 - 知乎首发于程序员之家切换模式写文章登录/注册从两个模型带你了解DAOS 分布式异步对象存储华为云开发者联盟已认证账号摘要:分布式异步对象存储 (DAOS) 是一个开源的对象存储系统,专为大规模分布式非易失性内存 (NVM, Non-Volatile Memory) 设计,利用了 SCM(Storage-Class Memory) 和 NVMe(Non-Volatile Memory express) 等的下一代 NVM 技术。本文分享自华为云社区《DAOS 分布式异步对象存储》,原文作者:debugzhang 。分布式异步对象存储 (DAOS) 是一个开源的对象存储系统,专为大规模分布式非易失性内存 (NVM, Non-Volatile Memory) 设计,利用了 SCM(Storage-Class Memory) 和 NVMe(Non-Volatile Memory express) 等的下一代 NVM 技术。DAOS 是一种横向扩展的对象存储,可以为高性能计算应用提供高带宽、低延迟和高 IOPS 的存储容器,并支持结合仿真、数据分析和机器学习的下一代以数据为中心的工作流程。与主要针对旋转介质设计的传统存储堆栈不同,DAOS 针对全新 NVM 技术进行了重新构建,可在用户空间中端对端地运行,并能完全绕开操作系统,是一套轻量级的系统。DAOS 提供了一种为访问高细粒度数据提供原生支持的 I/O 模型,而不是传统的基于高延迟和块存储设计的 I/O 模型,从而释放下一代存储技术的性能。与传统的缓冲区不同,DAOS 是一个独立的高性能容错存储层,它不依赖其它层来管理元数据并提供数据恢复能力。DAOS 服务器将其元数据保存在持久内存中,而将批量数据直接保存在 NVMe 固态盘中。DAOS 特性DAOS 依靠 OFI(OpenFabric Interface) 绕过操作系统,将 DAOS 操作交付给 DAOS 存储服务器,充分利用架构中的任何远程直接内存访问 (RDMA, Remote Direct Memory Access) 功能,进行低延迟、高消息速率的用户空间通信,并将数据存储在持久内存和 NVMe 固态盘中。DAOS 的键值存储接口提供了统一的存储模型,通过迁移 I/O 中间件库实现对 DAOS API 的原生支持后,就能利用 DAOS 丰富的 API 和先进功能,例如 HDF5、MPI-IO 和 Apache Arrow。DAOS 还提供 POSIX 的仿真。POSIX 不再是新数据模型的基础,而是像其他 I/O 中间件一样,POSIX 接口将构建为 DAOS 后端 API 顶部的库。DAOS 的 I/O 操作会被记录并存储到 SCM 维护到持久索引中,每次 I/O 都用一个特定时间戳标记,并与数据集的特定版本关联。内部不执行读-修改-写 (read-modify-write) 操作,写入操作是无损的,对对齐不敏感。在读取请求时,DAOS 服务器遍历持久索引,创建聚合 RDMA 描述符,从而直接在应用程序提供的缓冲区中重建所请求的版本的数据。SCM 直接映射到 DAOS 服务地址空间的内存,DAOS 服务通过直接加载/存储来管理持久索引。根据不同 I/O 的特性,DAOS 服务可以决定将 I/O 存储在 SCM 或 NVMe 中:对延迟敏感的I/O(如应用程序元数据和字节粒度数据)通常存储在 SCM 中;检查点和批量数据存储在 NVMe 中。这种方法允许 DAOS 将数据流式传输到 NVMe 中,并在 SCM 中维护内部元数据索引,为批量数据提供原始 NVMe 带宽。持久内存开发工具包 PMDK 管理对 SCM 的事务性访问,存储性能开发工具包 SPDK 对 NVMe 设备进行用户空间 I/O 操作。DAOS 可以提供:超高细粒度、低延迟和真正零拷贝的 I/O非阻塞型数据和元数据操作,以支持 I/O 和计算重叠先进的数据放置,以解决故障域由软件管理冗余,可通过在线重建,支持复制和擦除代码端到端 (E2E) 数据完整性可扩展的分布式事务,提供可靠的数据一致性和自动恢复功能数据集快照功能安全框架,用于管理存储池的访问控制软件定义存储管理,用于调配、配置、修改和监控存储池通过 DAOS 数据模型和 API,为 I/O 中间件库(例如 HDF5、 MPI-IO 和 POSIX)提供原生支持。应用无需移植代码,即可直接使用 DAOS APIApache Spark 集成使用发布/订阅 API,实现原生生产者/消费者工作流程数据索引和查询功能存储内计算,以减少存储和计算节点之间的数据移动容灾工具与 Lustre 并行文件系统无缝集成,并能扩展到其他并行文件系统,从而为跨多个存储层的数据访问提供统一的命名空间数据搬运器,用于在 DAOS 池之间迁移数据集,将数据集从并行文件系统迁移到 DAOS,反之亦然DAOS 组件一个数据中心可能有数十万个计算节点,通过一个可伸缩的高性能结构相互连接,其中所有节点或称为存储节点的节点子集都可以直接访问 NVM 存储。DAOS 安装涉及几个可以集中或分布式的组件。DAOS 系统和存储节点DAOS系统由一个系统名标识,它由一组连接到同一结构的 DAOS 存储节点组成。DAOS 存储节点为每个节点运行一个 DAOS 服务实例,该实例为每个物理套接字启动一个 DAOS I/O 引擎进程。这些 DAOS 服务的信息被记录到系统映射中,该映射为每个 I/O 引擎进程分配一个唯一的整数秩。两个不同的 DAOS 系统由两组不相交的 DAOS 服务器组成,它们之间无法相互配合。DAOS 服务DAOS 服务是一个多租户守护进程,运行在每个存储节点的 Linux 实例上(物理节点、虚拟机或容器)。服务的 I/O 引擎子进程通过网络导出本地连接的 SCM 和 NVM 存储。服务监听一个管理端口(由 IP 地址和 TCP 端口号寻址),以及一个或多个结构端点(由网络 URI 寻址)。DAOS 服务通过 /etc/DAOS 中的 YAML 文件进行配置,包括其 I/O 引擎子进程的配置。服务的启动可以与不同的守护进程管理或编排框架集成(systemd 脚本、Kubernetes 服务、或类似 pdsh 和 srun 的并行启动程序)。I/O引擎在 DAOS I/O 引擎中,存储静态地跨越多个 Target 分区,增强并发能力。为了避免竞争,每个 Target 都有其私有存储、自己的服务线程池以及专用的网络上下文,这些上下文可以直接通过结构寻址,而不依赖于托管在同一存储节点上的其他 Target 。SCM 模块通常以 AppDirect interleaved 模式配置。因此,它们作为每个套接字(在 fsdax 模式)的单个 PMEM 命名空间呈现给操作系统。当配置每个 I/O 引擎的 N 个 Target 时,每个 Target 都使用该套接字 fsdax 的 SCM 容量的 \frac{1}{N}N1,与其它 Target 独立。每个 Target 还使用连接到此套接字的 NVMe 驱动器容量的一小部分。TargetTarget 没有针对存储介质故障实现任何内部数据保护机制。因此,一个 Target 就是一个单点故障,同时也是故障单元。动态状态与每个 Target 相关联:其状态可以是“up and running”,也可以是“down and not available”。Target 是性能的单位。与 Target 关联的硬件组件(如后端存储介质、CPU 核心和网络)的能力和容量有限。DAOS I/O 引擎实例导出的 Target 数是可配置的,取决于底层硬件(I/O 引擎实例的 SCM 模块数和 NVMe SSD 数)。I/O 引擎的 Target 数的最佳配置是该 I/O 引擎服务的 NVMe 驱动器数的整数倍。存储 API、应用程序接口和工具应用程序、用户和管理员可以通过两个不同的客户端 API 与 DAOS 系统交互。管理 API 提供了管理 DAOS 系统的接口。它旨在与不同供应商的存储管理或开源编排框架集成。dmg 命令行工具是在 DAOS 的管理 API 上构建的。DAOS 库 libdaos 实现了 DAOS 存储模型,主要提供给希望在 DAOS 系统中存储数据集的应用程序和 I/O 中间件的开发人员。用户常用的 daos 命令等的也构建在 API 之上,允许用户通过命令行管理数据集。应用程序可以通过本机 DAOS API、I/O 中间件库(如 POSIX 仿真、MPI-IO、HDF5)或已与本机 DAOS 存储模型集成的 Spark 或 TensorFlow 等框架直接访问存储在 DAOS 中的数据集。代理DAOS 代理是驻留在客户端节点上的守护进程,通过与 DAOS 库交互验证应用程序进程。它是一个可信任的实体,支持使用证书对 DAOS 客户端进行签名。DAOS 代理支持不同的身份验证框架,并使用 Unix 域套接字与客户端库通信。存储模型DAOS Pool 是分布在 Target 集合上的存储资源预留。分配给每个 Target 上的 Pool 的实际空间称为 Pool Shard。分配给 Pool 的总空间在创建时确定,后期可以通过调整所有 Pool Shard 的大小(在每个 Target 专用的存储容量限制内)或跨越更多 Target(添加更多 Pool Shard)来随时间扩展。Pool 提供了存储虚拟化,是资源调配和隔离的单元。DAOS Pool 不能跨多个系统。一个 Pool 可以承载多个称为 DAOS Container 的事务对象存储。每个 Container 都是一个私有的对象地址空间,可以对其进行事务性修改,并且独立于存储在同一 Pool 中的其他 Container。Container 是快照和数据管理的单元。属于 Container 的 DAOS 对象可以分布在当前 Pool 的任何一个 Target 上以提高性能和恢复能力,并且可以通过不同的 API 访问,从而高效地表示结构化、半结构化和非结构化数据。下表显示了每个 DAOS 概念的目标可伸缩性级别:DAOS PoolPool 由唯一的 Pool UUID 标识,并在称为 Pool 映射的持久版本控制列表中维护 Target 成员身份。成员资格是确定的和一致的,成员资格的变更是按顺序编号的。Pool 映射不仅记录活跃 Target 的列表,还以树的形式包含存储拓扑,用于标识共享公共硬件组件的 Target。例如,树的第一级可以表示共享同一主板的 Target,第二级可以表示共享同一机架的所有主板,最后第三级可以表示同一机房中的所有机架。该框架有效地表示了层次化的容错域,然后使用这些容错域来避免将冗余数据放置在发生相关故障的 Target 上。在任何时候,都可以将新 Target 添加到 Pool 映射中,并且可以排除失败的 Target。此外,Pool 映射是完全版本化的,这有效地为映射的每次修改分配了唯一的序列,特别是对于失败节点的删除。Pool Shard 是永久内存的预留,可以选择与特定 Target 上 NVMe 预先分配的空间相结合。它有一个固定的容量,满了就不能运行。可以随时查询当前空间使用情况,并报告 Pool Shard 中存储的任何数据类型所使用的总字节数。一旦 Target 失败并从 Pool 映射中排除,Pool 中的数据冗余将自动在线恢复。这种自愈过程称为重建。重建进度定期记录在永久内存中存储的 Pool 中的特殊日志中,以解决级联故障。添加新 Target 时,数据会自动迁移到新添加的 Target,以便在所有成员之间平均分配占用的空间。这个过程称为空间再平衡,使用专用的持久性日志来支持中断和重启。Pool 是分布在不同存储节点上的一组 Target,在这些节点上分布数据和元数据以实现水平可伸缩性,并使用复制或纠删码 (erasure code) 确保持久性和可用性。创建 Pool 时,必须定义一组系统属性以配置 Pool 支持的不同功能。此外,用户还可以定义将持久存储的属性。Pool 只能由经过身份验证和授权的应用程序访问。DAOS 支持多种安全框架,例如 NFSv4 访问控制列表或基于第三方的身份验证 (Kerberos)。连接到 Pool 时强制执行安全性检查。成功连接到 Pool 后,将向应用程序进程返回连接上下文。如前文所述,Pool 存储许多不同种类的持久性元数据,如 Pool 映射、身份验证和授权信息、用户属性、特性和重建日志。这些元数据非常关键,需要最高级别的恢复能力。因此,Pool 的元数据被复制到几个来自不同高级容错域的节点上。对于具有数十万个存储节点的非常大的配置来说,这些节点中只有很小的一部分(大约几十个)运行 Pool 元数据服务。在存储节点数量有限的情况下,DAOS 可以依赖一致性算法来达成一致,在出现故障时保证一致性,避免脑裂。要访问 Pool,用户进程应该连接到 Pool 并通过安全检查。一旦授权,Pool 就可以与任何或所有对等应用程序进程(类似 openg() POSIX 扩展)共享(通过 local2global() 和 global2local() 操作)连接。这种集体连接机制有助于在数据中心上运行大规模分布式作业时避免元数据请求风暴。当发出连接请求的原始进程与 Pool 断开连接时,Pool 连接将被注销。DAOS ContainerContainer 代表 Pool 中的对象地址空间,由 Container UUID 标识。下图显示了用户(I/O 中间件、特定领域的数据格式、大数据或 AI 框架等)如何使用 Container 来存储相关数据集:与 Pool 一样,Container 可以存储用户属性。Container 在创建时必须传递一组属性,以配置不同的功能,例如校验和。要访问 Container,应用程序必须首先连接到 Pool,然后打开 Container。如果应用程序被授权访问 Container,则返回 Container 句柄,它的功能包括授权应用程序中的任何进程访问 Container 及其内容。打开进程可以与所有对等进程共享此句柄。它们的功能在 Container 关闭时被撤销。Container 中的对象可能具有不同的模式,用于处理数据分布和 Target 上的冗余,定义对象模式所需的一些参数包括动态或静态条带化、复制或纠删码。Object 类定义了一组对象的公共模式属性,每个 Object 类都被分配一个唯一的标识符,并在 Pool 级别与给定的模式相关联。一个新的 Object 类可以在任何时候用一个可配置的模式来定义,这个模式在创建之后是不可变的(或者至少在属于这个类的所有对象都被销毁之前)。为了方便起见,在创建 Pool 时,默认情况下会预定义几个最常用的 Object 类:如下所示,Container 中的每个对象都由一个唯一的 128 位对象地址标识。对象地址的高 32 位保留给 DAOS 来编码内部元数据,比如 Object 类。剩下的 96 位由用户管理,在 Container 中应该是唯一的。只要保证唯一性,栈的上层就可以使用这些位来编码它们的元数据。DAOS API 为每个 Container 提供了 64 位可伸缩对象 ID 分配器。应用程序要存储的对象 ID 是完整的 128 位地址,该地址仅供一次性使用,并且只能与单个对象模式相关联。<---------------------------------- 128 bits ---------------------------------->
--------------------------------------------------------------------------------
|DAOS Internal Bits| Unique User Bits |
--------------------------------------------------------------------------------
<---- 32 bits ----><------------------------- 96 bits ------------------------->Container 是事务和版本控制的基本单元。所有的对象操作都被 DAOS 库隐式地标记为一个称为 epoch 的时间戳。DAOS 事务 API 允许组合多个对象更新到单个原子事务中,并基于 epoch 顺序进行多版本并发控制。所有版本更新都可以定期聚合,以回收重叠写入所占用的空间,并降低元数据复杂性。快照是一个永久引用,可以放置在特定的 epoch 上以防止聚合。Container 元数据(快照列表、打开的句柄、对象类、用户属性、属性和其他)存储在持久性内存中,并由专用 Container 元数据服务维护,该服务使用与父元数据 Pool 服务相同的复制引擎或自己的引擎,这在创建 Container 时是可配置的。与 Pool 一样,对 Container 的访问由 Container 句柄控制。要获取有效的句柄,应用程序进程必须打开 Container 并通过安全检查。然后,可以通过 Container 的 local2global() 和 global2local() 操作与其他对等应用程序进程共享此句柄。DAOS Object为了避免传统存储系统常见的扩展问题和开销,DAOS 有意将对象简化,不提供类型和架构之外的默认对象元数据。这意味着系统不维护时间、大小、所有者、权限,甚至不跟踪开启者。为了实现高可用性和水平伸缩性,DAOS 提供了许多对象模式(复制/纠删码、静态/动态条带化等)。模式框架是灵活的,并且易于扩展,以允许将来使用新的自定义模式类型。模式布局是在对象标识符和 Pool 映射打开的对象上通过算法生成的。通过在网络传输和存储期间使用校验和保护对象数据,确保了端到端的完整性。可以通过不同的 API 访问 DAOS 对象:Multi-level key-array API 是具有局部性特征的本机对象接口。密钥分为分发密钥 (dkey) 和属性密钥 (akey)。dkey 和 akey 都可以是可变长度的类型(字符串、整数或其它复杂的数据结构)。同一 dkey 下的所有条目都保证在同一 Target 上并置。与 akey 关联的值可以是不能部分修改的单个可变长度值,也可以是固定长度值的数组。akeys 和 dkey 都支持枚举。Key-value API 提供了一个简单的键和可变长度值接口。它支持传统的 put、get、remove 和 list 操作。Array API 实现了一个由固定大小的元素组成的一维数组,该数组的寻址方式是 64 位偏移寻址。DAOS 数组支持任意范围的读、写和 punch 操作。事务模型DAOS API 支持分布式事务,允许将针对属于同一 Container 的对象的任何更新操作组合到单个 ACID 事务中。分布式一致性是通过基于多版本时间戳排序的无锁乐观并发控制机制提供的。DAOS 事务是可串行化的,可以在特定的基础上获取部分需要的数据集。DAOS 版本控制机制允许创建持久的 Container 快照,该快照提供 Container 的实时分布一致性视图,该视图可用于构建生产者-消费者管道。Epoch 和时间戳每个 DAOS I/O 操作都有一个称为 epoch 的时间戳。epoch 是一个 64 位整数,它集成了逻辑和物理时钟(详见 HLC paper)。DAOS API 提供了辅助函数,用于将 epoch 转换为传统的 POSIX 时间(即 struct timespec,详见 clock_gettime(3))。Container 快照如下图所示,Container 的内容可以随时快照。DAOS 快照非常轻量级,并且使用与创建快照的时间相关联的 epoch 进行标记。一旦创建成功,快照将一直保持可读性,直到它被显式销毁。在特定快照未被销毁前,Container 的内容可以回滚到该快照。Container 快照功能支持本机生产者/消费者管道:一旦成功写入数据集的一致版本,生产者 (Producer) 将生成一个快照。使用者 (Consumer) 的应用程序可以订阅 Container 快照事件,以便在生产者提交更新时可以处理新的更新。快照的不变性保证了使用者可以看到一致的数据,即使生产者继续进行新的更新。生产者和消费者实际上都在 Container 的不同版本上操作,不需要任何串行化操作。一旦生产者生成了数据集的新版本,使用者就可以查询两个快照之间的差异,并且只处理增量修改。分布式事务与 POSIX 不同,DAOS API 不强制执行最坏情况下的并发控制机制来处理冲突的 I/O 操作。相反,各个 I/O 操作被标记为不同的 epoch,并按照 epoch 的顺序应用,而不管执行顺序如何。这个基准模型为不产生冲突的 I/O 工作负载的数据模型和应用程序提供了最大的可伸缩性和最高的性能。典型的例子是 MPI-IO 集合操作、POSIX 文件读/写操作和 HDF5 数据集读/写操作。对于需要将冲突串行化的部分数据模型,DAOS 提供了基于多版本并发控制的分布式可串行化事务。当不同的用户进程要覆盖与 dkey/akey 关联的值时,通常需要该事务。例如 DAOS 上的 SQL 数据库,或者由非一致的客户端并发访问的一致的 POSIX 命名空间。在同一操作的上下文中提交的所有 I/O 操作(包括读取)将使用相同的 epoch。DAOS 事务机制自动检测传统的读/写、写/读和写/写冲突,并中止其中一个冲突事务(事务在 -DER_RESTART 参数下提交失败)。然后,用户/应用程序必须重新启动失败的事务。在目前的实现中,事务 API 具有以下限制,这些限制将在未来的 DAOS 版本中解决:不支持 Array API通过同一上下文环境执行的对象获取/列表和键值获取/列表操作所进行的事务对象更新和键值放入操作不可见。点击关注,第一时间了解华为云新鲜技术~发布于 2021-03-31 10:42存储技术高性能开源赞同 10添加评论分享喜欢收藏申请转载文章被以下专栏收录程序员之家欢迎投稿、交流好
GitHub - daos-stack/daos: DAOS Storage Stack (client libraries, storage engine, control plane)
GitHub - daos-stack/daos: DAOS Storage Stack (client libraries, storage engine, control plane)
Skip to content
Toggle navigation
Sign in
Product
Actions
Automate any workflow
Packages
Host and manage packages
Security
Find and fix vulnerabilities
Codespaces
Instant dev environments
Copilot
Write better code with AI
Code review
Manage code changes
Issues
Plan and track work
Discussions
Collaborate outside of code
Explore
All features
Documentation
GitHub Skills
Blog
Solutions
For
Enterprise
Teams
Startups
Education
By Solution
CI/CD & Automation
DevOps
DevSecOps
Resources
Learning Pathways
White papers, Ebooks, Webinars
Customer Stories
Partners
Open Source
GitHub Sponsors
Fund open source developers
The ReadME Project
GitHub community articles
Repositories
Topics
Trending
Collections
Pricing
Search or jump to...
Search code, repositories, users, issues, pull requests...
Search
Clear
Search syntax tips
Provide feedback
We read every piece of feedback, and take your input very seriously.
Include my email address so I can be contacted
Cancel
Submit feedback
Saved searches
Use saved searches to filter your results more quickly
Name
Query
To see all available qualifiers, see our documentation.
Cancel
Create saved search
Sign in
Sign up
You signed in with another tab or window. Reload to refresh your session.
You signed out in another tab or window. Reload to refresh your session.
You switched accounts on another tab or window. Reload to refresh your session.
Dismiss alert
daos-stack
/
daos
Public
Notifications
Fork
283
Star
674
DAOS Storage Stack (client libraries, storage engine, control plane)
daos.io
License
View license
674
stars
283
forks
Branches
Tags
Activity
Star
Notifications
Code
Pull requests
418
Actions
Security
Insights
Additional navigation options
Code
Pull requests
Actions
Security
Insights
daos-stack/daos
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
masterBranchesTagsGo to fileCodeFolders and filesNameNameLast commit messageLast commit dateLatest commit History10,263 Commits.github.github cici debiandebian docsdocs site_sconssite_scons srcsrc utilsutils .clang-format.clang-format .dockerignore.dockerignore .flake8.flake8 .flake8-scons.flake8-scons .gitignore.gitignore .gitmodules.gitmodules .rpmignore.rpmignore .yamllint.yaml.yamllint.yaml CONTRIBUTING.mdCONTRIBUTING.md DoxyfileDoxyfile JenkinsfileJenkinsfile LICENSELICENSE NOTICENOTICE README.mdREADME.md SConstructSConstruct TAGTAG VERSIONVERSION ftest.shftest.sh mkdocs.ymlmkdocs.yml pyproject.tomlpyproject.toml requirements.txtrequirements.txt third_party_programs.txtthird_party_programs.txt View all filesRepository files navigationREADMELicenseDAOS
What is DAOS?
The Distributed Asynchronous Object Storage (DAOS) is an
open-source software-defined object store designed from the ground up for
massively distributed Non Volatile Memory (NVM). DAOS takes advantage of next
generation NVM technology like Storage Class Memory (SCM) and NVM express (NVMe)
while presenting a key-value storage interface and providing features such as
transactional non-blocking I/O, advanced data protection with self-healing on
top of commodity hardware, end-to-end data integrity, fine-grained data control
and elastic storage to optimize performance and cost.
DAOS supports multiple application interfaces including a parallel filesystem,
Hadoop/Spark connector, TensorFlow-IO, native Python dictionary bindings, HDF5,
MPI-IO and more to come.
License
DAOS is licensed under the BSD-2-Clause Plus Patent License.
Please see the LICENSE & NOTICE files for more
information.
Documentation
The DAOS documentation is available online.
More information can also be found on the wiki.
Contacts
For any questions, please post to our user forum.
Bugs should be reported through our issue tracker
with a test case to reproduce the issue (when applicable) and debug logs.
Community
Interact with members of the DAOS community real-time on slack.
An invitation to join the slack workspace is automatically sent when joining
the community mailing list.
DAOS is a SODA Foundation project.
About
DAOS Storage Stack (client libraries, storage engine, control plane)
daos.io
Topics
kvstore
object-store
distributed-storage
software-defined-storage
daos
spdk
hyperconverged
nvme-storage
pmdk
hyperscale
storage-as-a-service
Resources
Readme
License
View license
Activity
Custom properties
Stars
674
stars
Watchers
44
watching
Forks
283
forks
Report repository
Releases
63
DAOS Release 2.4.1
Latest
Jan 17, 2024
+ 62 releases
Contributors
100
+ 86 contributors
Languages
C
59.9%
Go
19.0%
Python
17.1%
Java
2.7%
Shell
0.9%
Dockerfile
0.2%
Other
0.2%
Footer
© 2024 GitHub, Inc.
Footer navigation
Terms
Privacy
Security
Status
Docs
Contact
Manage cookies
Do not share my personal information
You can’t perform that action at this time.
下一代开源分布式存储(vs Ceph)系统 - DAOS - 知乎
下一代开源分布式存储(vs Ceph)系统 - DAOS - 知乎首发于聊聊Ceph&Curve(分布式存储)切换模式写文章登录/注册下一代开源分布式存储(vs Ceph)系统 - DAOShongsongwu分布式存储&要点汇总本文译自DAOS: A Scale-Out High Performance Storage Stack for Storage Class Memory首先梳理下要点总结:DAOS是基于新型存储技术的开源存储系统这些新型存储技术包括持久化内存SCM,PMEM,SPDK,RDMA等。根据相关资料展示,阿里云的盘古2.0以及Azure等商业存储的新一代版本的优化也主要是基于这些新型技术的改造。Run-to-Completition软件栈基于Run-to-Completition,避免io过程中线程切换开销。Ceph的Crimson也是基于该线程模型改造。数据I/O端到端无内核调用开销通过PMDK+SPDK+RDMA技术,数据从应用发起到存储在分布式存储硬件设备的整个过程不会有内核调用。当然,如果是使用了dfuse,那么还是会有内核调用的,不过daos提供了部分系统调用的io 旁路。有趣的I/O复制流 --- 之前没见过这种玩法以3副本协议为例,client发起写的流程如下:Client通知主副本有写io,然后主通知两个从副本(到这里都只是控制流),然后这3个副本通过RDMA直接从Client内存中读取数据使用持久化内存SCM的好处I/O时延更低更一致的性能因为普通ssd在GC时性能会严重下降,因此I/O性能无法保持一致提升ssd寿命 普通SSD擦写次数是有限的,通过把小io聚合在SCM,合并下刷到SSD,进而减少io摘 要 分布式 异步 对象存 储(DAOS )是 一 种开 源的 横向 扩 展存 储系 统 ,它 从底层开始 设计 ,以 在用户 空间 支持存储类内存(S C M )和 NV M e。它 的高级存储 AP I 支持 结构 化、 半结构 化和 非结 构化 数据 模型 ,克服 了传 统的 基于P OS IX 的 并 行 文 件 系 统 的 限 制 。 对 于 HP C 工 作 负 载 , D AOS 提 供 直 接 的M PI-IO 和 H DF 5 支持 , 同时它也提供了传统的P OS IX 访 问 。本 文 描述了DAOS 存 储 引 擎 的 体 系 结 构 及 其 高 级 应 用 接 口 。 最后还 展示了 D AOS 在IO500 基准 测试 中的初 始性 能。1 介绍数据密集型应用在商业 、政府和学术界 的出现,使得 I/ O 模型超出了传统存储系统的处理模式。现代 I/ O 工作负载的特点是,元数 据与不对齐和碎 片化的数据相结 合的比例越来越大。传 统的存储 堆栈通过添 加大量延 迟和引入 对齐约束, 为这一类的工 作负载提 供 了 较 差 的 性 能 。 可 负 担 的 大 容 量 持 久 性 内 存 与 高 速 f a b ric 相 结 合 的 出 现 , 为重新定义 存 储 范 式 和 高 效 支 持 现 代 I /O 工 作 负 载 提 供 了 独 特 的 机 会 。这场革 命需 要对整 个存 储系统进行彻 底的 重新 思考 。为了 释放 这些 新技术 的全部潜力, 新 的存储系统必 须 从 头 拥 抱 字 节 粒 度 的 shared-nothing 接 口 。 它 还 必 须 能 够 做 到支持故 障 成 为 常 态的大规 模 分 布式 存 储 , 同时 保 持 fa b ric 上 的 低 延 迟 和 高 带 宽 访问。D A O S 是 一 个 完 整的 I /O 架 构 , 它 将 分 布 在 fa b ric 上 的 SC M 和 N V M e 存 储 聚合到全局可访 问的对象 地址空间 中,在不影 响性能的 情况下提 供一致性 、可用性和弹性保 证 。本文 第 2 节 描述 了 S CM 和 N VM e 对传 统 I /O 堆栈 构成 的 挑战 。 第 3 节介 绍了 D A OS 的 体系 结 构, 并解 释 了它 如 何与 新的 存 储技 术集 成 。第 4 节概 述了 D A O S的数据模型 和 I /O 接 口, 第 5 节介 绍 了 D A OS 的 I O 500 性能 结 果。2 使用传统并 行 文 件 系 统 的 约 束传统 的并 行 文件 系统 建 立在 块 设备 之上 。 它们 通过 OS 内核 块 I /O 接 口提 交 I /O, 该接 口针 对 磁 盘驱 动 器 进 行了 优 化 。 这包 括 使 用 I /O 调 度器 来 优 化 磁盘 寻 道 、聚 合 和合 并 写入 以 修 改 工 作 负 载的 特 征 , 然 后 将大 量 流 数 据 发 送到 磁 盘 驱 动 器 以 实现 高 带宽。 然 而 ,随 着 像 3 D- x po int 这 样 的新 存 储 技术 的 出现 , 与 传统 存 储相 比 , 它可 以提 供 几个 数 量 级 的 低 延 迟, 为 旋 转 磁 盘 构建 的 软 件 层 成 为这 些 新 存 储 技 术 的纯 粹 开销。此外 , 大多 数 并 行文 件 系统 可 以使 用 支 持 R D M A 的网 络 作为 快 速传 输 层 ,以 减少 层 之间 的 数 据 复 制 。 例如 , 将 数 据 从 客户 端 的 页 缓 存 传输 到 服 务 器 的 缓 冲缓 存 ,然 后将 其 持 久化 到 块 设 备。 但 是 , 由于 传 统 存储 栈 中 对 块 I /O 和 网络 事 件 都缺 乏 统一的 轮 询或 进 度机 制 ,I/ O 请 求 处理 严 重依 赖 中断 和 多 线程 并 发 RP C 处理 。 因此 ,I/O 处理期间 的上 下 文切 换 将显 著限 制 低延 迟网 络 的优 势。 传 统并 行 文件 系 统的 厚重的软件调用栈 ,包 括 了缓存 和 分布 式 锁 。虽然 用户 仍 然可 以使用 3 D N A N D 、3 D- x po in t 存储 和 高速 结 构来 获得 更 好的 性能 , 但也 会因 为 软件栈带来的开 销 而失 去这 些 技术 的 大部 分好 处 。3 DAOS, 一 个 为 SC M 和 N VM e 存 储 构 建 的 存 储 系统分 布 式 异 步对 象 存 储 ( D A O S) 是 一 个开 源 软 件 定 义 的 对 象 存 储 , 它 是 为 大 规 模 分 布式 非 易 失 性 内 存 ( N V M ) 而 设 计 的 。 它 提 供 了 一 个 k e y -v a lu e 存 储 接 口 , 并 提 供 了事务性非 阻 塞 I /O 、 版 本 化 数 据 模 型 和 全 局 快 照 等 特 性 。本节介绍 D A OS 的 体系结构, 讨论 D A OS 的 几个核心组 件,并解释为 什么 D A OS可以成为一个兼具 高性能和弹 性的存储系统 。3.1 DAOS 系 统 架 构D A OS 是一 种利 用存 储类 内存 (SCM )和 NVM express (N VMe )等下 一代 N VM 技术 的存储 系统 。它绕过 所有 L inu x 内核 I /O, 在用户空 间端到端 运行 ,并 且 在 I/O 期间 不会执行任何系 统调 用。如图 1 所 示, D A O S 构建 在三 个 构建 块 上。 第一 个 是持 久性 内 存和 持久 性 内存 开发 工 具包 (PM D K) 。 D A O S 使 用 它来 存 储 所 有 内部 元 数 据 、 应用 程 序/ 中 间件 键 索引和 延迟 敏 感的 小 I/O 。 在系 统启 动 期间 , D A O S 使 用 系统 调用 来 初始 化对 持 久性 内存的 访 问 。例 如 , 它将 启 用 da x 文件 系 统的 持 久 性内 存 文 件映 射 到 虚拟 内 存 地址 空间。 当系 统 启动 并运 行 时, D A O S 可 以通 过 诸如 loa d 和 sto re 之类 的内 存指 令 直接 访问用户空间 中 的持 久内 存 ,而 不 是需要经过长长的 的存 储调用堆 栈 。持久 性 内存 速 度快 , 但容 量 低, 成本 效 益低 , 因此 仅 靠持 久 性内 存 创建 大 容量 存储层 实际 上 是不 可能 的 。 D A OS 利 用第 二个 构 建块 , N VM e ssd 硬 盘和 存储 性 能开 发工具 包(SP D K )[7 ]软 件, 以支 持大 I /O 以 及更 高 延迟 的小 I /O 。SP DK 提 供了 一个 C 库,可 以 链 接 到一 个 存 储 服 务 器 , 可以 提 供 direct 、 零 拷 贝的 数 据 传 输到 N V M e ssd 。D A OS 服务 可 以完 全从 用 户空 间 异步 地通 过 SP D K 队列 对提 交 多个 I /O 请 求 ,当SPDK I/O 完成后 ,在持久性内存中为之前存 储到 ssd 中的数据创 建 索引 。Lib fa b ric [8 ]和 底 层高 性 能 结构 , 如 Om n i-Pa th Arc h ite ctu re 或 I nf ini Ban d (或标 准TC P 网 络) , 是 D A O S 的第 三 个构 建 块 。L ib fa b ric 是 一个 库 , 它定 义 了 OFI 的 用 户空间 A PI ,并 向 应 用程 序 或存 储 服 务导 出 fa b ric 通 信 服 务。 D A O S 的传 输 层构 建 在M e rcu ry [9 ]之 上 , 使 用 libfa b ric / OFI 插 件 。 它 为 消 息 和 数 据 传 输 提 供 了 一 个 基 于 回调的 异 步 A PI ,为 推 进网 络 活 动提 供 了 一个 thread-less轮 询 A PI 。 D A O S 服 务 线程 可 以主 动 地从 M e rc u ry/libfa b ric 轮 询 网 络事 件 , 作 为 异 步 网络 操 作 的 通 知 , 而不 是 使 用中断,因 为 上下 文 切换 会 对 性能 产 生负 面 影 响。总而 言之 , D A OS 构 建在 新的 存 储和 网 络技 术之 上 ,完 全在 用 户空 间中 运 行, 绕过所有 L inux 内核 代 码。 因为 它 是专 门为 S CM 和 N VM e 设计 的 ,所 以它 不 能支 持 基于磁 盘 的存 储。 传 统的 存 储系 统, 如 Lu stre [11 ]、Sp ec trum Sca le [1 2 ]或 c ep f s[10 ]都 可以用于基于 磁 盘的 存储 , 可 以在 D A O S 和 这些 外部 文 件系 统之 间 移动 数据 。3.2 DAOS I/O 服 务从堆 栈 分 层的 角 度来 看 , D A OS 是一 个 client-server模 型的 分 布 式存 储 系统 。D A OS Client 是一 个与 应用 程序 集成的 库, 它运 行在 与应 用程 序相 同的 地址 空间中 。通过D A OS 的lib库暴露的的数据 模型 可以直接集 成在将在 第 4 节介绍 的所有 传统 数据格 式和 中间件 库中。DAOS I /O Server是 一 个多 租 户 守护 进 程, 可 以 直接 在 数据 存 储 节点 上 运行 , 也可 以 在 容器 中 运 行 。如 前 一 节 所介 绍 的那样, 它 可 以直 接 访 问 持 久 内 存和 N V M e ssd 。它将 元 数 据和 小 I /O 存 储 在持 久 内存 中 , 将大 I /O 存 储 在 N VM e ssd 硬 盘中 。 D A O S Server不 依赖 于 生成 p th rea d 来并发 处 理 I/ O。 相 反 ,它 为 每个 传 入的 I /O 请求 创 建一 个 Argobots[6 ]用 户 级 线 程( U LT) 。 Argobots ULT 是 与执 行 流(x strea m ) 相 关联 的 轻量级 执 行 单元 , 该执 行 流 映射 到 D A O S 服务 的 p th rea d 。这 意 味着 传 统 的 P O SI X I /O函数调用 、p th rea d 锁或 来 自任 何 U LT 的 同 步消 息 等 待调 用 都可 以阻塞 执行 流上 所有 U LT 的进 度。 然而 ,由 于 D A OS 使 用的 所有 构建 块都 提供 了一 个非阻 塞的 用户 空间 接口 ,因 此 D A OS I /O ULT 永远 不会 在系 统调 用时 被阻 塞。 相反 ,它 可以 主动处理正在进行I /O 或网 络请求的I/O 。I /O ULT 最 终将 由负 责轮 询来自 网络 和 SP D K 的 完成 事件 的系 统 ULT 重 新调 度。 U LT 创建 和上 下文 切换 非常 轻量级 。基 准测 试表 明, 一个 x strea m 每秒可 以创 建数 百万个 U LT ,每 秒可 以进 行超 过1000 万 个 ULT 上下 文切 换。 因此 ,它 非常 适 合 D A OS 服 务器 端 I /O 处理 ,它 应该 支持微秒级的 I/O 延迟 (图 2 )。3.3 数 据 保 护 和 数 据 恢 复D A OS 存 储以对象的形式暴露给用户,允许 用户 通过 key-value或者key-array API来访问。为 了避 免扩 展问 题和维护 每个 对 象元 数据 的开 销( 如描 述 对象 数据 位 置的 对象 布局 ), D A O S 对 象仅 由 1 28位 I D 标 识,该 I D 有 几个 编码 位来 描述 数据 分布 和对 象的 保护 策略( 复制 或擦 除代 码、条带 计数 等)。 D A O S 可 以使 用这 些位 作为 hits ,而 对象 I D 的其 余位 作为 伪随 机种 子,根 据 D A OS 存 储 池的 配 置生 成 对象 的 布局 。 这就 是 所谓 的 算法 对象 布 局。 它 类似 于Ceph 的数据放 置技 术 ,只 是 D A O S 不使 用 C RU SH 作 为算 法。本文 仅 从high level 的角度 描 述数 据 保护 与恢 复 协议 。 详细 的 放置 算 法和 恢 复协 议 信息 可在在线 D A O S 设 计文 档中 找到 。数据保护为了 获 得 超低 延 迟 I/ O, D A OS 存 储 服务 器 将应 用 程 序的数 据 和元 数 据 存储 在 连接 到 内存总 线 的 SCM 中 , 以及 通 过 PCI e 连接 的 ssd 上。 D A O S 服务 器 使用 load /sto re 指 令访问 内 存 映射 的 持久 内 存 ,以及SP D K API 从用 户 空间 访 问 N V M e ssd 。 如果 持 久内 存 中存在 不 可 纠正 的 错误 或 SS D存在 介 质损 坏 ,那 么 在 没有 额 外保 护 的 情况 下 运行 在 D A O S上的 应 用 程序 将 导致 数 据/元 数 据丢 失 。为 了 保 证弹 性 和防 止 数 据丢 失 , D A OS 提 供了复制和 EC ,用 于 数 据保 护 和恢 复 。当 启用 数 据 保 护时 , 可 以复 制 D A O S 对 象 , 或 将其 分 成 数 据和 奇 偶 校 验片 段 ,然 后存 储 在 多 个 存储 节 点 上 。当 存 储 设 备故 障 或 存 储 节点 故 障 时 , D A O S 对象 仍 然可以降级 访 问, 并 且可 以 通 过副 本 或奇 偶 数 据恢 复 数据 冗 余 。复制和数据恢复复制 确保 了数 据的 高可 用性 ,因 为当 任何 副本 存活 时, 对象 都是 可访 问的 。 D A OS 的复 制使 用 主 从协 议 进 行写 入: 主副 本 负 责将 请 求 转发 给 从 副 本, 并 处 理分 布 式 事务 状态。D A OS 的主 从模 型与 传统 的复 制模 型略 有 不同 ,如 图 3a 所示。 主副 本只 将 RPC转发 给从 副本 服务 器。 然 后所 有副 本将 发起 一 个 R DM A 请求 , 并直 接从 客户 端缓 冲区获 取数 据。 D A OS 之所 以选 择此 模型 ,是 因为 在 大多 数 H PC 环境 中, 客户 机和 服务器 之 间 的结 构 带 宽远 高 于 服务 器 之 间的 带 宽( 服 务器 之 间 的带 宽 将 用于 数 据 恢复 和再 平 衡 ) 。 如 果 将 D A OS 部 署 在 服 务 器 之 间 带 宽 较 高 的 非 h pc 用 例 中 , 则 可 以 将DAOS 的数 据传 输路 径更 改为 传统 模型 。D A O S 使 用 一 种 两阶 段 提 交 协 议 的 变体 来 保 证 复 制 更 新的 原 子 性: 如 果一 个 副 本不 能 应用 更 改 , 那 么 所有 副 本 也 应 该 放 弃更 改 。 如 果 没 有失 败 , 这 个 协 议是 相 当 直接的。但 是, 如 果 一 个 处理 复 制 写 的服 务 器 在 两阶 段 事 务 期 间失 败 , D A O S 将 不 会遵 循 传统 的 两阶 段 提 交 协 议 ,该 协 议 将 等 待 故 障节 点 的 恢 复 。 相反 , 它 将 失 败 节点 排 除 在事 务 之外 , 然 后 通 过 算法 选 择 不 同 的 节 点作 为 替 换 , 并 向前 推 进 事 务 状 态。 如 果 失效 节 点在 某 一 时 刻 又 回来 了 , 它 会 忽 略 其本 地 的 交 易 状 态, 依 靠 数 据 恢 复协 议 来 赶上交易状 态 。当 D A O S 的健 康 监 控 系统 检 测 到 存 储目 标 的 故 障事 件 时 , 它将 该 事 件 报告 给 基于高 度复 制 的 R AF T pool service,该 服务 可 以全 局激 活 池中 所有 存 储服 务器 上 的重 建服务 。 D A O S server 的重 建 服 务可 以 及时 扫 描 存储 在 本 地持 久 内存 中 的 对 象 id , 独立 计 算每 个 对 象 的 布 局 ,然 后 通 过 检 查 失败 的 目 标 是 否 在其 布 局 内 , 找 出 所有 受 影响的 对象 。 重建 服 务还 将这 些 受影 响 的对 象 id 发送 到算 法 选择 的 后备 存储 服 务器 。然后,这些 备 用服 务器 通 过从 幸 存的 副本 中 提取 数据 来 重建 受影 响 对象 的 数据 。在这个过程中, 没有中心位置 来执行数据/元数据扫描 或数据重建:重建服务的I/O 工作负 载将 完 全 分散 和 并行 化 。纠 删 编码 (Erasure Coding)和 数 据 恢复DAOS 还 可以 支持EC 用 于数 据的保 护 ,EC比 复制 更 节省 空间和带宽, 但 需要 更多 的 计算 。由于 D A O S Client 是 一个 轻 量 级 库 ,它 与 计 算 节点 上 的 应 用程 序 链 接 在一 起 ,而计 算 节点 比 D A O S Server拥 有 更多 的计 算 资源 , 因此 数 据编 码由 客 户机 在 写入 时处理 。客 户 端计 算奇 偶 校验 , 为数 据和 奇 偶校 验片 段 创建 R DM A descriptors, 然 后向 奇偶校 验组 的 领导 服务 器 发送 RPC 请 求 以协 调写 操 作。 EC 的 RPC 和数 据流 与 复制 相同:E C 写 入 的所 有 参 与 者 都 应 该 直接 从 客 户 端 缓 冲 区 中提 取 数 据 , 而 不 是 从领 导 服务器 缓存 中 提取 数据 (图 3b )。 D A O S EC 还 使用 与复 制 相同 的两 阶 段提 交协 议 来保 证对不同服务 器 的写 入的 原 子性 。如 果写 入 与 EC 条 带 大小 不 一 致, 大 多 数存 储 系 统必 须 通 过读/ 编 码/写 过 程来 保证 数据 的 一 致 性和 奇 偶 校验 。 这 个 过程 是 昂 贵 且低 效 的 , 因为 它 将 产生 比 实 际 I / O大 小 多得 多 的 流 量 。 它 还需 要 分 布 式 加 锁来 保 证 读 写 之 间的 一 致 性 。 使 用 其多 版 本数 据模 型 , D A O S 可 以通 过 仅 将 部 分写 入 数 据 复 制到 奇 偶 校 验服 务 器 来 避 免这 个 昂贵 的 过程 。 在 一 定 的 时间 之 后 , 如 果 应用 程 序 继 续 写 入并 最 终 组 成 一 个完 整 的 条 带 ,奇 偶 服务 器 可 以 简 单 地 基于 所 有 这 些 复 制的 数 据 计 算 奇 偶校 验 。 否 则 , 奇 偶校 验 服务 器 可以 协 调 奇 偶 组 中 的其 他 服 务 器 , 从部 分 覆 盖 的 数 据及 其 旧 版 本 中 生 成一 个 合并视图,然 后 为其 计算 奇 偶校 验 ,并 将合 并 后的 数据 与 新的 奇偶 校 验一 起 存储 。当发生故障时, 与复制相比 ,用ec 保护来数据的 降级模式读会更重:因为使用复制, D A OS客户端可以 简单地切 换到从不 同的副本 读取。但 是使用 EC,客 户端必须 获取完整 的数据条然后必须 重 建缺 失 的 数据 片 段。e c 保 护 数 据的 降 级模 式 写 处理 与 复制 相 同:两 阶段 提 交事 务 可 以 继 续 ,而 不 会 被 故 障 服 务器 阻 塞 , 相 反 ,一 旦 为 事 务 选 择了 后 备 服务器,它 就 可以 立 即继 续 。EC 的 重 建 协议 也 类 似于 复 制 , 但与 复 制 相比 , 它 将 产生 更 多 的数 据 移 动。 这 是所有基于奇 偶 校验 的数 据 保护 技 术的 特点 。端到端数据完整性DAOS 存储系统的典型故障有三种:•服务崩溃 。 D A O S 通 过 运 行 gossip-like 协 议 SW I M 来 捕 获 这 一 故障信息。•NVM e SSD 故障 。 D A O S 可以 通 过 S PD K 轮 询 设 备 状 态 来 检测 这 种 类 型 的 故 障 。• 存储 介 质 故 障 导 致 的 数 据 损 坏 。 D A O S 可 以 通 过 存 储 和 验 证 校 验 和 来 检 测 这 一 点。为 了支 持 端 到端 校 验 和 和检 测 静 默数 据 损 坏, 在 将 数 据写 入 服 务器 之 前 , D A OS Client计 算正 在写 入的 数据 的校 验和 。当 接收 到写 操作 时, D A OS Server端可以 验证 校验和 ,也 可以 直接 存储 校验 和和 数据 而不 进行 验证 。服 务器 端验 证可 以由 用户 根据 性能要求启用 或禁 用。当应 用 程序 回 读数 据 时, 如 果读 数 据与 原 始写 数据 对 齐, 那 么Server可 以 只返 回数据 和校 验和 。如 果读 取与 原始 写入 不一 致, D A OS Server将验 证所 有涉 及的 数据 区段的 校验 和, 然后 计算 正在 读取 的数 据部 分的 校验 和, 并将 数据 和校 验和 返回 给Client。 然 后CLient在 将 数据 返回 给 应用 程 序之 前 再次 验 证校 验 和。 如 果 D A OS Client在读 取时 检测 到校 验和 错误 ,它 可以 为这 个特 定对 象启 用降 级模 式, 然后 切换 到另 一个副 本进 行读 取 ,或 者在 客户 机上 重 构数 据传 输( 如果 Client受 E C 保 护) 。Client 还将校 验和 错误 报告 回服 务器 。 D A OS Server将 收集 本地 验证 和清 除检 测到 的所 有校 验和错 误, 以及 CLient报 告的 错误 。当 错误 数量 达到 阈值 时, 服务 器请 求pool service ,将 坏设备从存储 系统 中排 除, 并为 其触 发数 据恢 复。D A O S 的 校验 和 存 储在 持 久内 存 中 ,并 受 持久 内 存 模块 的 E C C 保护 。 如果 持 久性内 存 出 现不 可 纠正 的 错 误, 存 储服 务 将被 SI G B US 杀 死 。在 这 种 情况 下 ,pool service 将禁用整 个 存储 节 点, 并 在 幸存 的 节点 上 启 动数 据 恢复 。4 DAOS 数 据 模 型 和 I/ O 接 口本节描述 D A O S 的 数 据模 型 , 以及通过 该 数 据 模 型 构 建 原生 A PI , 并 解 释 如 何 在 该 数据模型上 实 现 PO SI X namespace 。4.1 DAOS 数 据 模 型D A O S 数 据 模 型 有 两 种 不 同 的 对 象 类 型:Array objects ,允 许 应 用 程序 表 示 多 维 数 组; k/v存储 对 象 ,支 持 常 规 KV I /O 接口 和 多 级 K V 接 口 。 K V 和 a rra y 对 象都 有 版 本 数 据 , 这 允 许 应 用 程 序 进 行破 坏 性 更 改 并 回 滚 到 数 据 集 的 旧 版 本 。 D A O S对象 总 是 属于 一 个称 为 D A OS 容 器 的域 。 每个 容 器 都是 一 个私 有 对 象地 址 空间 , 事务可以独 立 于存 储 在同 一 D A OS 池 中 的 其他 容 器对 其 进 行修 改 。D A O S 容 器 将通 过 几 个 I/O 中 间 件库 暴露给 应用 程 序 , 从而 提 供 一个 平 滑的 迁 移路径 , 因为只 需对 应 用程 序 进 行最 小 的( 有时 甚 至 没有 )更 改 。一 般 来 说, 今 天所 有 的 I /O中 间 件 都 运 行在 P OSI X 之 上 , 并 且 涉 及 到 将 中 间 件 数 据 模 型 序列 化 为 目 录 和 文 件(字 节数 组) 的 P O SI X 模 式 。 D A OS 提 供 了更 丰 富 的 API , 为中 间 件 库和 应 用程 序 提供了 更 好 、更 高 效的 构 建 块。 通 过将 P O SI X 视 为在 D A O S 上 实 现 的中 间件 I /O 库,可 以 支持 构 建 在 P O SI X 之 上 的 所 有 库 。但 与 此 同 时 , 中间 件 I / O 库 可 以被 移 植 到D A O S 本 地 工作 , 这样可以绕过 P OSI X 序 列化 步 骤, 该 步 骤有 几 个缺 点 , 本文 将 不讨 论 这些缺 点 。 在 D A O S 库 之 上实 现 的 I /O 中 间件 库 包 括 P OSI X、 M PI - I/ O 和 H DF5 。 将来会基于使用使 用原生 D A O S 存 储 A PI 来移植 更 多的 I /O 中 间件 和 框架4.2 DAOS POSIX 支 持POSI X 不 是 D A OS 存 储模 型的 基 础。 它被 构建 为 D A OS 后 端 API 之上的 库, 就像 任何其他 I /O 中 间件 一样 。P OSI X 名 称空 间可 以封 装在 D A OS 容 器中 ,并 且可 以由 应用程序挂载 到其 文件 系统 树中 。图 5 显示 了 用 于 P OSI X 的 D A O S 的 软 件堆 栈 。P OSI X API 将通 过 使 用 D A OS 存储引 擎 A PI (通 过 lib da o s)和 D A O S 文 件 系 统 API (通 lib df s)的 Fuse驱 动 程序 来 使用。 这 通 常会 继 承 F U S E 的 开 销 ,包 括 系统 调 用 等。 对 于 大多 数 文 件系 统 操作 来 说 ,这 种开 销 是 可以 接 受 的 ,但 如 果 所 有 I /O 操 作都 必 须 通过 系 统 调 用, 则 像 读写 这 样的 I /O 操 作 实际 上 可 能 会招 致 显 著的 性 能 损 失。 为 了 对那 些 性 能 敏感 的 操 作启 用 操作 系 统bypass , 通过 在栈 中 添 加 一个 拦 截 库 。 这个 库 将 与 d fu se 一 起 工 作 ,并 允 许拦截 P OSI X 读和写调 用, 以 便 通过 lib da o s 直 接从 应 用程 序 上 下文 中 发出 这 些I/O 操作(不 需 要任 何 应 用程 序 更改 )。在 图 5 中 , 在 d f u se/拦截库 和 lib da o s 之 间 有 一 个 层 , 称 为 lib d f s。 lib d f s 层 直接 在 D A O S A PI 之 上 提 供 了 一 个 类 似 P O SI X 的 A PI 。 它 提 供 了 本 地 lib da o s 库 之上 的 文 件 和 目 录 抽 象 。 在 lib d f s 中 ,P O SI X 命 名 空 间 封 装 在 容 器 中 。 文 件 和 目 录都 映 射 到 容 器 内 的 对 象 。 命 名 空 间 容 器 可 以 挂 载 到 L in u x 文 件 系 统 树 中 。 封 装 的POSI X 文 件 系 统 的 数 据 和 元 数 据 将 完 全 分 布 在 所 有 可 用 的 存 储 的 DAOS 池中。dfuse 守护进程与 libdfs 相链接,来自 FUSE 的所有调用将先通过libdfs,然后再通过 libdaos,后者可以访问 DAOS 服务器提供的远程对象存储。此 外 , 如 上 所 述 ,lib df s 可 以 通 过 几 个 接 口 暴 露 给 最 终 用 户, 包 括 像 SPA R K 、M PI -I O 、H D F5 这 样 的框 架 。 当 有 一 个 sh im 层用 于 lib d fs 作 为 I /O 中 间 件 插件 时 ,用 户 可 以 直 接将 应 用 程 序 与 lib df s 链 接 起 来。 这 种 方 法 是 透 明 的 , 不 需 要对 应 用 程序进行更 改 。5 性能D A OS 软件 堆栈 仍在 大量 开发 中。 但是 它在 新的 存储 类内 存技 术上 所能 达到 的性 能已经 在 I SC19 和 SC19 会 议 上 得 到 了 展 示 , 并 且 最 近 已 经 提 交 了 D A OS 0 .6 版 本 的I O5 00 基准套 件的 第一 批结 果。6 结论随着 存 储类 内存 和 N V M e 存 储的 普及 , 软件 栈 开销 因素在存储 系统中占的比重越来 越多 。传 统的 存储 系统 要充 分利 用这 些存 储硬 件设 备的 优势 是非 常困 难的 。本 文将 DAOS 作 为一 种新 设计 的软 件栈存储技术 , 描述 了 D A O S 的 技 术特 点 , 并解 释 了它 如 何 实现 高 性能 和 高 弹性的 。在性 能 部 分,I O5 00 基准 测 试 结果 证 明, D A O S 可 以利 用 新 的存 储 设备 及 其 用户空间 接 口 。比 I O50 0 列表 上的 绝 对 排名 更 重要 的 是 , D A OS 性能 在 I O500 工 作 流中是非 常 均 匀的 , 而 其他 文 件系 统 有 时在 各 个 I O5 00 测 试之 间 表现 出 数 量级 的 性 能差异。本文 仅简 要介 绍了 D A OS 的几 个核 心技 术组 件及 其现 有 的 P OSI X I /O 中 间件 。其他支 持的 I /O 库 如 M PI -I /O 和 H DF5 不 在本 文讨 论范 围内 ,将 成为 未来 研究 的主 题。其他 基于 D A OS /libdf s 的 I /O 中 间件 插件 仍在 开发 中。 D A OS 的路 线图 、设 计文 档和开发状态可 以在 githu b 和 英特 尔 D A OS 网 站上找 到。7 参考文献DAOS: A Scale-Out High Performance Storage Stack for Storage Class Memory编辑于 2023-12-14 15:22・IP 属地浙江分布式存储Ceph开源赞同 546 条评论分享喜欢收藏申请转载文章被以下专栏收录聊聊Ceph&Curve(分布式存储)ceph实践及其他分布式系统(如curve)
Decentralized autonomous organizations (DAOs) | ethereum.org
ntralized autonomous organizations (DAOs) | ethereum.orgSkip to main contentLearnUseBuildParticipateResearchSearchLanguages ENHelp update this pageThere’s a new version of this page but it’s only in English right now. Help us translate the latest version.Translate pageNo bugs here!This page is not being translated. We've intentionally left this page in English for now.Don't show againUses of Ethereum are always developing and evolving. Add any info you think will make things clearer or more up to date. Edit page(opens in a new tab)Decentralized autonomous organizations (DAOs)Member-owned communities without centralized leadership.A safe way to collaborate with internet strangers.A safe place to commit funds to a specific cause.On this pageWhat are DAOs?Why do we need DAOs?A comparisonDAO examplesHow do DAOs work?Ethereum and DAOsDAO governanceDelegationA famous exampleAutomatic transaction governanceA famous exampleMultisig governanceDAO lawsA famous exampleDAO membershipToken-based membershipA famous exampleShare-based membershipA famous exampleReputation-based membershipA famous exampleJoin / start a DAOJoin a DAOStart a DAOFurther readingDAO ArticlesVideosEthereum use casesDecentralized finance (DeFi)Non-fungible tokens (NFTs)Decentralized autonomous organisations (DAOs)Decentralized social networksDecentralized identityDecentralized science (DeSci)Regenerative finance (ReFi)On this pageWhat are DAOs?Why do we need DAOs?How do DAOs work?Ethereum and DAOsDAO governanceDAO lawsDAO membershipJoin / start a DAOFurther readingWhat are DAOs?A DAO is a collectively-owned, blockchain-governed organization working towards a shared mission.DAOs allow us to work with like-minded folks around the globe without trusting a benevolent leader to manage the funds or operations. There is no CEO who can spend funds on a whim or CFO who can manipulate the books. Instead, blockchain-based rules baked into the code define how the organization works and how funds are spent.They have built-in treasuries that no one has the authority to access without the approval of the group. Decisions are governed by proposals and voting to ensure everyone in the organization has a voice, and everything happens transparently on-chain.Why do we need DAOs?Starting an organization with someone that involves funding and money requires a lot of trust in the people you're working with. But it’s hard to trust someone you’ve only ever interacted with on the internet. With DAOs you don’t need to trust anyone else in the group, just the DAO’s code, which is 100% transparent and verifiable by anyone.This opens up so many new opportunities for global collaboration and coordination.A comparisonDAOA traditional organizationUsually flat, and fully democratized.Usually hierarchical.Voting required by members for any changes to be implemented.Depending on structure, changes can be demanded from a sole party, or voting may be offered.Votes tallied, and outcome implemented automatically without trusted intermediary.If voting allowed, votes are tallied internally, and outcome of voting must be handled manually.Services offered are handled automatically in a decentralized manner (for example distribution of philanthropic funds).Requires human handling, or centrally controlled automation, prone to manipulation.All activity is transparent and fully public.Activity is typically private, and limited to the public.DAO examplesTo help this make more sense, here's a few examples of how you could use a DAO:A charity – you could accept donations from anyone in the world and vote on which causes to fund.Collective ownership – you could purchase physical or digital assets and members can vote on how to use them.Ventures and grants – you could create a venture fund that pools investment capital and votes on ventures to back. Repaid money could later be redistributed amongst DAO-members.How do DAOs work?The backbone of a DAO is its smart contract, which defines the rules of the organization and holds the group's treasury. Once the contract is live on Ethereum, no one can change the rules except by a vote. If anyone tries to do something that's not covered by the rules and logic in the code, it will fail. And because the treasury is defined by the smart contract too that means no one can spend the money without the group's approval either. This means that DAOs don't need a central authority. Instead, the group makes decisions collectively, and payments are automatically authorized when votes pass.This is possible because smart contracts are tamper-proof once they go live on Ethereum. You can't just edit the code (the DAOs rules) without people noticing because everything is public.More on smart contractsEthereum and DAOsEthereum is the perfect foundation for DAOs for a number of reasons:Ethereum’s own consensus is distributed and established enough for organizations to trust the network.Smart contract code can’t be modified once live, even by its owners. This allows the DAO to run by the rules it was programmed with.Smart contracts can send/receive funds. Without this you'd need a trusted intermediary to manage group funds.The Ethereum community has proven to be more collaborative than competitive, allowing for best practices and support systems to emerge quickly.DAO governanceThere are many considerations when governing a DAO, such as how voting and proposals work.DelegationDelegation is like the DAO version of representative democracy. Token holders delegate votes to users who nominate themselves and commit to stewarding the protocol and staying informed.A famous exampleENS(opens in a new tab) – ENS holders can delegate their votes to engaged community members to represent them.Automatic transaction governanceIn many DAOs, transactions will be automatically executed if a quorum of members votes affirmative.A famous exampleNouns(opens in a new tab) – In Nouns DAO, a transaction is automatically executed if a quorum of votes is met and a majority votes affirmative, as long as it is not vetoed by the founders.Multisig governanceWhile DAOs may have thousands of voting members, funds can live in a wallet shared by 5-20 active community members who are trusted and usually doxxed (public identities known to the community). After a vote, the multisig signers execute the will of the community.DAO lawsIn 1977, Wyoming invented the LLC, which protects entrepreneurs and limits their liability. More recently, they pioneered the DAO law that establishes legal status for DAOs. Currently Wyoming, Vermont, and the Virgin Islands have DAO laws in some form.A famous exampleCityDAO(opens in a new tab) – CityDAO used Wyoming's DAO law to buy 40 acres of land near Yellowstone National Park.DAO membershipThere are different models for DAO membership. Membership can determine how voting works and other key parts of the DAO.Token-based membershipUsually fully permissionless, depending on the token used. Mostly these governance tokens can be traded permissionlessly on a decentralized exchange. Others must be earned through providing liquidity or some other ‘proof-of-work’. Either way, simply holding the token grants access to voting.Typically used to govern broad decentralized protocols and/or tokens themselves.A famous exampleMakerDAO(opens in a new tab) – MakerDAO's token MKR is widely available on decentralized exchanges and anyone can buy into having voting power on Maker protocol's future.Share-based membershipShare-based DAOs are more permissioned, but still quite open. Any prospective members can submit a proposal to join the DAO, usually offering a tribute of some value in the form of tokens or work. Shares represent direct voting power and ownership. Members can exit at any time with their proportionate share of the treasury.Typically used for more closer-knit, human-centric organizations like charities, worker collectives, and investment clubs. Can also govern protocols and tokens as well.A famous exampleMolochDAO(opens in a new tab) – MolochDAO is focused on funding Ethereum projects. They require a proposal for membership so the group can assess whether you have the necessary expertise and capital to make informed judgments about potential grantees. You can't just buy access to the DAO on the open market.Reputation-based membershipReputation represents proof of participation and grants voting power in the DAO. Unlike token or share-based membership, reputation-based DAOs don't transfer ownership to contributors. Reputation cannot be bought, transferred or delegated; DAO members must earn reputation through participation. On-chain voting is permissionless and prospective members can freely submit proposals to join the DAO and request to receive reputation and tokens as a reward in exchange for their contributions.Typically used for decentralized development and governance of protocols and dapps, but also well suited to a diverse set of organizations like charities, worker collectives, investment clubs, etc.A famous exampleDXdao(opens in a new tab) – DXdao is a global sovereign collective building and governing decentralized protocols and applications since 2019. It leverages reputation-based governance and holographic consensus to coordinate and manage funds, meaning no one can buy their way into influencing its future.Join / start a DAOJoin a DAOEthereum community DAOsDAOHaus's list of DAOs(opens in a new tab)Tally.xyz list of DAOs(opens in a new tab)Start a DAOSummon a DAO with DAOHaus(opens in a new tab)Start a Governor DAO with Tally(opens in a new tab)Create an Aragon-powered DAO(opens in a new tab)Start a colony(opens in a new tab)Create a DAO with DAOstack's holographic consensus(opens in a new tab)Further readingDAO ArticlesWhat's a DAO?(opens in a new tab) – Aragon(opens in a new tab)The DAO Handbook(opens in a new tab)House of DAOs(opens in a new tab) – Metagame(opens in a new tab)What is a DAO and what is it for?(opens in a new tab) – DAOhaus(opens in a new tab)How to Start a DAO-Powered Digital Community(opens in a new tab) – DAOhaus(opens in a new tab)What is a DAO?(opens in a new tab) – Coinmarketcap(opens in a new tab)What is Holographic Consensus?(opens in a new tab) - DAOstack(opens in a new tab)DAOs are not corporations: where decentralization in autonomous organizations matters by Vitalik(opens in a new tab)DAOs, DACs, DAs and More: An Incomplete Terminology Guide(opens in a new tab) - Ethereum Blog(opens in a new tab)VideosWhat is a DAO in crypto?(opens in a new tab)Can a DAO Build a City?(opens in a new tab) – TED(opens in a new tab)Was this page helpful?YesNoEthereum use casesDecentralized finance (DeFi)Non-fungible tokens (NFTs)Decentralized autonomous organisations (DAOs)Decentralized social networksDecentralized identityDecentralized science (DeSci)Regenerative finance (ReFi)Website last updated: February 16, 2024(opens in a new tab)(opens in a new tab)(opens in a new tab)Use EthereumFind walletGet ETHDapps - Decentralized applicationsLayer 2Run a nodeStablecoinsStake ETHLearnLearn HubWhat is Ethereum?What is ether (ETH)?Ethereum walletsGas feesEthereum security and scam preventionWhat is Web3?Smart contractsEthereum energy consumptionEthereum roadmapEthereum Improvement ProposalsHistory of EthereumEthereum WhitepaperEthereum glossaryEthereum governanceBlockchain bridgesZero-knowledge proofsQuiz HubDevelopersGet startedDocumentationTutorialsLearn by codingSet up local environmentEcosystemCommunity hubEthereum FoundationEthereum Foundation Blog(opens in a new tab)Ecosystem Support Program(opens in a new tab)Ethereum bug bounty programEcosystem Grant ProgramsEthereum brand assetsDevcon(opens in a new tab)EnterpriseMainnet EthereumPrivate EthereumEnterpriseAbout ethereum.orgAbout usJobsContributingLanguage supportPrivacy policyTerms of useCookie policyPress Contact(opens in a new t去中心化自治组织 (DAO) | ethereum.org
自治组织 (DAO) | ethereum.org跳转至主要内容学习用法构建参与研究搜索语言 ZH帮助更新此页面本页面有新版本,但现在只有英文版。请帮助我们翻译最新版本。翻译页面没有错误!此页面未翻译,因此特意以英文显示。不再显示以太坊的用法不断开发和演进。添加任何你认为会使事情变得更清晰或更及时的信息。 编辑页面(opens in a new tab)去中心化自治组织 (DAO)没有集中领导的、成员共同拥有的社区。一种与互联网上的陌生人合作的安全方式。一个为特定事业投入资金的安全场所。在本页面什么是去中心化自治组织?我们为什么需要去中心化自治组织?对比去中心化自治组织示例去中心化自治组织如何运作?以太坊与去中心化自治组织去中心化自治组织的治理委托知名案例自动交易治理知名案例多重签名治理去中心化自治组织相关法律知名案例去中心化自治组织的成员资格基于代币的成员资格知名案例基于份额的成员资格知名案例基于信誉的成员资格知名案例加入/创立去中心化自治组织加入去中心化自治组织创立去中心化自治组织延伸阅读去中心化自治组织相关文章视频以太坊使用案例去中心化金融 (DeFi)非同质化代币 (NFT)去中心化自治组织 (DAO)去中心化社交网络去中心化身份去中心化科学 (DeSci)再生金融(ReFi)在本页面什么是去中心化自治组织?我们为什么需要去中心化自治组织?去中心化自治组织如何运作?以太坊与去中心化自治组织去中心化自治组织的治理去中心化自治组织相关法律去中心化自治组织的成员资格加入/创立去中心化自治组织延伸阅读什么是去中心化自治组织?去中心化自治组织是指集体所有且由区块链监管的组织,为一个共同的使命而奋斗。去中心化自治组织让全世界志同道合之士开展合作,而无需信赖一位宅心仁厚的领导来管理资金和运营。 没有可以随意花钱的首席执行官,也没有能够做假账的首席财务官。 取而代之的是,融入代码的基于区块链的规则规定组织如何运作以及资金如何使用。去中心化自治组织拥有内部资产,未经该组织批准,任何人都无权动用。 决策通过提案和投票监管,确保组织中的每位成员都有发言权,一切都发生在链上,公开透明。我们为什么需要去中心化自治组织?与他人创办涉及资金和金钱的组织,需要对与合作对象高度信任。 不过,显然很难相信互联网上素不相识的人。 通过去中心化自治组织,你不需要相信组织中的其他人,只需要相信去中心化自治组织的代码就够了,它是 100% 公开透明的,任何人都可以验证。这为全球合作和协调提供了许多新机会。对比去中心化自治组织传统组织通常是平等的,并且完全民主。通常等级鲜明。需要成员投票才能实施任何更改。可能部分人就能进行决策,也可能投票表决,具体取决于组织结构。不需要可信的中间人就可以自动计算投票、执行结果。如果允许投票,则在内部计票,投票结果必须由人工处理。以去中心化方式自动提供服务(例如慈善基金的分配)。需要人工处理或自动集中控制,易受操纵。所有活动公开透明。活动通常是私密进行,不向公众开放。去中心化自治组织示例为了帮助你更好地理解,这里有一些去中心化自治组织的应用示例:慈善机构 – 可以接受全世界任何人的捐赠,并投票决定要资助的项目。集体所有权 – 可以购买实体或数字资产,组织成员可以投票决定如何使用它们。风险投资和赠款 - 你可以成立一个风险基金,汇集投资资本并投票进行商业投资。 后续收益可以分配给相应 DAO 成员。去中心化自治组织如何运作?智能合约是去中心化自治组织的基础,它定义了组织的规则并持有组织的资产。 合约在以太坊上生效后,除非表决通过,否则任何人都不能修改规则。 任何人都无法超越合约定义的规则和逻辑行事。 由于资产也由智能合约定义,这也意味着未经组织批准任何人都不能使用资金。 所以去中心化组织也不需要中央权威。 相反,组织集体作出决定,而付款会在表决通过后自动获批。之所以能够做到这一点,是因为智能合约在以太坊上生效后,就无法被篡改。 一切都是公开的,你不可能在其他人一无所知的情况下修改代码(去中心化组织定义的规则)。更多关于智能合约的信息以太坊与去中心化自治组织以太坊为去中心化自治组织提供了坚实基础,原因如下:以太坊本身已经建立足够的共识,足以让各类组织信任以太坊网络。智能合约一旦生效就无法更改,即便是其所有者也是如此。 这使得去中心化自治组织能够按照编程规则运行。智能合约可以发送/接收资金。 没有这点,你就需要可信的中间人来管理组织资金。比起竞争,以太坊社区更趋向于合作,这使得各类应用程序和服务系统蓬勃发展。去中心化自治组织的治理治理去中心化自治组织时要考虑很多因素,比如投票和提案如何运作。委托委托就像是去中心化自治组织的代议制民主。 代币持有者将投票委托给那些自提名并承诺管理协议和随时了解动态的用户。知名案例以太坊域名服务(opens in a new tab) - 以太坊域名服务持有者可以将他们的选票委托给参与的社区成员来代表他们。自动交易治理在很多去中心化自治组织中,如果达到法定人数的成员投票赞成,交易将自动执行。知名案例Nouns(opens in a new tab) — 在 Nouns 去中心化自治组织中,只要创始人不否决,如果投票达到法定票数并且多数票赞成,那么交易将自动执行。多重签名治理虽然去中心化自治组织可能有数千名有投票权的成员,但资金一般会放在一个由 5 到 20 名活跃社区成员共同管理的钱包中,这些成员受组织信任并接受监督(社区知道他们的公开身份)。 投票后,执行多重签名的签名者将执行社区的意志。去中心化自治组织相关法律1977 年,怀俄明州发明了有限责任公司制度,保护企业家并对他们的责任范围做出限制。 最近,他们率先制定了《去中心化自治组织法》,确定了去中心化自治组织的法律地位。 目前,怀俄明州、佛蒙特州和维尔京群岛都制定了各自的去中心化自治组织法律。知名案例CityDAO(opens in a new tab) — 依照怀俄明州的去中心化自治组织相关法律,CityDAO 购买了黄石国家公园附近的 40 英亩土地。去中心化自治组织的成员资格去中心化自治组织成员资格分为多种模式。 成员资格可以决定投票方式和去中心化自治组织的其他关键事项。基于代币的成员资格通常无需许可,取决于其使用的代币。 通常,这些治理代币在去中心化交易所无需许可即可易, 其余代币要通过提供流动性或“工作量证明”才能赚取。 无论何种方式,只要持有代币就可以参与投票。通常用来管理各种去中心化协议和/或代币本身。知名案例MakerDAO(opens in a new tab) — 去中心化交易所普遍提供 MakerDAO 的代币 MKR,任何人都可以买入,从而获得对 Maker 协议未来的投票权。基于份额的成员资格基于份额的去中心化自治组织通常拥有更多权限,但仍然相当公开透明。 任何潜在成员都可以提交加入去中心化自治组织的提案,并且通常以代币或工作的形式提供有价值的贡献。 份额代表直接投票权和所有权。 成员可以随时退出组织并带走属于他们的资金份额。通常用于联系更紧密、以人为中心的组织,例如慈善机构、工人团体和投资俱乐部等。 也可以管理协议和代币。知名案例MolochDAO(opens in a new tab) – MolochDAO 致力于为以太坊项目募集资金。 他们需要成员资格提案,以便组织可以评估你是否具有必要的专业知识和资本来对潜在受资助者做出明智判断。 你无法通过在公开市场上购买代币来加入这类去中心化自治组织。基于信誉的成员资格信誉代表参加投票的证明,并授予去中心化自治组织中的投票权。 不同于基于代币或份额的成员资格,基于信誉的去中心化自治组织不会将所有权转让给贡献者。 信誉积分不能够购买、转让或委托;去中心化自治组织成员必须通过参与获得信誉积分。 链上投票无需许可,潜在成员可以自由提交加入去中心化自治组织的提案,并要求获得信誉积分和代币,作为他们所做贡献的奖励。通常用于协议和去中心化应用程序的去中心化开发和管理,但同时非常适合各类组织,例如慈善机构、工人团体、投资俱乐部等。知名案例DXdao(opens in a new tab) -- DXdao 是一个全球性的主权团体,自 2019 年以来一直致力于构建和管理去中心化协议和应用。 该组织利用基于信誉积分的治理和全息共识来协调和管理资金,这意味着任何人都不能对它的未来施加影响。加入/创立去中心化自治组织加入去中心化自治组织以太坊社区中的去中心化自治组织DAOHaus 的去中心化自治组织列表(opens in a new tab)Tally.xyz 的去中心化自治组织列表(opens in a new tab)创立去中心化自治组织使用 DAOHaus 创立去中心化自治组织(opens in a new tab)从 Tally 开创治理去中心化自治组织(opens in a new tab)创立由 Aragon 支持的去中心化自治组织(opens in a new tab)创立 colony(opens in a new tab)使用 DAOstack 的全息共识机制创建去中心化自治组织(opens in a new tab)延伸阅读去中心化自治组织相关文章什么是去中心化自治组织?(opens in a new tab)– Aragon(opens in a new tab)《去中心化自治组织手册》(opens in a new tab)去中心化自治组织之家(opens in a new tab) – Metagame(opens in a new tab)什么是去中心化自治组织,其宗旨是什么?(opens in a new tab) – DAOhaus(opens in a new tab)如何创立由去中心化自治组织提供支持的数字社区(opens in a new tab) – DAOhaus(opens in a new tab)什么是去中心化自治组织?(opens in a new tab) – Coinmarketcap(opens in a new tab)什么是全息共识?(opens in a new tab) - DAOstack(opens in a new tab)《去中心化自治组织不是公司:去中心化在自治组织中很重要》,作者 Vitalik(opens in a new tab)去中心化自治组织、数据可用性委员会、数据可用性等等:不完整术语指南(opens in a new tab) - 以太坊博客(opens in a new tab)视频什么是加密货币中的去中心化自治组织?(opens in a new tab)去中心化自治组织能构建一座城市吗?(opens in a new tab) – TED(opens in a new tab)本页面对你有帮助吗?是否以太坊使用案例去中心化金融 (DeFi)非同质化代币 (NFT)去中心化自治组织 (DAO)去中心化社交网络去中心化身份去中心化科学 (DeSci)再生金融(ReFi)网站最后更新: 2024年2月16日(opens in a new tab)(opens in a new tab)(opens in a new tab)使用以太坊查找钱包获取以太币Dapps - 去中心化应用二层网络运行节点稳定币质押ETH学习学习中心什么是以太坊?什么是以太币 (ETH)?以太坊钱包Gas fees以太坊安全和预防欺诈措施什么是 Web3?智能合约以太坊能源消耗以太坊路线图以太坊改进提案 (Eip)以太坊的历史以太坊白皮书以太坊词汇表以太坊治理区块链桥零知识证明测试中心开发者开始体验相关文档教程通过编码来学习设置本地环境生态系统社区中心以太坊基金会以太坊基金会的博客(opens in a new tab)生态系统支持方案(opens in a new tab)以太坊漏洞悬赏计划生态系统资助计划以太坊品牌资产Devcon(opens in a new tab)企业级应用主网以太坊私密以太坊企业级应用关于ethereum.org关于我们工作机会参与贡献语言支持隐私政策使用条款缓存政策联系我们(opens in a new tDecentralized autonomous organization - Wikipedia
Decentralized autonomous organization - Wikipedia
Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main pageContentsCurrent eventsRandom articleAbout WikipediaContact usDonate
Contribute
HelpLearn to editCommunity portalRecent changesUpload file
Languages
Language links are at the top of the page.
Search
Search
Create account
Log in
Personal tools
Create account Log in
Pages for logged out editors learn more
ContributionsTalk
Contents
move to sidebar
hide
(Top)
1Background
2Governance
3Issues
Toggle Issues subsection
3.1Social
3.2Legal status, liability, and regulation
3.3Security
4List of notable DAOs
5See also
6Notes
7References
8External links
Toggle the table of contents
Decentralized autonomous organization
21 languages
AfrikaansالعربيةCatalàDeutschΕλληνικάEspañolEuskaraفارسیFrançais한국어Bahasa IndonesiaInterlingueItalianoעבריתNederlandsNorsk bokmålPolskiPortuguêsRomânăРусский中文
Edit links
ArticleTalk
English
ReadEditView history
Tools
Tools
move to sidebar
hide
Actions
ReadEditView history
General
What links hereRelated changesUpload fileSpecial pagesPermanent linkPage informationCite this pageGet shortened URLDownload QR codeWikidata item
Print/export
Download as PDFPrintable version
From Wikipedia, the free encyclopedia
Type of organization run via blockchain
This article is about a type of organization. For the former organization that followed this approach, see The DAO (organization).
Not to be confused with Autonomous decentralized system or Autonomous peripheral operation.
Part of a series onAlgocracy
Examples
AI in government
COMPAS
Cybersyn
DAO
Toeslagenaffaire
IT-backed authoritarianism
Ofqual exam results algorithm
OIA
PMPs
Predictive policing
Robodebt
Smart city
SyRI
vte
A decentralized autonomous organization (DAO), sometimes called a decentralized autonomous corporation (DAC),[a][1] is an organization managed in whole or in part by decentralized computer program, with voting and finances handled through a blockchain.[2][3][4] In general terms, DAOs are member-owned communities without centralized leadership.[5][6] The precise legal status of this type of business organization is unclear.[7][8]
A well-known example, intended for venture capital funding, was The DAO, which amassed 3.6 million ether (ETH)—Ethereum's mining reward—then worth more than US$70 million in May 2016, and was hacked and drained of US$50 million in cryptocurrency weeks later.[9] The hack was reversed in the following weeks, and the money restored, via a hard fork of the Ethereum blockchain. Most Ethereum miners and clients switched to the new fork while the original chain became Ethereum Classic.
The governance of DAOs is subject to controversy. As these typically allocate and distribute tokens that grant voting rights, their accumulation may lead to concentration of power.[10]
Background[edit]
Although the term may be traced back to the 1990s, it was not until 2013 that it became more widely adopted.[1] Although some argue that Bitcoin was the first DAO, the term is only understood today as organizations deployed as smart contracts on top of an existing blockchain network.[1]
Decentralized autonomous organizations are typified by the use of blockchain technology to provide a secure digital ledger to track digital interactions across the internet, hardened against forgery by trusted timestamping and dissemination of a distributed database.[2][3][11] This approach eliminates the need to involve a mutually acceptable trusted third party in any decentralized digital interaction or cryptocurrency transaction.[3] The costs of a blockchain-enabled transaction and of the associated data reporting may be substantially offset by the elimination of both the trusted third party and of the need for repetitive recording of contract exchanges in different records. For example, the blockchain data could, in principle and if regulatory structures permit it, replace public documents such as deeds and titles.[2]: 42 [3] In theory, a blockchain approach allows multiple cloud computing users to enter a loosely coupled peer-to-peer smart contract collaboration.[2]: 42 [12]
Vitalik Buterin proposed that after a DAO is launched, it might be organized to run without human managerial interactivity, provided the smart contracts are supported by a Turing-complete platform. Ethereum, built on a blockchain and launched in 2015, has been described as meeting that Turing threshold, thus enabling such DAOs.[2][13][14] Decentralized autonomous organizations aim to be open platforms through which individuals control their identities and their personal data.[15]
Governance[edit]
DAO governance is coordinated using tokens or NFTs that grant voting powers. Admission to a DAO is limited to people who have a confirmed ownership of these governance tokens in a cryptocurrency wallet, and membership may be exchanged. Governance is conducted through a series of proposals that members vote on through the blockchain,[16] and the possession of more governance tokens often translates to greater voting power.[10] Contributions from members towards the organizational goals of a DAO can sometimes be tracked and internally compensated. Inactive holders of governance tokens can be a major obstacle for DAO governance,[4] which has led to implementations allowing voting power to be delegated to other parties.
Issues[edit]
Social[edit]
Tokens that grant voting powers are often not used to vote.[10] Inactive or non-voting shareholders in DAOs often disrupt the organization's possible functionality.[4]
Another risk is the concentration of power in the case that individuals accumulate large amounts of tokens that grant voting power. Concentration of these tokens defeats the ambitions to distribute governance power. In a study of decentralized finance DAOs, the distribution of tokens was shown to be highly concentrated among a small population of holders.[10]
Legal status, liability, and regulation[edit]
The precise legal status of this type of business organization is generally unclear,[11] and may vary by jurisdiction. On 1 July 2021, Wyoming became the first US state to recognize DAOs as a legal entity.[17] American CryptoFed DAO became the first business entity so recognized.[18] Some previous approaches to blockchain based companies have been regarded by the U.S. Securities and Exchange Commission as illegal offers of unregistered securities.[7][19] Although often of uncertain legal standing, a DAO may functionally be a corporation without legal status as a corporation: a general partnership.[20] Known participants, or those at the interface between a DAO and regulated financial systems, may be targets of regulatory enforcement or civil actions if they are out of compliance with the law.[20]
In June 2022, the venture capital firm Andreessen Horowitz published an "Entity selection framework" describing organizational alternatives for DAOs with a substantial presence in the United States.[21]
Security[edit]
A DAO's code is difficult to alter once the system is up and running, including bug fixes that would be otherwise trivial in centralized code. Corrections to a DAO require writing new code and agreement to migrate all the funds. Although the code is visible to all, it is hard to repair, thus leaving known security holes open to exploitation unless a moratorium is called to enable bug fixing.[22]
In 2016, a specific DAO, "The DAO", set a record for the largest crowdfunding campaign to date.[23][24] Researchers pointed out multiple problems with The DAO's code. The DAO's operational procedure allowed investors to withdraw at will any money that had not yet been committed to a project; the funds could thus deplete quickly.[4] Although safeguards aimed to prevent gaming shareholders' votes to win investments,[7] there were a "number of security vulnerabilities".[25] These enabled an attempted large withdrawal of funds from The DAO to be initiated in mid-June 2016.[26][27] On 20 July 2016, the Ethereum blockchain was forked to bail out the original contract.
DAOs can be subject to coups or hostile takeovers that upend its voting structures especially if the voting power is based upon the number of tokens one owns. An example of this occurred in 2022, when one individual collected enough tokens to give themselves voting control over Build Finance DAO, which they then used to drain the DAO of all its money.[28]
List of notable DAOs[edit]
This is a dynamic list and may never be able to satisfy particular standards for completeness. You can help by adding missing items with reliable sources.
Name
Token
Use cases
Network
Launch
Status
Dash DAO
Dash
Dash (cryptocurrency) ecosystem management and self-funding[29][30]
Dash
September 2015[citation needed]
Operational
The DAO
DAO
Venture capital
Ethereum
April 2016
Defunct late 2016 due to hack[31]
ConstitutionDAO
PEOPLE
Purchasing an original copy of the Constitution of the United States
Ethereum
November 2021[32]
Defunct[33]
PleasrDAO
PEEPS
A group of art collectors who own the sole copy of the Wu Tang Clan album Once Upon a Time in Shaolin[34]
Ethereum
April 2021
Operational
FreeRossDAO[35]
FREE
Clemency for Ross Ulbricht, criminal justice reform advocacy organization
Ethereum
December 2021[36]
Operational[citation needed]
AssangeDAO
JUSTICE[37]
Purchased Clock, an NFT artwork by Pak, to fund legal defense of WikiLeaks' founder Julian Assange
Ethereum
February 2022[38]
Operational
MakerDAO[39]
MKR
Dai (cryptocurrency) stablecoin maintainer and regulator, lender
Ethereum
December 2017
Operational
Uniswap
UNI
Decentralized exchange (DEX), Automated Market Making (AMM)
Ethereum & Celo
November 2018
Operational[40]
See also[edit]
Decentralized Finance
Decentralized application
Decentralized computing
Distributed computing
Incentive-centered design
List of highest-funded crowdfunding projects
Smart contract
The Social Contract
Open value network
Notes[edit]
^ Depending on English dialect, it may also be spelled decentralised autonomous organisation. The terms decentralized autonomous company, distributed autonomous organization, etc., have also been used.
References[edit]
^ a b c Hassan, Samer; De Filippi, Primavera (2021-04-20). "Decentralized Autonomous Organization". Internet Policy Review. 10 (2). doi:10.14763/2021.2.1556. ISSN 2197-6775. S2CID 235559086.
^ a b c d e Vigna, P.; Casey, M. J. (2015-01-27). The Age of Cryptocurrency: How Bitcoin and the Blockchain Are Challenging the Global Economic Order. St. Martin's Press. ISBN 978-1-25006563-6.
^ a b c d Hodson, H. (2013-11-20). "Bitcoin moves beyond mere money". New Scientist.
^ a b c d "The DAO of accrue: A new, automated investment fund has attracted stacks of digital money". The Economist. 2016-05-21.
^ Prusty, Narayan (2017-04-27). Building Blockchain Projects. Birmingham, UK: Packt. p. 9. ISBN 978-1-78712533-9.
^ The Decentralized Autonomous Organization and Governance Issues Regulation of Financial Institutions Journal: Social Science Research Network (SSRN). 5 December 2017.
^ a b c Popper, N. (2016-05-21). "A Venture Fund with Plenty of Virtual Capital, but No Capitalist". New York Times.
^ Barbereau, Tom; Bodó, Balázs (2023-07-01). "Beyond financial regulation of crypto-asset wallet software: In search of secondary liability". Computer Law & Security Review. 49: 105829. doi:10.1016/j.clsr.2023.105829. ISSN 0267-3649. S2CID 258733922.
^ Price, Rob (2016-06-17). "Digital currency Ethereum is cratering amid claims of a $50 million hack". Business Insider. Retrieved 2016-06-17.
^ a b c d Barbereau, Tom; Smethurst, Reilly; Papageorgiou, Orestis; Sedlmeir, Johannes; Fridgen, Gilbert (May 2023). "Decentralised Finance's timocratic governance: The distribution and exercise of tokenised voting rights". Technology in Society. 73: 102251. doi:10.1016/j.techsoc.2023.102251. S2CID 258245920.
^ a b Wright, A.; De Filippi, P. (2015-03-10). "Decentralized Blockchain Technology and the Rise of Lex Cryptographia". SSRN 2580664.
^ Norta, A. (2015-08-18). "Creation of Smart-Contracting Collaborations for Decentralized Autonomous Organizations". Perspectives in Business Informatics Research. Lecture Notes in Business Information Processing. Vol. 229. pp. 3–17.
^ Pangburn, D. J. (2015-06-19). "The Humans Who Dream of Companies That Won't Need Us". FastCompany.
^ Evans, J. (2015-08-01). "Vapor No More: Ethereum Has Launched". TechCrunch.
^ Deegan, P. (2014). "Chapter 14—The Relational Matrix: The Free and Emergent Organizations of Digital Groups and Identities". In Clippinger, J. H.; Bollier, D. (eds.). From Bitcoin to Burning Man and Beyond: The Quest for Identity and Autonomy in a Digital Society. Amherst, Massachusetts, USA. pp. 160–176]. ISBN 978-1-937146-58-0. creating an operational and autonomous Trust Framework [that can i]ntegrate with a secure discovery service in the form of a Decentralized Autonomous Organization ...{{cite book}}: CS1 maint: location missing publisher (link)
^ Zhao, Xi; Ai, Peilin; Lai, Fujun; Luo, Xin (Robert); Benitez, Jose (September 2022). "Task management in decentralized autonomous organization". Journal of Operations Management. 68 (6–7): 649–674. doi:10.1002/joom.1179. ISSN 0272-6963. S2CID 248309790.
^ "Decentralized Autonomous Organizations Find a Home in Wyoming". JD Supra. Retrieved 2021-07-09.
^ "Wyoming becomes first US state to legally recognise DAO". finance.yahoo.com. 2021-07-07. Retrieved 2021-07-09.
^ "SEC Charges Bitcoin Entrepreneur With Offering Unregistered Securities". US Securities and Exchange Commission. 2014-06-03.
^ a b Levine, M. (2016-05-17). "Blockchain Company Wants to Reinvent Companies". Bloomberg View: Wall Street. Bloomberg News.
^ "A Legal Framework for Decentralized Autonomous Organizations, Part II: Entity Selection Framework" (PDF). Retrieved 2022-06-13.
^ Peck, M. (2016-05-28). "Ethereum's $150-million Blockchain-powered Fund Opens Just as Researchers Call For a Halt". IEEE Spectrum. Institute of Electrical and Electronics Engineers.
^ Vigna, P. (2016-05-16). "Chiefless Company Rakes in More Than $100 Million". Wall Street Journal.
^ Waters, R. (2016-05-17). "Automated company raises equivalent of $120M in digital currency". Financial Times.
^ Popper, N. (2016-05-27). "Paper Points Up Flaws in Venture Fund Based on Virtual Money". The New York Times.
^ Popper, N. (2016-06-17). "Hacker May Have Taken $50 Million From Cybercurrency Project". New York Times.
^ Price, R. (2016-06-17). "Digital currency Ethereum is cratering amid claims of a $50 million hack". Business Insider. Retrieved 2016-06-17.
^ "Democratic DAO Suffers Coup, New Leader Steals Everything - VICE". www.vice.com. 2022-02-15. Retrieved 2022-02-16.
^ "Governance — Dash latest documentation". docs.dash.org. Retrieved 2023-09-21.
^ Chistiakov, Ivan; Yanovich, Yury (2020-08-25). "Responsible Self-Funding in Dash Governance System". Proceedings of the 2020 2nd International Electronics Communication Conference. IECC '20. New York, NY, USA: Association for Computing Machinery. pp. 67–72. doi:10.1145/3409934.3409939. ISBN 978-1-4503-7770-6. S2CID 221299494.
^ Finley, Klint (2016-06-18). "Someone Just Stole $50 Million from the Biggest Crowdfunded Project Ever (Humans Can't Be Trusted)". Wired. ISSN 1059-1028. Retrieved 2019-11-16.
^ Roose, Kevin (2021-11-17). "They Love Crypto. They're Trying to Buy the Constitution". The New York Times. ISSN 0362-4331. Retrieved 2021-11-17.
^ Fox, Matthew (2022-01-19). "Tokens of the defunct DAO that failed to buy a copy of the constitution are worth $300 million even after disbanding". news.yahoo.com. Retrieved 2022-01-28.
^ Leight, Elias (2021-10-20). "Revealed: The Crypto Fans Who Secretly Paid $4 Million for Pharma Bro's Wu-Tang Album". Rolling Stone. Retrieved 2022-11-09.
^ Collier, Kevin (2021-12-10). "NFT of Silk Road founder's art sells for more than $6 million". www.nbcnews.com. NBC News. Retrieved 2022-05-10.
^ Mak, Aaron (2022-01-25). "Ross Ulbricht Went to Jail for Letting People Buy Drugs With Bitcoin. Can These Crypto Obsessives Get Him Out?". slate.com. Slate. Retrieved 2022-05-10.
^ "Justice Token". AssangeDAO. Retrieved 2022-04-14.
^ "'Cypherpunks have rallied to Assange': NFT auction raises $52m for WikiLeaks founder". The Guardian. Reuters. 2022-02-09.
^ Ehrlich, Steven. "How Crypto's Original Bubble Boy Rode Ethereum And Is Now Pulling The Strings Of The DeFi Boom". Forbes. Retrieved 2022-07-20.
^ "OpenOrgs.info". openorgs.info. Retrieved 2022-01-15.
External links[edit]
Learning materials related to Decentralized autonomous organization at Wikiversity
vteCryptocurrenciesTechnology
Blockchain
Cryptocurrency tumbler
Cryptocurrency wallet
Cryptographic hash function
Decentralized exchange
Decentralized finance
Distributed ledger
Fork
Lightning Network
MetaMask
Non-fungible token
Smart contract
Web3
Consensus mechanisms
Proof of authority
Proof of space
Proof of stake
Proof of work
Proof of work currenciesSHA-256-based
Bitcoin
Bitcoin Cash
Counterparty
LBRY
MazaCoin
Namecoin
Peercoin
Titcoin
Ethash-based
Ethereum (1.0)
Ethereum Classic
Scrypt-based
Auroracoin
Bitconnect
Coinye
Dogecoin
Litecoin
Equihash-based
Bitcoin Gold
Zcash
RandomX-based
Monero
X11-based
Dash
Petro
Other
AmbaCoin
Firo
IOTA
Nervos Network
Primecoin
Verge
Vertcoin
Proof of stake currencies
Algorand
Avalanche
Cardano
EOS.IO
Ethereum (2.0)
Gridcoin
Kin
Nxt
Peercoin
Polkadot
Solana
Steem
Tezos
TRON
ERC-20 tokens
Augur
Aventus
Basic Attention Token
Chainlink
Kin
KodakCoin
Minds
Polygon
Shiba Inu
The DAO
TRON
Stablecoins
Dai
Diem
First Digital USD
Pax
Tether
USD Coin
XIDR
Other currencies
Chia
Filecoin
HBAR (Hashgraph)
Helium
MobileCoin
Nano
NEO
Ripple
SafeMoon
Stellar
WhopperCoin
Inactive currencies
BitConnect
Coinye
KodakCoin
OneCoin
Petro
Cryptocurrency exchanges
Abra
Binance
Bitfinex
bitFlyer
Bitkub
Bitpanda
Bithumb
BitMEX
Bitso
Bitstamp
BTCC
BUX
Circle
Coinbase
Coincheck
Crypto.com
EDX Markets
eToro
Gemini
Genesis
Huobi
ItBit (Paxos)
Kraken
Kuna
LocalBitcoins
OKX
ShapeShift
Uniswap
Upbit
Defunct
BTC-e
FTX
bankruptcy
Mt. Gox
QuadrigaCX
Thodex
Crypto service companies
Hyperledger
IQ.Wiki
Initiative Q
Related topics
Airdrop
BitLicense
Blockchain game
Complementary currency
Crypto-anarchism
Cryptocurrency bubble
Cryptocurrency in Nigeria
Cryptocurrency scams
Digital currency
Decentralized autonomous organization
Decentralized application
Distributed ledger technology law
Double-spending
Environmental impact
Initial coin offering
Initial exchange offering
List of cryptocurrencies
Token money
Virtual currency
Category
Commons
List
Retrieved from "https://en.wikipedia.org/w/index.php?title=Decentralized_autonomous_organization&oldid=1206923129"
Categories: Application layer protocolsApplications of cryptographyBlockchainsComputer lawComputer networkingDistributed computingDistributed data storageNetwork protocolsPeer-to-peer computingProduction economicsGovernment by algorithmHidden categories: Pages with non-numeric formatnum argumentsCS1 maint: location missing publisherArticles with short descriptionShort description is different from WikidataUse Oxford spelling from March 2021Use dmy dates from March 2021Dynamic listsAll articles with unsourced statementsArticles with unsourced statements from October 2023Articles with unsourced statements from July 2022
This page was last edited on 13 February 2024, at 13:49 (UTC).
Text is available under the Creative Commons Attribution-ShareAlike License 4.0;
additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Code of Conduct
Developers
Statistics
Cookie statement
Mobile view
Toggle limited content width
What are DAOs? - The New York Times
What are DAOs? - The New York Times
Skip to contentSkip to site indexWhat are DAOs?By Kevin RooseMarch 18, 2022Leer en españolShare full article
technology
The Latecomer’s Guide to Crypto
Kevin Roose
What are DAOs?
This is part of “The Latecomer’s Guide to Crypto,” a mega-F.A.Q. about cryptocurrency and its offshoots. Kevin Roose, a Times technology columnist, is answering some of the most frequently asked questions he gets about NFTs, DeFi, web3 and other crypto concepts.
OK, start me off gently. What is a DAO?
DAO stands for decentralized autonomous organization.
That’s a mouthful.
Sure is.
What does it mean?
A DAO (pronounced dow) is a new kind of organizational structure, built with blockchain technology, that is often described as a sort of crypto co-op. (Or, alternatively, as a “financial flash mob” or a “group chat with a bank account.”)
In their purest form, DAOs are groups that form for a common purpose, like investing in start-ups, managing a stablecoin or buying a bunch of NFTs. ConsenSys, a blockchain organization, defines DAOs as “governing bodies that oversee the allocation of resources tied to the projects they are associated with and are also tasked with ensuring the long term success of the project they support.”
Once it’s formed, a DAO is run by its members, often through the use of crypto tokens. These tokens often come with certain rights attached, such as the ability to manage a common treasury or vote on certain decisions.
This sounds kind of vague. Can you give me an example?
Sure. The best-known DAO is probably ConstitutionDAO, a group of thousands of crypto fans who raised more than $45 million in the span of a week to bid on a rare copy of the U.S. Constitution that was being auctioned by Sotheby’s. But since that group disbanded after losing the auction (and was mired in controversy as it sought to return money to investors), it’s probably not the best example.
A better example might be PleasrDAO, a group of dozens of crypto artists, entrepreneurs and investors that was formed to bid on works by high-profile digital artists. The group spent $5.4 million on an NFT affiliated with the whistleblower and activist Edward Snowden, and also bought the Wu-Tang Clan album “Once Upon a Time in Shaolin” for $4 million.
Once they were purchased, these works became the property of the DAO’s members, who can manage them as they see fit. They can vote to exhibit them somewhere, or break them into 1,000 NFTs and sell the pieces to the public, or simply keep them locked away in a physical or virtual vault. In a classic DAO model, all of these decisions would be made “on-chain,” through a system of token-based voting.
I get why people might want to pool their money to buy stuff. But why is a completely new, crypto-based governance structure necessary for that? Couldn’t they just use a normal crowdfunding site?
They could. And, in some cases, a DAO might be better off using a platform like Kickstarter, because using crypto to raise large amounts of money can result in users paying exorbitant transaction fees. When ConstitutionDAO raised $47 million, for example, its users paid roughly $1.2 million in fees to the Ethereum network.
Ouch. Are there any other drawbacks to DAOs?
Some DAOs have found that decentralized, blockchain-based governance is messier than it looks. The first-ever DAO, which was simply called The DAO, raised more than $150 million to build a kind of crowdfunded investment firm, then went up in flames amid a host of legal, governance and security problems. Similar issues have plagued other DAOs since then.
DAOs may also run into legal trouble if regulators decide that the tokens they issue are securities, thus requiring them to go through the same registration process as a company selling stocks or bonds. In 2017, the Securities and Exchange Commission found that DAO Tokens, the native token of The DAO, were in fact securities, and should have been subject to securities law.
The recent DAO boom has also raised eyebrows among regulators and law enforcement agencies, who are concerned that some DAOs may simply be fronts for fraud.
“In some cases, crypto investors and regulators say, the ventures amount to Ponzi schemes intended to do little more than bolster the value of the digital tokens they sell,” my colleagues Eric Lipton and Ephrat Livni wrote in a recent piece on some of the problems facing DAOs.
Even some crypto fans have argued that DAOs haven’t yet proved that they can do more than allocating cryptocurrency to crypto-related projects.
Grace Rebecca Rachmany, a DAO leadership consultant (yes, those exist), wrote in a 2020 article for the crypto news site CoinDesk that “DAO technologists have failed to create compelling technology for the problems that society is facing.”
Why would people choose to join a DAO, then?
Well, it’s all a bit new and unexplored. DAOs are still — to borrow a favorite phrase of crypto fans — in the dial-up phase, and proponents argue that better, more powerful examples will arrive in the next few years.
But if you ask believers, they’ll tell you that DAOs are capable of doing a few things better than traditionally run organizations:
• In theory, DAOs can be more transparent than traditional organizations, because the group’s important decisions get made “on-chain,” using governance tokens and votes that appear on the permanent blockchain ledger.
• In theory, DAOs can be more democratic than traditional organizations because every participant can vote on group decisions, not just boards or executives.
• In theory, DAOs can be more nimble and fast-moving than traditional companies, because they’re often project-specific and you can set them up and wind them down quickly, with significantly less red tape than forming a traditional start-up.
Why are you saying “in theory” so much?
Because there aren’t a lot of DAO success stories yet, and most of the benefits are still unproven. Some people are skeptical that DAOs can make more complex business decisions, while others think they amount to little more than thinly-veiled pyramid schemes.
Some DAOs, in fact, have allegedly been outright rug pulls — like AnubisDAO, a dog themed DeFi project whose creator is accused of stealing $60 million from investors.
In addition, leaderless corporate structures haven’t really worked outside of crypto, and most of today’s successful DAOs are what are known as “protocol DAOs” — meaning they’re designed to manage infrastructure-type projects for crypto itself. We don’t really know how the DAO model would work if applied to a regular, noncrypto business.
I’m not a blockchain engineer or a crypto investor. I’m just a normal person with a normal job, living a normal life. Why should I care about DAOs?
Right now, most people don’t encounter DAOs on a daily basis. But I’d argue that it’s important, in general, to know what kinds of problems technologists are trying to solve. And a lot of well-funded technologists are looking for ways to turn all kinds of organizations — including ones you might belong to or care deeply about — into DAOs.
Some people have even predicted that DAOs could become a force in politics, enabling a kind of loose, unregulated crypto PAC that could swarm campaigns and lobbying efforts with money and organizing support.
In its most basic form, a DAO is a new way for a group of people to aim a large amount of money and organizing energy at a project — whether it’s buying the Constitution, building a new social network, or influencing an election. That’s a big, transformative idea, and it would be wise to pay attention while it’s taking shape.
What are the most interesting uses of DAOs right now?
Crypto buffs are starting to experiment with “social DAOs,” which are a kind of community-owned social club that you have to pay (in the form of buying tokens) to join.
The best known social DAO is Friends With Benefits, which has thousands of members and recently raised $10 million from investors including the venture capital firm Andreessen Horowitz.
Friends With Benefits has been compared to a “decentralized Soho House,” and it works a bit like an online country club. Members have to buy a certain number of so-called $FWB tokens to get in. (Currently, a full membership costs 75 $FWB tokens, or about $4,000.) Once they’re in, they get invited to a Discord chat room where members chat about crypto, trade job leads and investing tips, and hold town halls to talk about the group’s future plans. The group hosts members-only parties at major crypto conferences, and members organize local meet-ups in their home cities.
Wait, I thought crypto was all about decentralizing power and leveling the playing field. An exclusive club that you have to pay $4,000 to join sounds like the opposite of that. What gives?
It’s a good question. And I posed it to Alex Zhang, one of the leaders of Friends With Benefits. He responded:
In most cases, and with FWB in particular, the token price was initially quite low, and it grew as the value of being a member — real or perceived — increased over time.It’s important, then, to remember that tokens are an asset, instead of the typical recurring fees you’d pay to belong to other kinds of social organizations. At any point in time, if necessary or desirable, someone can sell their tokens. Nevertheless, it will be important for DAOs to continue to create onboarding opportunities for people who can’t afford to acquire tokens. For instance, we pay FWB tokens to writers, curators, designers, event volunteers, and other roles that benefit our mission and allow these contributors to earn their way into having an ownership stake in the community.
So it sounds like DAOs can get messy and complicated, and some are outright scams, and even the ones that are doing something interesting might be expensive to join. So … what’s the good part? If DAOs are so useless, why are investors funding them, and why are people joining them?
As with any crypto project, DAOs have attracted people for all kinds of reasons: speculative gambling, trend-chasing and utopian true belief among them.
Among the more serious-minded DAO advocates, a common theme is collective ownership. Like believers in web3, DAO proponents believe that we need a radically different ownership model for the next phase of the internet. DAOs, they argue, could allow us to build a new set of organizations and platforms that are owned by their users, governed in fair and transparent ways, and native to the internet.
You could have, for example, a DAO-governed social network, where users could vote to take down certain types of inflammatory posts, or award tokens to people who posted lots of valuable or enlightening content. Or a DAO-ified version of Amazon Web Services that was run like a co-op, with members pitching in to build new features and keep the network humming.
Chris Dixon, a venture capitalist and crypto investor, recently argued that DAOs “can help course correct the internet back to its original, idealistic vision: power and money pushed to the edges, networks growing and flourishing together, a level playing field for talent anywhere in the world, a thriving creative middle class, and a generally diverse and interesting place.”
But, of course, it could also become an expensive, unruly mess, as DAOs confront the challenges involved in corralling any group of people toward a common goal, regardless of whether crypto is involved or not.
Go deeper:
“The Dao of DAOs” In this 2021 essay, Packy McCormick, a crypto investor, offers a lengthy analysis of DAOs and their potential future applications, from a pro-DAO perspective.
“Crypto Cities” A 2021 blog post in which Vitalik Buterin, the co-creator of Ethereum, sketches a vision of how DAOs could be used to govern entire cities.
“The Biggest Crowdfunding Project Ever — the DAO — Is Kind of a Mess” This 2016 Wired article about the collapse of The DAO, the original decentralized autonomous organization, is a cautionary tale about the pitfalls of decentralized governance.
Share full articleAdvertisementSKIP ADVERTISEMENTSite IndexSite Information Navigation© 2024 The New York Times CompanyNYTCoContact UsAccessibilityWork with usAdvertiseT Brand StudioYour Ad ChoicesPrivacy PolicyTerms of ServiceTerms of SaleSite MapCanadaInternationalHelpSubscriptionsManage Privacy Preferences
One More Step
One More Step
One More Step
Please complete the security check to access Kraken.com
Please turn JavaScript on and reload the page.Please enable Cookies and reload the page.
© 2011 - Payward, Inc.
一文解析 DAO 投资:DAOs 是对人类组织方式的未来的一种押注_腾讯新闻
一文解析 DAO 投资:DAOs 是对人类组织方式的未来的一种押注_腾讯新闻
一文解析 DAO 投资:DAOs 是对人类组织方式的未来的一种押注
撰文:Andrew Thurman
编辑:南风
DAOs 的去中心化属性及其对对充满活力的、忠诚的社区的依赖,可能会让那些只为利益而来的投资者失望。
越来越多的以太坊爱好者相信,DAOs (去中心化自治组织) 可能是工作、文化社区和人类组织的未来。因此,一些人认为,DAOs 将会像DeFi(去中心化金融) 和 NFTs (非同质化代币) 一样迎来主流突破。
从基本层面上说,该论点是说得通的。毕竟,DeFi 基于其「作为传统金融体系必然的继任者」的理念而起飞,NFTs 也因人们相信它们是数字一代的艺术世界而人气飙升。因此,将组织规则以透明的方式编程到区块链上的 DAOs,在其寻求取代传统中心化企业过时的等级结构时,应该也有机会吧,不是吗?
不幸的是,对这一趋势的押注并不像押注一些 Tokens 那么简单。
在上周举办的一场以 DAO 为主题的 MCON 2021 会议上,由会议的组织者亲自挑选的 300 多名与会者齐聚Denver (美国丹佛市)一家庞大的啤酒厂,讨论 DAOs 的未来。以太坊社区是一个真诚地相信自己有能力构建智能合约解决方案来解决世界上许多问题的群体,即使以以太坊社区有时过于乐观的标准来看,DAOs 的前景也是乐观的,人们的情绪也是高涨的。
Yearn Finance 的核心贡献者Tracheopteryx表示,“如果你看一下 DeFi,就会发现它是对金融未来的一种押注;NFTs 可能是对艺术、房地产或者任何类型的财产的押注——它是对财产的未来进行押注。但是DAOs 是对人类组织方式的未来进行押注,这是一件更大的事情。”
然而,就局外人而言,DAOs 几乎不被理解。当涉及 DeFi 和 NFTs 时,主流媒体、金融专家和监管机构偶尔会有一些理解,但 DAOs 在很大程度上对于他们仍然是一个陌生概念——区块链新手最熟悉的可能是臭名昭著的“The DAO”攻击事件,The DAO 是一个早期的 DAO 投资实验,在 2016 年由于被黑客攻击而失败。
今天,对于 DAO 到底是什么,甚至还有一些定义上的争论。这个首字母缩略词通常是指通过一些链上规则来管理一个组织机构以及(偶尔但不一定)一个附属的资金池。
Ameen Soleimani 是早期 DAO 的先驱和 SpankChain 的创始人,他开玩笑地把 DAO 称为“美化的预算委员会”或“使用一个联合银行账户的群聊”。
Tracheopteryx 坦诚道:“我们甚至不知道‘DAO’是什么意思,因此有很多相互竞争的定义。我们了解 DAO 的每个部分,但我们仍在将所有这些部分拼凑在一起。”
然而,尽管存在这些松散的词法规则,但近年来,DAOs 在技术和开发方面的进步可以说比任何其他的区块链领域都要大:许多 DeFi 和 NFT 项目都是以 DAO 的方式来治理;在当前大约2 万亿美元的加密货币总市值中,有很大一部分价值是由 DAOs 管理的;得益于 Colony、Aragon和 Coordinape 等组织的努力,DAOs 相关的工具和功能都有了重大的升级;Opolis 是一个针对独立工作者的福利和工资合作社,该平台甚至可以帮助全职的 DAO 工作者获得医疗保健。
从中期到长期来看,DAOs 提出的愿景可能吸引任何投资者。
Tracheopteryx 解释道:“想象一下,当荷兰东印度公司成立时,如果那时你能够押注 (投资) 于公司的概念,想象一下在那个时候,这个领域能够在我们星球上发展得多么大。而 DAOs 是公司、组织的未来……这是一个大得多的市场。”
然而,正如许多专家所说那样,押注于 DAOs 的未来是一个非常棘手的命题。
DAO 基础设施
几个月来,DAO 的支持者们一直在宣传 DAOs 是 NFTs 之后将要崛起的“下一个”资产类别。
以 DAO 的形式运行的捐款组织 Gitcoin 的创始人Kevin Owocki表示:“我确实看到了很多我们之前从未见过的对 DAOs 的兴趣和热情。我认为 DAOs 是对资本和文化的协调。我很期待 DAOs 将如何发展。”
Kevin 继续说道:
“如果我们成功了,MetaFactory 将颠覆 Shopify;如果我们成功了,Friends With Benefits 将颠覆 Y Combinator;如果我们成功了,Gitcoin 将颠覆 LinkedIn。这是文化的翻腾,成千上万的 DAOs 实验正在蓬勃发展,只有 10 个会成功,但成功的 DAOs 将是庞大的。”
然而,挑选这些赢家是一项冒险的工作,而瞄准那些为 DAOs 提供基础设施的实体可能是增加胜算率的做法。
比如,SpankChain 创始人 Ameen Soleimani 指出,诸如RaidGuild和DAOHaus等 DAO 工具制造商,以及投票平台Tally等等,都是可供选择的选项。
然而,对于寻求在该领域部署大量资金的投资者而言,事情可能并不一帆风顺,因为并非所有上述这些项目都有可投资的 Tokens。
此外,Soleimani 警告称,DAO 基础设施投资的上行空间可能也有限。他表示:“奇怪的是,这些 (基础设施) 项目本身的表现可能不如某些 DAOs。”
他将这种现象与直接投资 NFTs 还是购买 NFT 平台代币 (比如 Rarible 的 RARI) 之间的选择进行比较。虽然 NFTs 在几周内就能获得数倍的回报,但在撰写本文时,RARI 在 30 天内下跌了 52%。
Opolis 的执行董事 Bill Warren 表示,大牌投资者可以采用的一个途径是采取“群体智慧”的方式——“资助基金”,即投资于积极管理投资组合的 DAOs。他说道:
“他们会把钱投给 MetaCartel Ventures 这样的投资 DAOs,并表示‘我们意识到,这群人比 12 个斯坦福大学毕业生更擅长挑选赢家。’”
然而,如果仅从投资的角度看待 DAOs,则会忽略一些事情。Warren 警告说:
“我不认为 DAOs 是传统意义上的资产类别。DAOs 是社区,而社区拥有资产——其中一些资产具有现实世界的价值,因为你可以把它们卖很多钱,而一些社区具有良好的、感觉更模糊的价值,因为它们将你与其他人联系在一起。”
他以 MetaCartel 为例,这个分配赠款的 DAO 组织的成立有着明显的捐赠意图。Warren 表示,随着时间的推移,MetaCartel 已经成为他最亲近的 DAOs 之一,因为随着其资金的减少,该社区变得更强大了。
文化冲突
除了 DAO 相关的技术进步,会议上的小组成员还讨论了 DAOs 的社会层。多位专家表示,完全出于利益动机的投资者可能并不理解谁将加入 DAOs 以及加入之后能够获得的益处,因此他们可能无法完全理解 DAOs。
Gitcoin 创始人 KevinOwocki 说道:“有一群 Z 世代的人觉得晚期资本主义很糟糕。我们接手的经济中,气候变化是一个大问题,错误信息是一个大问题,我们不信任我们的制度,我们有我们正在创造的新文化,该文化是围绕我们这一代人的需求、价值观和思想建立的。”
他继续说道:
“如果不了解以太坊的文化,你就无法理解它的技术,所以可能会有一群风投 (VCs) 正在委派一些低水平的分析师来学习以太坊的文化,但在很多方面,他们与以太坊文化是不兼容的。”
在会议期间,这种不兼容的情况得到了充分的展示。比如,一位投资者抛出了“最小可行社区”(minimum viable community) 这一说法,这是一种奇怪的语言混搭,将分析型投资者的语言应用到难以形容的人类组织上。使 DAOs 可行的许多指标,包括社区的热情、模因 (Meme) 的力量等等,有着根本不可测量性,这使得经典的投资分析形式变得毫无意义。
到目前为止,参与 DAOs 的主要基金的业绩好坏参半。
有些公司,如 ParaFi 和 Delphi,积极参与 DAO 的工程工作,并对由 DAO 治理的 DeFi 协议提出治理提案。同样,投资巨头 Andreessen Horowitz (a16z) 最近为其 DeFi 投资启动了一个代币委托计划(即将 a16z 在其投资的一些 DeFi 协议 (包括Uniswap、Compound等) 的代币投票权委托给第三方),但 a16z 的这一计划是在 Uniswap 治理论坛上出现两个有争议的 DAO 提案之后。
一位不愿透露姓名的天使投资人,将这种现象比作是塔利班在美国从阿富汗撤军后发现了美国的黑鹰 (Blackhawk) 直升机;假设这些可能是非常强大的工具,但风投们首先必须学会如何使用它们。
“这里面存在摩擦,因为每当你试图控制去中心化的东西时,你要么会破坏你试图控制的社区,要么就无法从他们那里得到你原本想要的东西,”Opolis 的执行董事 Bill Warren 说道。他补充道:
“我认为最终风投们会非常失望。我觉得一个风投想要投资像 DAOHaus 这样的平台,这会让他们崩溃的。这个东西是完全开源的,且从传统意义的角度来看,其唯一的竞争优势是社区,也即人们相信它,感觉自己拥有它。但如果突然之间,它的 50% 的代币被某一个实体拥有,那么这种优势就会消失。”
这种摩擦的一部分也来自这样一个事实,即如果成功的话,DAOs 将取代风险投资公司。这就好比 Web2 组织正在试图投资于可能注定将杀死它们的 Web3 继任者。
超级周期的循环
DAOs 可能不会迎来重大资本转动的另一个原因是,从许多指标来看,DAO 的超级周期已经开始了——只是可能不会出现在 CoinGecko 的排名上。
许多早期的 DAO 参与者,包括经历了早期实验的MolochDAO“召唤者”和 MetaCartel 捐赠者,目前正在蓬勃发展,并同样催生了整个项目的家族树。
SpankChain 创始人 Ameen Soleimani说道:“很多经历了这一过程的人曾处于这场浪潮的顶端,他们能够继续搭建一些致力于其他事情的社区。以Joseph Delong为例,他曾是 ConsenSys 的一名 Eth 2.0 开发人员,他自愿决定加入 Moloch DAO,拿出自己的 100ETH来资助 Eth 2.0 的开发——那是他自己的东西。现在他是领导层的一员。”
Joseph Delong 目前是 DeFi 平台Sushiswap的首席技术官,这一职位赋予了他重要的社区影响力。
同样,Soleimani谈到了Cooper Turley(@Cooopahtroopa),Moloch DAO 曾出钱让 Cooper写一篇年终博客。现如今,Cooper 已经成为了Fire Eyes 和 Friends With Benefits 等 DAO 组织的关键人物。
这是一种不寻常的投资形式,甚至更接近于建立人脉——将财务和社交资本借给某个 DAO 组织,然后再通过从中产生的机会来获得回报。
这些机会反过来也扩大了 DAO 生态系统。Warren 和 Soleimani 都指出,DAO 成员通常会继续组建新的组织,这些组织可能有不同的使命、目的和需求——这些需求将推动对 DAO 基础设施的新投资。
简言之,想要被动配置资金的投资者最终将无法抓住这一趋势;只有身在其中的人才能感知到变化和周期。
“贡献挖矿”
最终,尽管可供投资的工具和平台数量不多 (虽然其数量在不断增加),但与 CoinDesk 交谈的每一位专家都认为,从这一新兴垂直领域创造价值的最佳方式是积极参与,也就是所谓的“贡献挖矿”(contribution mining)。
Warren开玩笑说:“如果风投们试图在没有加入任何 DAO 的情况下投资于 DAOs,那将是一种愚蠢的做法。”
有许多关于如何加入某个 DAO的指南,但Tracheopteryx表示,这个过程并不像与一个 DeFi 合约互动那么复杂——投资者只需要找到他们喜欢的营地,然后砍柴或挑水。
Tracheopteryx 说道:“答案其实很简单,‘你对什么感兴趣?你的信仰是什么?谁与你有共同的价值观?这个 DAO 里面有没有与你志同道合的人?’只要加入其 Discord,找到开始做贡献的方式就行了。”
毕竟,革命不一定需要投资,它们需要脚踏实地——而且,正如索莱Soleimani所说,这种彻底改革人类组织结构方式的机会与经济回报一样令人兴奋:
“我相信开发者们会想出办法。我们才刚刚开始。我们刚刚展示了 DAO 的能力。它已经可以在某些方面做得更好,我们只需要证明它可以在其他方面做得更好。在这个设计空间中存在着无限的机会,我们可以创造出比现有结构更有意义的结构。”
无论某个特定的 DAO 组织的未来看起来多么美好,如果你希望从中受益,就需要参与其中。