imtoken钱包2022最新版|iota

作者: imtoken钱包2022最新版
2024-03-07 19:21:12

Home | IOTA

Home | IOTA

Get Started

Quick Start

For Developers

For Enterprise

For Financial Investors

IOTA Basics

What is IOTA

The IOTA Token

Buying IOTA

Securing IOTA

Institutional Acquisition

IOTA Technologies

Discover

Firefly Wallet

Explore

Roadmap

Explore

Solutions

Industries

Industry Overview

Global Trade & Supply Chains

Customs & Border Management

Digital identity

Industrial IoT

eHealth

Our Products

IOTA Technologies

Firefly Wallet

Roadmap

Partner

Partnerships

EBSI

Secure Digital Infrastructure

Get Started

Auditing and SSI Tools

Our Projects

Lighthouse

IOTA Technologies

Discover

Firefly Wallet

Explore

Roadmap

Explore

Develop

For Developers

Quick Start

Documentation

For Enterprises

Quick Start

Deployment Options

Ecosystem

Get involved

IOTA Technologies

Discover

Firefly Wallet

Explore

Roadmap

Explore

Foundation

The IOTA Foundation

Vision & Mission

Core Values

Our Team

Careers

Social Impact

Social Impact

Regulatory Affairs

Diversity Initiative

Research

Research Department

Our Research

Research Council

Researcher Profiles

Research Papers

Grants

Roadmap

Coordicide

IOTA Technologies

Discover

Firefly Wallet

Explore

Roadmap

Explore

Connect

General enquiries

Contact us

Discord community

Press

IOTA Press Releases

News Coverage

Media Assets

Media Library

Videos

Brand & Graphics

IOTA Technologies

Discover

Firefly Wallet

Explore

Roadmap

Explore

Ecosystem

Blog

Wallet

Wiki

Coordicide

Tangle Explorer

Roadmap

IOTA Merch (Partner)

Asset Library

Governance and Research

Explore IOTA

Blog

Wallet

Wiki

Coordicide

Tangle Explorer

Roadmap

IOTA Merch (Partner)

Asset Library

Governance and Research

Your browser does not support video on HTML.

Your browser does not support video on HTML.

Digital

Autonomy

IOTA provides the technology for anyone and anything to securely navigate a digitized world

Securing

Data

IOTA protects the integrity and verifiability of data

announcements

START BUILDING

IOTA & Shimmer Wiki

Learn everything you need to know to build apps capable of taking millions of users on journeys they’ve never been on before.

Introducing

An Open, Feeless Data and Value Transfer Protocol

IOTA has fundamentally reengineered distributed ledger technology, enabling secure exchange of both value and data, without any fees.

learn about iota

Your browser does not support video on HTML.

Your browser does not support video on HTML.

Your browser does not support video on HTML.

Social Impact

Social Impact

Visit page

Global Trade

Global Trade

Visit page

Digital Identity

Digital Identity

Visit page

Sustainability

Harnessing the power of IoT to manage natural resources more sustainably.

Identity

Bringing digital identity beyond borders to all people.

Citizen-Centric Governance

Enabling more transparent and inclusive public services.

Track & Trace

Share status throughout the supply chain with provenance data from the source.

Customs & Border Management

Upgrade trade certificates for international exchange.

Digital Twins

Turn any product, pallet, container or consignment into a digital twin.

Self Sovereign Identity

A borderless digital identity can be verified by anyone.

Identity Of Things

Identities allow devices to prove their specifications and authenticity.

Regulatory Compliance

Digital identities that meet data privacy regulations like GDPR.

Industries

IOTA enables new possibilities

Explore more

Introducing

IOTA Lightpaper

Increasingly, companies and startups are integrating distributed ledger technology (DLT) into their business. The IOTA Lightpaper for Business provides beginners with an overview of this groundbreaking technology and the benefits it delivers to business, as well as several inspiring use cases. Download the IOTA Lightpaper for Business for free and learn how DLT enables new business models and cutting-edge innovation – and how you could use it:

Download

Get Started

Community

Explore

Connect with like-minded people in the communityDownload the walletBuy IOTABuild with usJoin the community

start engaging

Developer

Develop

Start building innovative solutions with IOTA Read our documentationExplore the roadmapExplore the code librariesLearn with tutorials

start developing

Enterprise

Solutions

Discover new applications and business models IOTA technologiesExplore industriesPartner with us

start innovating

view our products

explore

IOTA Foundation

Learn about the deep expertise that drives the IOTA Foundation

View all departments

Engineering

Learn about IOTA's cutting-edge technologies and products.

Learn more

Market Adoption

Explore the exciting and novel use cases enabled by IOTA.

Learn more

Social Policy

Learn about how we are tackling societal challenges and informing global policy.

Learn more

Research

Discover more about our world-class team and their research.

Learn more

PR & Communication

The PR and Comms department work with media and beyond. Speak to us for press enquiries.

Learn more

IOTA Provides Digital Trust, Enabling Us to Build a Better World

Registered Address

IOTA Foundation

Pappelallee 78/79

10437 Berlin

Germany

© 2023 IOTA Foundation -

Privacy Policy

Impressum

Trademark Policy

Terms of Use

Cookie Policy

Get in touch:

Contact Us

Board of Directors:

Dominik Schiener and Navin Ramachandran

ID/Company No.:

3416/1234/2

EU public ID number in the EU Transparency Register:

500027331119-04

VAT ID:

DE329624902

Youtube

GitHub

Discord

Twitter

Reddit

Linkedin

Instagram

CoinMarketCap

【C++】之 iota() 函数与 atoi() 函数详解_c++ iota-CSDN博客

>

【C++】之 iota() 函数与 atoi() 函数详解_c++ iota-CSDN博客

【C++】之 iota() 函数与 atoi() 函数详解

最新推荐文章于 2024-03-06 23:36:54 发布

Amelie_xiao

最新推荐文章于 2024-03-06 23:36:54 发布

阅读量8.1k

收藏

19

点赞数

14

文章标签:

c++

原文链接:https://blog.csdn.net/lixiaogang_theanswer/article/details/72588105

版权

参考:

https://blog.csdn.net/lixiaogang_theanswer/article/details/72588105http://c.biancheng.net/view/681.html

1. iota() 函数

C++中 iota() 是用来批量递增赋值vector的元素的。 示例:

#include

#include //iota头文件

using namespace std;

void func()

{

vector v(10);

iota(v.begin(),v.end(),1);

vector::iterator it = v.begin();

while(it != v.end())

{

cout<<*it++<<" ";

}

}

结果:

1 2 3 4 5 6 7 8 9 10

定义在 numeric 头文件中的 iota() 函数模板会用连续的 T 类型值填充序列。前两个参数是定义序列的正向迭代器,第三个参数是初始的 T 值。第三个指定的值会被保存到序列的第一个元素中。保存在第一个元素后的值是通过对前面的值运用自增运算符得到的。当然,这意味着 T 类型必须支持 operator++()。下面展示了如何生成一个有连续的浮点值元素的 vector 容器:

std::vector data(9);

double initial {-4};

std::iota (std::begin (data) , std::end (data) , initial);

std::copy(std::begin(data), std::end(data),std::ostream_iterator{std::cout<< std::fixed << std::setprecision(1), " "});

std::cout << std::endl;

// -4.0 -3.0 -2.0 -1.0 0.0 1.0 2.0 3.0 4.0

以 -4 为初始值调用 iota() 会将 data 中元素的值设为从 -4 到 +4 的连续值。

当然,初始值并不需要一定是整数:

std::iota(std::begin(data), std::end(data), -2.5);

// Values are -2.5 -1.5 -0.5 0.5 1.5 2.5 3.5 4.5 5.5

增量是 1,因此 data 中的值和注释显示的一样。

可以将 iota() 算法应用到任意类型的序列上,只要它有自增运算符。下面是另一个示例:

string text {"This is text"};

std::iota(std::begin(text), std::end(text), 'K');

std::cout << text << std::endl;

// Outputs: KLMNOPQRSTUV

很容易看到输出如注释所示,字符串中的字符被设为以 K 开头的字符序列。这个示例发生了什么并不是那么明显:

std::vector words (8);

std::iota(std::begin(words), std::end(words), "mysterious");

std::copy(std::begin(words), std::end(words),std::ostream_iterator{std::cout, " "});

std::cout << std::endl;

// mysterious ysterious sterious terious erious rious ious ous

输出如注释所示。这是该算法的一个有趣应用,但没有什么用处。这只适用于第三个参数是一个字符串常量的情形。如果参数是 string{“mysterious”},将无法通过编译,因为没有为 string 类定义 operator++()。字符串常量对应的值是一个 const char* 类型的指针,可以将 ++ 运算符应用到它上面。因此对于 words 中第一个元素后的每个元素,指针的递增会导致字符串常量前面的字母被丢弃。将 ++ 应用到指针的结果是生成一个 string 对象,然后它会被保存到当前的元素序列中。

只要 ++ 可以应用到序列中的元素类型上,就能将 iota() 算法应用到序列上。注意:很有趣的是,iota() 算法来源于 IBM 的编程语言 APL 中的 iota 运算符 ι。在 APL 中,表达式 ι10 会生成从 1 到 10 的整数的 vector。APL 是肯•艾弗森在 20 世纪 60 年代发明的。它是一门相当筒洁的语言,能够隐式处理 vector 和数组。APL 的一个完整程序会从键盘读取任意个值,计算出它们的平均值,然后输出被表示为 10 个字符结果。

2. atoi() 函数

atoi() 函数的功能是将字符串转换成整数(int)。这两个函数名字很相似,容易混淆,注意区分;一个在用在c++的STL中,一个是用在c中。

#include

int atoi(const char *str);

功能:atoi() 会扫描str字符串,跳过前面的空格字符,直到遇到数字或正负号才开始做转换,而遇到非数字或字符串结束符(’\0’)才结束转换,并将结果返回返回值。参数: str:待转换的字符串 【返回值】返回转换后的整型数;如果 str 不能转换成 int 或者 str 为空字符串,那么将返回 0示例:

void func()

{

char str1[] = "-10";

int num1 = atoi(str1);

printf("num1 = %d\n", num1);

}

//结果:

num1 = -10

而 char str1[] = "abc-1100def";结果是: num1 = 0

优惠劵

Amelie_xiao

关注

关注

14

点赞

19

收藏

觉得还不错?

一键收藏

知道了

0

评论

【C++】之 iota() 函数与 atoi() 函数详解

参考:https://blog.csdn.net/lixiaogang_theanswer/article/details/72588105http://c.biancheng.net/view/681.html1. iota() 函数C++中 iota() 是用来批量递增赋值vector的元素的。示例:#include <iostream>#include <numeric> //iota头文件using namespace std;void f.

复制链接

扫一扫

参与评论

您还未登录,请先

登录

后发表或查看评论

IOTA滤波器

09-20

自己做的滤波器设计,参数里面已经给出。其中抽头数为256/512,可根据自己需要更改

C/C++:iota()函数

weixin_43793960的博客

05-13

1536

iota() 函数

定义在 头文件numeric 中

#include

函数模板:

template

void iota (ForwardIterator first, ForwardIterator last, T val);

前两个参数是定义序列的正向迭代器,保存序列初始以及结尾的位置 [first, last)

第三个参数是累加器的初始 T 值。

函数模板内的具体操作:

template

C++11标准模板(STL)- 算法 - 数值运算(std::iota)

qq_40788199的博客

12-24

1576

用从起始值开始连续递增的值填充一个范围。

以始于 value 并重复地求值 ++value 的顺序递增值填充范围 [first, last) 。

ofdm-pulse shaping.rar_ICI_TFL_baseballfry_ofdm iota_模糊函数OFDM

07-14

从抗ISI和ICI的角度来讲,总是希望能量集中在时频格点附近,而扩散到其他格点的能量越小越好,TFL正是描述这一特性的最直接的方法,从滤波器的角度看,TFL特性描述两个滤波器之间的相关性,描述TFL特性的方法包括TFL函数和TFL参数两大类,TFL函数又包含瞬时相关函数、模糊函数和干扰函数,而TFL参数包括Heisenberg参数和方向参数。

本代码使用matlab仿真常见的高斯、IOTA和HSIN等滤波器,与矩形滤波器进行对比与分析。

【C++11算法】iota算法

m0_62599305的博客

08-18

2843

C++标准库提供了丰富的算法,其中之一就是iota算法。iota算法用于填充一个区间,以递增的方式给每个元素赋予一个值。这篇文章将为您介绍iota算法的概念、函数原型、参数和返回值,并提供多个示例代码帮助您更好地理解该算法的用法。iota算法是C++标准库提供的一个用于填充区间的简单而实用的函数。它以递增的方式为区间中的元素赋值,根据起始值和区间的长度生成后续的值。通过多个示例代码,我们演示了如何使用iota算法填充不同类型的容器。希望本文能帮助您更好地理解和应用iota算法。

C++ iota()函数

热门推荐

小飞将的博客

07-04

3万+

iota函数对一个范围数据进行赋值:

template

void iota (ForwardIterator first, ForwardIterator last, T val)

{

while (first!=last) {

*first = val;

++first;

++val;

...

【C++基础编程】#024 iota()函数用法简介

杨小浩浩的博客

06-09

1656

文章目录背景函数定义使用方法1. 对于数组2. 对于vector容器参考资料

背景

在使用数组时,有时需要递增地给数组中每个元素赋值。

此时使用iota()函数就十分方便。

名称来源:

itoa 是 希腊语的第九个字母,读[aɪ’otə]

这个名称是从APL编程语言借鉴过来的。

函数定义

对起点first到终点last的整数(均为指针类型)进行递增+1的赋值。

template

void iota (ForwardItera

C++ iota()函数实践

YMWM_的博客

12-14

899

C++ iota()函数实践

C++iota()函数

Liyolo007的博客

11-01

316

c++11新增的函数,向指定容器范围填充一连串增值序列。用它通过指定一个起始值,并根据区间的长度递增生成后续的值。它有助于快速生成递增的序列。本质上就是按序访问迭代器,同时value++的写法。C++标准程序库的算法需要导入头文件一些数值类算法函数需要导入和last是迭代器,表示要填充的区间的起始位置和结束位置。value是起始值,该值将根据区间的长度逐步增加。无返回值。

iota-mam-example:IOTA MAM示例

05-11

iota-mam-example

访问我的帖子: :

IOTA-Pastebin:IOTA Pastebin

04-29

IOTA-巴斯德宾

IOTA-Pastebin分散式文本内容存储服务。 POC应用程序示例,展示了如何在缠结中发布,可视化和共享数据。

包括一个URL缩短器,可轻松共享您的代码段并针对多种语言突出显示语法。

入门

git clone && cd IOTA-Pastebin && npm我

先决条件

npm

nodejs

在线版本

作者

ollibertinho-缠结军队

捐款

VBKJFRMAYUWKOFYF9IVQZGWGTOVAMJMYUMETNIWOES9EDPQPBUBWPRYBXI9EPAYDKIKUWKUXCJQLFPP99JUTAAIJAW

iri:IOTA参考实现

02-26

在IOTA Mainnet和Devnet上运行的官方节点软件

◈◈◈◈API◈◈

注意

目前不赞成使用该项目,而建议使用 。 鼓励用户迁移。 为了将您现有的数据库迁移到HORNET,请遵循。

关于

IRI(IOTA参考实现)是在IOTA Mainnet和Devnet上运行的开源Java软件。 该软件定义了当前的IOTA协议,该协议允许节点执行以下操作:

验证交易

将有效交易存储在分类帐中

允许客户端通过HTTP API与它们进行交互

这是Beta版软件,因此可能存在性能和稳定性问题。 请在我们的报告所有问题。

先决条件

要运行IRI,您需要满足以下条件:

4GB内存

64位处理器

静态或连接到动态DNS服务(例如公共IP地址

端口15600和14265必须打开

安装

您可以执行以下操作之一:

下载预构建的Java文件

自己编译Java文件

或者,如果您使用Docker,则可以

下载

iota-address-balance

05-29

iota-地址-平衡

一个显示每个地址的iota余额的应用

开始

只需从发行版中下载即可。

您只需在文本框中输入地址即可查看余额。

从源头

首先克隆这个 repo。

git clone https://github.com/peshogo/iota-address-balance.git

安装依赖项并构建它的开发版本。

npm install

npm run dev

# OR

# yarn

# yarn dev

该项目是通过使用 @ 生成的。 可以在找到有关原始结构的文档。

Go语言关键词和预声明常量、类别、函数

01-20

Go语言有25个关键词。它们只能在语法允许的场合使用,不能被用户自定义的变量...另外与Python类似,Go也有三类预声明的名字,可以被用户自定义的变量名、函数名覆盖。它们如下所示。 预声明常量: true false iota

iota-database-tutorial:将IOTA Tangle用作数据库之类的存储机制

05-18

IOTA数据库教程该存储库中的代码是对以下文章的补充 本教程旨在作为NodeJS上的命令行工具运行,没有UI。安装npm install建造该代码是用TypeScript编写的,因此您必须构建该代码。 如果您更熟悉纯JavaScript,则...

iota-wiki:物联网维基

08-03

物联网维基您需要在一个地方了解有关 IOTA 的所有信息。 ·。 目录 菜单结构 - 正在创建内容 - 寻求您的帮助! 请随时为任何可用页面做出贡献。 这是目前的进展状态: 在此表中,所有当前菜单页面都标有当前进度状态...

C++复习笔记——泛型编程模板

heitong_fu的博客

03-06

624

函数模板利用关键字 template使用函数模板有两种方式:自动类型推导、显示指定类型int a = 10;int b = 20;//利用模板实现交换//1、自动类型推导//2、显示指定类型mySwapint(a, b);模板的目的是为了提高复用性,将类型参数化使用模板时必须确定出通用数据类型T,并且能够推导出一致的类型函数模板在自动推导时不可以进行隐式类型转换//利用模板提供通用的交换函数T temp = a;a = b;b = temp;

2022 年 9 月青少年软编等考 C 语言一级真题解析

最新发布

学习过程的记录与分享。

03-06

496

2022 年 9 月青少年软编等考 C 语言一级真题解析。

c++训练CNNmnist手写数字识别的函数

05-21

以下是使用C++训练CNN进行MNIST手写数字识别的函数:

```c++

void train() {

// 加载MNIST数据集

std::vector> train_images, test_images;

std::vector train_labels, test_labels;

load_mnist(train_images, train_labels, test_images, test_labels);

// 初始化CNN模型

int input_size = 28;

int output_size = 10;

int num_filters = 16;

double learning_rate = 0.1;

int num_epochs = 10;

int batch_size = 10;

ConvolutionalNeuralNetwork cnn(input_size, output_size, num_filters, learning_rate);

// 训练CNN模型

for (int epoch = 0; epoch < num_epochs; epoch++) {

double loss = 0.0;

std::vector indices(train_images.size());

std::iota(indices.begin(), indices.end(), 0);

std::shuffle(indices.begin(), indices.end(), rng);

for (int batch_start = 0; batch_start < indices.size(); batch_start += batch_size) {

int batch_end = std::min(batch_start + batch_size, (int)indices.size());

std::vector> batch_images(batch_end - batch_start, std::vector(input_size * input_size));

std::vector batch_labels(batch_end - batch_start);

for (int i = batch_start; i < batch_end; i++) {

batch_images[i - batch_start] = train_images[indices[i]];

batch_labels[i - batch_start] = train_labels[indices[i]];

}

loss += cnn.train(batch_images, batch_labels);

}

double accuracy = cnn.test(test_images, test_labels);

std::cout << "Epoch " << epoch + 1 << " loss: " << loss / train_images.size() << " accuracy: " << accuracy << std::endl;

}

}

```

该函数使用了一个名为 ConvolutionalNeuralNetwork 的自定义 CNN 类,使用了MNIST数据集进行训练,并在每个 epoch 结束时输出损失和准确率。你需要自己实现该类并确保其能够正确地训练和测试 MNIST 数据集。

“相关推荐”对你有帮助么?

非常没帮助

没帮助

一般

有帮助

非常有帮助

提交

Amelie_xiao

CSDN认证博客专家

CSDN认证企业博客

码龄5年

暂无认证

67

原创

16万+

周排名

215万+

总排名

84万+

访问

等级

4918

积分

396

粉丝

1353

获赞

234

评论

6914

收藏

私信

关注

热门文章

匈牙利算法详解

77659

【C++11】 之 std::unique_ptr 详解

75699

【Numpy】中np.random.uniform()函数用法

36392

Intel RealSense D435i 深度相机介绍

34929

广度优先搜索算法(BFS)详解

33454

最新评论

三维特征描述子:PFH、FPFH、VFH、PPF

无问吉凶,但思善恶:

大佬,有没有不调用库实现FPFH的C++代码呀

三维特征描述子:PFH、FPFH、VFH、PPF

Feliz Da Vida:

open3D好像没有VFH的实现

凸包(Convex Hull)问题算法详解

flowing_moon:

圆是凸集,是它自身的凸包

【ROS】回调的多线程问题

miraclegater:

大佬,点赞了,很受用,还想问一下这个全局回调函数队列是不是对于一个节点而言的,对于多个节点的话,自动就是有多线程吗?

【C++】const与constexpr详解

C is My Best Friend:

constexpr函数的第一条是不对的,可能是C++标准更新了?比如,以下代码在constexpr函数中使用了循环,仍然可以编译。

#include

constexpr int sum(int n) {

int result = 0;

while (n > 0) {

result += n;

n--;

}

return result;

}

int main() {

std::cout << sum(10) << std::endl;

return 0;

}

您愿意向朋友推荐“博客详情页”吗?

强烈不推荐

不推荐

一般般

推荐

强烈推荐

提交

最新文章

【C++】Boost::circular_buffer——循环缓冲区

【C++】explicit 用法

【C++】ROS与boost:bind()详解

2023年3篇

2022年39篇

2021年63篇

2020年71篇

目录

目录

最新文章

【C++】Boost::circular_buffer——循环缓冲区

【C++】explicit 用法

【C++】ROS与boost:bind()详解

2023年3篇

2022年39篇

2021年63篇

2020年71篇

目录

评论

被折叠的  条评论

为什么被折叠?

到【灌水乐园】发言

查看更多评论

添加红包

祝福语

请填写红包祝福语或标题

红包数量

红包个数最小为10个

红包总金额

红包金额最低5元

余额支付

当前余额3.43元

前往充值 >

需支付:10.00元

取消

确定

下一步

知道了

成就一亿技术人!

领取后你会自动成为博主和红包主的粉丝

规则

hope_wisdom 发出的红包

实付元

使用余额支付

点击重新获取

扫码支付

钱包余额

0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

初识IOTA,第三代区块链公共账本 - 知乎

初识IOTA,第三代区块链公共账本 - 知乎切换模式写文章登录/注册初识IOTA,第三代区块链公共账本Eddy什么是IOTA? IOTA 是为物联网 (Internet-of-Things (IoT) ) 行业设计的一种加密货币。IOTA是第三代公共分布式账本,与传统的公共区块链技术不同,严格来说它不应该被叫作"区块链",应该被叫作"区块网",它并不是用链式的结构来构建Ledger,IOTA用来存储交易的"块"叫作"Tangle",Tangle的本质是计算机中的有向非循环图DAG (Directed Acyclic Graph)。IOTA的历史IOTA项目是由David Sønstebø, Sergey Ivancheglo等人于2015年创立,ICO时他们众筹到1337个比特币用于项目开发。在2017年的时候,包括微软、大众、三星等超过三十家企业机构参与到IOTA项目中。同年12月底,IOTA入选东京城市圈政府加速器项目。在此期间IOTA团队创建了IOTA基金会。 IOTA基金会总部位于德国柏林,是一个非盈利性组织,致力于加速构建可持续的开源的IOTA生态系统。IOTA有哪些特点?IOTA主要专注于物联网,但是IOTA采用的技术使它同样很适合于金融支付。IOTA具有以下特点:1.高可扩展性因为采用Tangle来存储和验证交易,每个Tangle总会指向并验证过去的2个Tangles,每个节点既是交易的创建者也是交易的验证者。所以当交易量增加,整个网络的交易验证处理能力也会随之增加。在2017年4月的压力测试中,在250个节点的小网络中,IOTA取得每秒112笔交易确认的成绩。 2.更加去中心化IOTA没有矿工 (Miners),所有的IOTA都被提前开采并卖给了参与众筹的用户和投资机构,目前官方的IOTA交易所还在开发中,想获得IOTA可以通过其他虚拟货币交易所购入。在IOTA系统规定里每个交易的创建者同时也是以前交易的验证者,提交交易的前提是你必须去验证另外两个未被确认的交易,所以根据这种设计每个节点都积极地参与共识机制中。这与比特币的现状有很大不同,从下图中我们可以看出,目前比特币的大部分算力集中在少数矿池手上。3.无交易手续费IOTA没有手续费,当你向一个地址发送1枚IOTA时不会被收取任何交易费用,这意味着IOTA可以被用于大量的小额支付。像比特币和其他有手续费的加密货币系统,如果手续费已经大于交易金额本身,那么这样的小额支付将变得没有任何意义。4.防量子计算破解 虽然量子计算还出于非常早期的阶段,但已经有人开始担心量子计算对于计算能力的提升会对当前常用的RSA,ECDSA (Elliptic Curve Digital Signature Algorithm, 比特币采用的非对称加密算法) 等加密算法的安全性构成非常大的威胁。有人预测量子计算会在未来20年到50年的时间到来,并且能够打破当前的非对称加密算法。因此,密码学家们开发出了几种基于哈希的量子防护 (quantum-resistant) 的One Time Signatures (OTS)加密算法,IOTA采用的Winternitz One-Time Signature Scheme就是其中一种,可以防量子计算破解。再谈Tangle作为IOTA的核心概念,Tangle作为存储交易的数据结构串连起了IOTA所有的技术点。我们用下面的简化版Tangle网络概念图来说明IOTA如何来完成交易的确认。绿色代表已经被确认的交易。红色代表还没有被完全确认的交易。灰色代表没有被确认的交易。(Tips)当一个交易被创建,它要经过3个步骤:1.Signing节点 (Computer/Mobile) 创建交易并用自己的私钥 (Private Key) 对交易进行签名。2.Tip Selection节点在创建新的交易时通过使用RWMC (Random Walk Monte Carlo) 算法选出2个未被确认的Tips。3.POW (Proof of Work)节点首先检查被选中的两个Tips是否存在冲突。然后对选中的两个Tips进行工作量证明 (POW),这里类似于比特币的Hashcash,不停地把Tips的哈希值加上nonce进行再哈希,直到得出的新哈希值的前N位都是0。图中绿色的Tangle被所有的Tips直接或者间接的指向,所以是完全被确认。而图中红色的Tangle只是被部分Tips所指向,所以是未被完全确认。如果我们运行RWMC算法100次,有60个Tips指向某个Tangle,那么这笔交易的确认度是60%。完全确定意味着更长的确认等待时间,交易的确认度由收款人自行决定。比特币每个块的生成时间被系统控制在10分钟,对于大额交易一般需要6块的确认,所以一个公认的交易的确认等待时间为1小时。因为每个节点在创建1笔交易之前必须验证2个未被确认的Tips,所以当Tangle网络中又更多的节点参与进来的时候,整个IOTA网络的验证能力与速度就会得到进一步的增强,这种设计部分解决当前区块链扩展性的问题。免责说明:由于IOTA还处于Beta开发阶段,文中所涉及的概念和参数可能会随着项目的开发而变化,具体请参考官方IOTA Reference Implementation (IRI)。参考资料:IOTA白皮书:https://iota.org/IOTA_Whitepaper.pdfIOTA Milestone: https://blog.iota.org/2017-in-review-2018-in-preview-704177484ef0BTC矿池分布图:https://blockchain.info/poolsWinternitz One-Time Signature Scheme: https://eprint.iacr.org/2011/191.pdfIOTA Reference Implementation (IRI): https://github.com/iotaledger/irihttp://weixin.qq.com/r/ay-bw4jE-dWCrcyg93p5 (二维码自动识别)编辑于 2018-02-01 09:56区块链(Blockchain)比特币 (Bitcoin)数字货币​赞同 1​​添加评论​分享​喜欢​收藏​申请

What is IOTA | IOTA

What is IOTA | IOTA

Get Started

Quick Start

For Developers

For Enterprise

For Financial Investors

IOTA Basics

What is IOTA

The IOTA Token

Buying IOTA

Securing IOTA

Institutional Acquisition

IOTA Technologies

Discover

Firefly Wallet

Explore

Roadmap

Explore

Solutions

Industries

Industry Overview

Global Trade & Supply Chains

Customs & Border Management

Digital identity

Industrial IoT

eHealth

Our Products

IOTA Technologies

Firefly Wallet

Roadmap

Partner

Partnerships

EBSI

Secure Digital Infrastructure

Get Started

Auditing and SSI Tools

Our Projects

Lighthouse

IOTA Technologies

Discover

Firefly Wallet

Explore

Roadmap

Explore

Develop

For Developers

Quick Start

Documentation

For Enterprises

Quick Start

Deployment Options

Ecosystem

Get involved

IOTA Technologies

Discover

Firefly Wallet

Explore

Roadmap

Explore

Foundation

The IOTA Foundation

Vision & Mission

Core Values

Our Team

Careers

Social Impact

Social Impact

Regulatory Affairs

Diversity Initiative

Research

Research Department

Our Research

Research Council

Researcher Profiles

Research Papers

Grants

Roadmap

Coordicide

IOTA Technologies

Discover

Firefly Wallet

Explore

Roadmap

Explore

Connect

General enquiries

Contact us

Discord community

Press

IOTA Press Releases

News Coverage

Media Assets

Media Library

Videos

Brand & Graphics

IOTA Technologies

Discover

Firefly Wallet

Explore

Roadmap

Explore

Ecosystem

Blog

Wallet

Wiki

Coordicide

Tangle Explorer

Roadmap

IOTA Merch (Partner)

Asset Library

Governance and Research

Explore IOTA

Blog

Wallet

Wiki

Coordicide

Tangle Explorer

Roadmap

IOTA Merch (Partner)

Asset Library

Governance and Research

IOTA is

a Trust Layer

a Protocol for Web3

a Scalable DLT

Feeless

Open Source

a Blockchain

IOTA’s Tangle is an open, feeless and scalable distributed ledger, designed to support frictionless data

and value transfer.

IOTA

Next Generation Data And Value Exchange

New Economies. New Possibilities.

IOTA is the first distributed ledger built for the “Internet of Everything” - a network for exchanging

value and data between humans and machines.

Designed entirely

without fees.

No blocks. No Miners. When you send an IOTA transaction you validate two other transactions. This allows

IOTA to overcome the cost and scalability limitations of blockchain.

IOTA Is The Backbone Of Web3

The IOTA network is built for the Internet of Everything, with tamper-proof data, feeless transactions,

and low resource requirements.

Enabling Decentralized Economies

IOTA offers solutions for establishing a secure and permissionless infrastructure that can drive the

economy of the future.

Introducing

The Tangle

The Tangle is IOTA's network. It immutably records the exchange of data and value. It ensures that the

information is trustworthy and cannot be tampered with nor destroyed.

Highly scalable

IOTA uses a DAG data structure allowing transactions to be added in parallel, unlike

blockchain alternatives.

Low resource requirements

Designed for devices, such as sensors, to participate in a low-energy network.

Zero-fee transactions

Send 1 cent, receive 1 cent. Send $1,000,000, receive $1,000,000.

Fast transactions

IOTA transactions are confirmed within minutes.

Finality Within Seconds

Honest messages are approved very quickly and efficiently.

Distributed

A globally distributed network, IOTA is resilient and robust against attacks.

Your browser does not support video on HTML.

Your browser does not support video on HTML.

Your browser does not support video on HTML.

Social Impact

Social Impact

Visit page

Global Trade

Global Trade

Visit page

Digital Identity

Digital Identity

Visit page

Sustainability

Harnessing the power of IoT to manage natural resources more sustainably.

Identity

Bringing digital identity beyond borders to all people.

Citizen-Centric Governance

Enabling more transparent and inclusive public services.

Track & Trace

Share status throughout the supply chain with provenance data from the source.

Customs & Border Management

Upgrade trade certificates for international exchange.

Digital Twins

Turn any product, pallet, container or consignment into a digital twin.

Self Sovereign Identity

A borderless digital identity can be verified by anyone.

Identity Of Things

Identities allow devices to prove their specifications and authenticity.

Regulatory Compliance

Digital identities that meet data privacy regulations like GDPR.

Industries

IOTA enables new possibilities

Explore more

Get Started with IOTA

Foundation

Learn More

Partnerships

Learn More

Social Channels

Learn More

IOTA Technologies

Learn More

Research

Learn More

Videos & Podcasts

Learn More

IOTA Provides Digital Trust, Enabling Us to Build a Better World

Registered Address

IOTA Foundation

Pappelallee 78/79

10437 Berlin

Germany

© 2023 IOTA Foundation -

Privacy Policy

Impressum

Trademark Policy

Terms of Use

Cookie Policy

Get in touch:

Contact Us

Board of Directors:

Dominik Schiener and Navin Ramachandran

ID/Company No.:

3416/1234/2

EU public ID number in the EU Transparency Register:

500027331119-04

VAT ID:

DE329624902

Youtube

GitHub

Discord

Twitter

Reddit

Linkedin

Instagram

CoinMarketCap

std::iota - cppreference.com

std::iota - cppreference.com

cppreference.com

Log in

Namespaces

Page

Discussion

Variants

Views

View

Edit

History

Actions

std::iota

From cppreference.com

< cpp‎ | algorithm

 C++

Compiler support

Freestanding and hosted

Language

Standard library

Standard library headers

Named requirements

Feature test macros (C++20)

Language support library

Concepts library (C++20)

Metaprogramming library (C++11)

Diagnostics library

General utilities library

Strings library

Containers library

Iterators library

Ranges library (C++20)

Algorithms library

Numerics library

Localizations library

Input/output library

Filesystem library (C++17)

Regular expressions library (C++11)

Concurrency support library (C++11)

Technical specifications

Symbols index

External libraries

[edit] Algorithm library

Constrained algorithms and algorithms on ranges (C++20)

Constrained algorithms, e.g. ranges::copy, ranges::sort, ...

Execution policies (C++17)

is_execution_policy(C++17)  

execution::seqexecution::parexecution::par_unseqexecution::unseq(C++17)    (C++17)(C++17)(C++20)

execution::sequenced_policyexecution::parallel_policyexecution::parallel_unsequenced_policyexecution::parallel_unsequenced(C++17)(C++17)(C++17)(C++20)

Non-modifying sequence operations

Batch operations

for_each

for_each_n(C++17)

Search operations

all_ofany_ofnone_of(C++11)                (C++11)(C++11)

countcount_if

mismatch

equal

findfind_iffind_if_not(C++11)

find_end

find_first_of

adjacent_find

search

search_n

Modifying sequence operations

Copy operations

copycopy_if(C++11)

copy_backward

copy_n(C++11)

move(C++11)

move_backward(C++11)

Swap operations

swap

iter_swap

swap_ranges

Transformation operations

replacereplace_if

transform

replace_copyreplace_copy_if

Generation operations

fill

fill_n

generate

generate_n

Removing operations

removeremove_if

unique

remove_copyremove_copy_if

unique_copy

Order-changing operations

reverse

reverse_copy

rotate

rotate_copy

random_shuffleshuffle(until C++17)(C++11)

shift_leftshift_right(C++20)(C++20)

Sampling operations

sample(C++17)

Sorting and related operations

Partitioning operations

partition

partition_copy(C++11)  

stable_partition

is_partitioned(C++11)

partition_point(C++11)

Sorting operations

sort

stable_sort

partial_sort

partial_sort_copy

is_sorted(C++11)

is_sorted_until(C++11)

nth_element

Binary search operations(on partitioned ranges)

lower_bound

upper_bound

equal_range

binary_search

Set operations (on sorted ranges)

includes

set_union

set_intersection

set_difference

set_symmetric_difference

Merge operations (on sorted ranges)

merge

inplace_merge

Heap operations

push_heap

pop_heap

make_heap

sort_heap

is_heap(C++11)

is_heap_until(C++11)

Minimum/maximum operations

max

min

minmax(C++11)

clamp(C++17)

max_element

min_element

minmax_element(C++11)

Lexicographical comparison operations

lexicographical_compare

lexicographical_compare_three_way(C++20)

Permutation operations

next_permutation

prev_permutation

is_permutation(C++11)

C library

qsort

bsearch

Numeric operations

iota(C++11)

inner_product

adjacent_difference  

accumulate

reduce(C++17)

transform_reduce(C++17)

partial_sum

inclusive_scan(C++17)   

exclusive_scan(C++17)

transform_inclusive_scan(C++17)

transform_exclusive_scan(C++17)

Operations on uninitialized memory

uninitialized_copy

uninitialized_move(C++17)   

uninitialized_fill

uninitialized_copy_n(C++11)

uninitialized_move_n(C++17)

uninitialized_fill_n

destroy(C++17)

destroy_n(C++17)

destroy_at(C++17)

construct_at(C++20)      

uninitialized_default_construct(C++17)

uninitialized_value_construct(C++17)

uninitialized_default_construct_n(C++17)

uninitialized_value_construct_n(C++17)

[edit] 

Defined in header

template< class ForwardIt, class T >

void iota( ForwardIt first, ForwardIt last, T value );

(since C++11) (constexpr since C++20)

Fills the range [first, last) with sequentially increasing values, starting with value and repetitively evaluating ++value.

Equivalent operation:

*(first) = value;

*(first + 1) = ++value;

*(first + 2) = ++value;

*(first + 3) = ++value;

...

Contents

1 Parameters

2 Return value

3 Complexity

4 Possible implementation

5 Notes

6 Example

7 See also

[edit] Parameters

first, last

-

the range of elements to fill with sequentially increasing values starting with value

value

-

initial value to store; the expression ++value must be well-formed

[edit] Return value

(none)

[edit] Complexity

Exactly last - first increments and assignments.

[edit] Possible implementation

template

constexpr // since C++20

void iota(ForwardIt first, ForwardIt last, T value)

{

for (; first != last; ++first, ++value)

*first = value;

}

[edit] Notes

The function is named after the integer function ⍳ from the programming language APL. It was one of the STL components that were not included in C++98, but made it into the standard library in C++11.

[edit] Example

The following example applies std::shuffle to a vector of std::lists' iterators. std::iota is used to populate containers.Run this code

#include

#include

#include

#include

#include

#include

#include

 

class BigData // inefficient to copy

{

int data[1024]; /* some raw data */

public:

explicit BigData(int i = 0) { data[0] = i; /* ... */ }

operator int() const { return data[0]; }

BigData& operator=(int i) { data[0] = i; return *this; }

/* ... */

};

 

int main()

{

std::list l(10);

std::iota(l.begin(), l.end(), -4);

 

std::vector::iterator> v(l.size());

std::iota(v.begin(), v.end(), l.begin());

// Vector of iterators (to original data) is used to avoid expensive copying,

// and because std::shuffle (below) cannot be applied to a std::list directly.

 

std::shuffle(v.begin(), v.end(), std::mt19937 {std::random_device{}()});

 

std::cout << "Original contents of the list l:\t";

for (auto const& n : l)

std::cout << std::setw(2) << n << ' ';

std::cout << '\n';

 

std::cout << "Contents of l, viewed via shuffled v:\t";

for (auto const i : v)

std::cout << std::setw(2) << *i << ' ';

std::cout << '\n';

}

Possible output:

Original contents of the list l: -4 -3 -2 -1 0 1 2 3 4 5

Contents of l, viewed via shuffled v: -1 5 -4 0 2 1 4 -2 3 -3

[edit] See also

ranges::iota_viewviews::iota(C++20)

a view consisting of a sequence generated by repeatedly incrementing an initial value(class template) (customization point object)[edit]

fill

copy-assigns the given value to every element in a range (function template) [edit]

ranges::fill(C++20)

assigns a range of elements a certain value(niebloid)[edit]

generate

assigns the results of successive function calls to every element in a range (function template) [edit]

ranges::generate(C++20)

saves the result of a function in a range(niebloid)[edit]

ranges::iota(C++23)

fills a range with successive increments of the starting value(niebloid)[edit]

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/algorithm/iota&oldid=162686"

Navigation

Support usRecent changesFAQOffline version

Toolbox

What links hereRelated changesUpload fileSpecial pagesPrintable versionPermanent linkPage information

In other languages

DeutschEspañolFrançaisItaliano日本語PortuguêsРусский中文

This page was last modified on 13 November 2023, at 09:21.

This page has been accessed 954,661 times.

Privacy policy

About cppreference.com

Disclaimers

IOTA 小白攻略 - 知乎

IOTA 小白攻略 - 知乎首发于不拘于时切换模式写文章登录/注册IOTA 小白攻略趁风卷All the moment will be lost in timeIOTA 不是传统的区块链结构,而是 DAG(Directed Acyclic Graph,有向无环图)结构。本文以最浅显的语言来解释 IOTA 原理。IOTA 基本特点为物联网(Internet of Thing, IoT)设计交易无需手续费抗量子三元逻辑系统(传统电路都是二元逻辑电路)总量: (3^{33}-1)/2=2,779,530,283,277,761 TangleIOTA 的 DAG 结构被称为 Tangle,看起来就像下图Directed Acyclic Graph (from http://ericsink.com/)图中的每个点都是一个交易。IOTA 中不再有区块的概念,共识的最小单位是交易。不像比特币只有一条链,这是一个网状结构,会不断往外扩散。DAG 结构非常适合高并发且小数据交易的 IoT 场景。交易在 IOTA 里发起一笔交易,是怎么样的流程呢?答:你需要先找到网络里的两笔交易,验证它们的合法性,然后做一点小小的 PoW(就是付出一些计算),把自己的交易与它们绑定,再广播到网络。你的交易会被后来的交易以相同的方式验证。如果验证你交易的其他交易越多,则你的交易的确定性越高。当达到一个阈值时,就认为这个交易被确定了(这和比特币 6 个区块确定交易状态的思想一致)IOTA 把算力作为交易的一部分。只要你想加入这个网络,那必须先成为矿工,做出一点 PoW 贡献。如果想不做贡献吃白食?,不好意思,我们不认可你广播的交易。由于人人都做了 PoW,因此才能做到零交易费。那坏人故意让非法交易通过验证怎么办?网络里会充满着大量非法交易吗?IOTA 的思想是这样的,节点会计算每个交易的权重值,选择权重高的交易来进行验证,这会有助于增加自己的交易被后来交易验证的可能性。如果你绑定非法交易,那后来的交易则不会选择你的交易来验证。时间一长,这个交易就被网络抛弃了,不再是网络的一部分。三元逻辑IOTA 整个网络都用三进制来描述Trit:类比 bit,可能的值有 1 0 -1Tryte:类比 byte,1 个 tryte 由 3 个 trit 组成,能表示 27 个值,用 'a, A-Z' 来表示这些值。比如 IOTA 的 Seed 是 81 Tryte,Address 是 90 Tryte,都以三进制来描述。IOTA 使用的哈希函数名为 Curl,是一个三进制算法,由 Keccak (SHA-3) 的发明者设计。Curl 被设计用于 IoT 设备,是世界上第一个三进制哈希算法。IOTA 团队认为,三进制架构的电路功耗低,适合 IoT 设备,但他们似乎忽视了传统计算机都是基于二进制电路的。如果传统计算机要运行三进制算法,得怎么做?需要先模拟一个三进制电路,然后进行相应的计算。中间加了一层,这效率肯定下降,属于吃力不讨好。IOTA 基金正在研发 IoT 异步三态处理器 JINN,用于集成到 IoT 设备里。可能这也是团队的商业规划之一(处理器+网络仅此一家,IoT 行业就尽在我等手中了)抗量子IOTA 使用的签名算法是 Winternitz one-time signature (W-OTS) ,这是一种后量子签名算法,可以抵御量子攻击,在很早就被提出。就如同其名,W-OTS 算法是 one-time,即签过一次名后就不能重复使用,否则会有丢钱的风险。你可以一个地址多次打钱打钱,但取一次钱(取钱需要签名)后就不能用了,得换新地址。W-OTS 的一个缺点是签名长度特别大,这也是抗量子签名普遍的缺点。IOTA 的单个交易编码后有 2673 trytes(大约为 281.96 bytes),但签名占了 81%(2187 trytes)。对于 IoT 设备,这可能是一个很大的挑战。本文由币乎社区(bihu.com)内容支持计划赞助编辑于 2017-12-17 12:41物联网区块链(Blockchain)数字货币​赞同 6​​1 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录不拘于时反

IOTA中国社区 | IOTAChina | 埃欧塔

IOTA中国社区 | IOTAChina | 埃欧塔

首页

技术前沿

应用案例

业界观点

文档资料

官方动态

在线视频

专栏作者

搜索:

IOTA介绍

行情K线

常见问题

新手指南

基础问题

开发者问题

深度问题

常用工具

IOTA站点导航

Tangle浏览器①

Tangle浏览器②

交易Reattach

IOTA单位换算器

IOTA资源集中贴

IOTA并不是物联网(IoT)的缩写,而是指某物非常微小的意思。ICO所收入的资金用于IOTA项目后续的开发和基金会的运作。Tangle网络会随着交易数量的增加而越来越强健。IOTA专注于物联网与M2M经济,当然也适用于 P2P 支付应用。IOTA 主网 于 2016 年 7 月 11 日上线。IOTA的网络结构是一种有向无环图(Directed Acyclic Graph)。IOTA使用了能够抵挡量子计算的演算法。IOTA于2015年末举行首次ICO。协调器将在网络成熟且可自我成长时逐步取消。IOTA没有矿工,每个建立交易的人同时也是交易的验证人。

IOTA中国社区

首页

技术前沿

应用案例

业界观点

文档资料

官方动态

在线视频

专栏作者

搜索:

IOTA加入日本国家研发机构NEDO资助的项目,以...

Chrysalis(IOTA 1.5)第一阶段现已...

IOTA加入Dig_it

Hyperledger Fabric与IOTA Tangle的集成

驾驶捷豹路虎可享受IOTA奖励

Shimmer 网络和代币发布

Shimmer 网络和代币发布

官方动态 技术前沿 IOTA-方可

1年前 (2022-09-29)

29个赞

IOTA方可全文简介:经过两个多月的战斗测试Shimmer Beta 版,今天看到Shimmer网络的正式启动。Shimmer 使用可组合的代币化框架扩展了 DAG 账本,为在第 1 层本地代币化所有…

阅读全文

将三个网络连接起来

将三个网络连接起来

官方动态 IOTA-方可

2年前 (2022-03-30)

42个赞

IOTA方可全文简介:IOTA、Shimmer 和Assembly通过13步流程路线,走向 IOTA 2.0(Coordicide)。 IOTA、Shimmer 和Assembly的未来之路 以下路线…

阅读全文

如何玩转IOTA生态头号项目Soonaverse?

如何玩转IOTA生态头号项目Soonaverse?

业界观点 技术前沿 大熊

2年前 (2022-03-08)

17个赞

Soonaverse(https://soonaverse.com/)是IOTA生态中热度最高、且极具野心和交付能力的项目。它完全基于Web3.0的理念搭建的一个面向社区的去中心化平台,是一个Open…

阅读全文

在 IOTA 上构建本地绿色货币

在 IOTA 上构建本地绿色货币

技术前沿 IOTA-方可

2年前 (2022-01-13)

39个赞

全文简介:BlockchainLab Drenthe公司为荷兰 Emmen 市提供了项目Energie Knip,并获得了荷兰 Emmen 市的采用,Energie Knip是使用IOTA 构建本地代…

阅读全文

IOTA x Shimmer x Assembly

IOTA x Shimmer x Assembly

官方动态 IOTA-方可

2年前 (2021-12-17)

28个赞

全文简介:IOTA为了未来网络发展推出两个网络Shimmer和Assembly,IOTA代币持有者可以通过官方钱包质押获得相应的币种SMR和ASMB。 Shimmer网络为IOTA主网的测试网络,目的…

阅读全文

Assembly 宣布获得 1 亿美元的生态系统资金

Assembly 宣布获得 1 亿美元的生态系统资金

官方动态 技术前沿 IOTA-方可

2年前 (2021-12-11)

19个赞

方可全文简介:IOTA预计在12月-明年1月份进行空投,Assembly(ASMB)是空投币的一种,只要在官方钱包有IOTA币的都可以参与空投。目前火币创投带领其他投资机构领头已经投资了ASMB,出了…

阅读全文

宣布Assembly和 ASMB 令牌

宣布Assembly和 ASMB 令牌

技术前沿 IOTA-方可

2年前 (2021-12-05)

15个赞

通往开放和去中心化世界的钥匙 Assembly 是一个可扩展的多链网络,用于分片、可组合的智能合约。 Assembly 提供共享的安全性、去信任的互操作性、原子可组合性和无费用的跨链交易。 Assem…

阅读全文

介绍 IOTA 质押

介绍 IOTA 质押

技术前沿 IOTA-方可

2年前 (2021-12-05)

8个赞

质押您的 IOTA 代币以获得代币奖励 IOTA 正在向所有 IOTA 代币持有者引入质押。质押您的 IOTA 代币并从代币空投中获得质押奖励。通过抵押您的 IOTA 代币,您正在帮助启动新的代币经济…

阅读全文

SECANT 和 IOTA – 支持卫生组织对抗网络威胁的国际欧盟合作

SECANT 和 IOTA – 支持卫生组织对抗网络威胁的国际欧盟合作

官方动态 IOTA-方可

2年前 (2021-11-25)

11个赞

SECANT 将 IOTA 用于欧洲健康产业的物联网和数据基础设施 SECANT(物联网设备的安全和隐私保护)是欧盟资助的医疗保健和安全技术组织之间的国际合作;IOTA 基金会将在开发项目的信任和问责…

阅读全文

IOTA 智能合约 Beta 版发布

IOTA 智能合约 Beta 版发布

官方动态 技术前沿 IOTA-方可

2年前 (2021-11-06)

16个赞

可编程智能合约的 Beta 版现已在 IOTA 2.0 开发网 上可用 IOTA 进入 Web3。随着 IOTA 智能合约 Beta 版的发布,IOTA 在IOTA 2.0 开发网 上提供可编程智能合…

阅读全文

文章导航

1

2

3

91

下一页

热门文章Sorry. No data so far.

热点关注

iota

IOTA基金会

DLT

iota生态系统

博世

qubic

IoT

IOTA节点

Trinity

iota生态系统基金

分布式账本

tangle

MAM

Trinity钱包

IOTA钱包

工业4.0

物联网

大众汽车

Blockchain

Q

自动驾驶汽车

coordicide

Chrysalis

MIOTA

智能合约

Oracle

CFB

eCl@ss

JINN

iota全节点

联合国

用例

mana

数字资产

Dominik Schiener

spam

缠结

David Sønstebø

qubit

智能城市

戴姆勒

ElaadNL

机器经济

联合国项目事务厅

FPGA

Paracosm

XDK

物联网支付

标准化

钱包

常用链接

IOTA 2.0 测试网

IOTA Discord社区

IOTA Reddit

IOTA Twitter

IOTA 官方博客

IOTA 官方文档

IOTA 官方路线图

IOTA 数据市场

IOTA 浏览器

IOTA 钱包

IOTACHINA专注于IOTA相关新闻资讯、技术知识、发展动态等信息,致力于IOTA在中国的推广和落地应用。

关于我们

联系方式

隐私声明

Copyright © 2018 IOTA(埃欧塔)中国社区 IOTACHINA.COM

IOTA标准化进展 — 2020年11月 | 我爱IOTA

IOTA标准化进展 — 2020年11月 | 我爱IOTA

IOTA 资源

IOTA 官方网站

IOTA 官方博客

Coordicide白皮书(中文版)

IOTA 中国社区

IOTA 官方活动日历

IOTA Archive

IOTA Tangle工具集

IOTA Tangle Explorer

建站资源

NameSilo 域名注册

机场使用检测贴

Protonmail 服务

Porkbun域名注册

首页官方动态

IOTA标准化进展 — 2020年11月

BruceX

2020年11月25日 pm3:04

官方动态 •

阅读 1110

​​正如我们在2019年宣布的,IOTA的使命是建立并成为DLT和物联网技术的实际标准。今天,我们将解释什么是标准,适用于我们的领域的标准,以及我们在标准化方面具体做了什么。此外,我们还将讨论在IOTA协议的开发过程中,以及过去几个月我们所取得的进展。

请继续关注未来的更新,因为我们将在对象管理组(OMG:一个标准化组织)和其他地方完成各种标准流程,并交流IOTA自己标准的状态。

首先:什么是标准?

标准到底是什么意思?标准无处不在,我们通常不需要考虑它们。例如,你不需要考虑如何拧螺丝。对于更复杂的需求,如计算机模型之间的互操作性,一些专家小组将不得不对这些需求进行长时间和艰苦的思考。一旦他们做对了,这就可以作为一个国际标准发布,这样每个人现在都可以参考相同的要求。

标准实际上是一种特殊的需求规范,其中每个人都可以同意他们引用的规范是什么,最新版本是什么,以及如何使用它。在物联网中,这一点尤为重要,因为将有几层协议,每一层都有自己的标准定义。这些标准包括W3C标准、IETF和诸如Zero MQ之类的行业事实标准。

在这个层次上,当我们使用“标准”这个词时,我们可能只是指所有人都同意提及的东西,例如,一个共同的行业标准,或者甚至是某些供应商做某件事的标准方式。这些就是我们所说的“事实”标准。实际上,IOTA已经是一个事实上的标准——你需要引用它来构建任何可以在IOTA主网上运行的东西,或者扩展或与IOTA节点交换数据的东西。

为什么标准很重要?

标准制定是工程中的关键环节。标准经常被引用为规范的一部分。在所有东西都被打印出来的年代,一个规范可能超过一米厚,因为它包含了其中引用的所有标准的副本。

标准的使用可以给任何产品的用户一定程度的信心,即标准所涵盖的产品的所有方面都将以相同的方式运行。譬如他们不需要考虑怎样去拧螺丝。

有时也需要对一项标准更有信心。我怎么知道您的标准不会改变,是最新版本,并且没有其他用户发现的任何漏洞或其他陷阱?

为了获得这种信心,我们希望官方标准机构来管理和维护正式的标准,如国际标准或行业标准。这些都是由一些组织设置的,如国际标准化组织(ISO)、对象管理组织(OMG),以及更专业的组织,如万维网联盟(W3C)和因特网工程任务组(IETF)。

请注意,大多数标准组织并不这样“编写”标准。相反,公司或行业联盟将采用他们开发的标准,并将其提交给标准机构。在此过程中,他们将该标准置于一定程度的审查、正式控制和最佳实践中,这将使每个人都对该标准更有信心,而不是仅仅由一群人自己完成。标准机构还将采取措施,以确保您的标准新想法没有做一些已经存在的事情,并确保行业参与者之间存在公平和公平的竞争环境。

IOTA制定的标准

IOTA基金会希望为分布式账本技术和物联网建立并成为一套关键标准。通过我们过去几个月的工作,IOTA协议已经成为了一个“事实上”的标准,在这个意义上,现有的节点软件(IRI, Bee和Hornet)以一种标准的方式来参与到Tangle中。下一步是通过对象管理组织(Object Management Group, OMG)将IOTA协议作为正式的国际标准提交,从而引入一种正式的控制和治理级别,同时让用户相信该标准可以跨行业一致地使用。

这个程序是如何工作的?

每个标准化组织都有自己的开发和发布正式标准的正式程序。这些程序差别很大,但都是针对发布正式规范的公共结果的,任何人都可以遵循正式规范来构建产品或服务,这些产品或服务可以判定是否符合该标准或文档中定义的特定符合点。制定标准的过程旨在确保参与者之间有一个公平的竞争环境。在发布标准之前,通常需要将其反映在一些实际应用程序中。

对象管理组OMG的标准化程序

当前有效的IOTA标准提案正在通过对象管理组进行。OMG还有一项安排,有可能“快速跟踪”一个OMG标准,使之成为ISO标准。

对象管理组织(OMG)有两种途径来发布正式的国际标准规范。这些是:

征求意见Request for Comments (RFC)

征求提案Request for Proposals (RFP)

如下图所示。在某些情况下,在开发RFP之前会有一个更通用的“信息征求”(RFI),在这个过程中,相关的OMG任务团队会决定是否需要为特定的需求集制定一个新标准。

“征求意见”(RFC)过程的目的是,当已经存在一个事实上的标准,而其他人不太可能希望提出一个标准来满足相同的要求时使用。RFC是由已经维护该标准的组织直接提交的,如果被相关的OMG任务小组接受,最初提交的版本就会向公众发布以供审查。OMG成员和非成员都需要响应,因为这个过程的目的是确保没有竞争的规范。使用RFC进程要谨慎。如果有人指出其他人也可以提交规范来涵盖相同的需求集,那么提案将被退回,并被RFP流程取代。

当OMG社区看到需要一个标准并要求人们提交提案时,就会使用“请求提案”(RFP)过程。RFC是由事实上的标准维护者直接提交的,而RFP是由OMG任务组起草的。一旦完成,RFP将发送给OMG成员,敦促他们提交一个潜在的标准规范作为对该RFP的响应。

在特殊的情况下,例如为分布式账本技术相关的标准,一个特定的兴趣组,如区块链平台团体可能协助起草RFP或RFI。这个小组然后把它带到适当的OMG任务组进行正式投票和行动。

标准是一条双行道。我们也从现有的标准中受益并使用它们来起草我们自己的规范。这是OMG RFC提交和RFP响应的要求。因此,我们提交的IOTA标准将尽可能使用标准符号来描述规范中的内容——无论是简单的数学,还是行业符号,如用于类图、状态机等的UML。

我们还开始调整我们自己的内部规范,使其更符合正式的国际标准,并在IOTA规范的开发中为RFI、RFP和RFC定义了我们自己的内部流程。

IOTA在哪里?

IOTA基金会是对象管理组织(OMG)的成员,该组织是负责统一建模语言(UML)和其他国际标准的标准组织。IOTA还参与了TangleEE联盟和IP可信基金会(ToIP)。我们还在与IEEE、ETSI以及国际电联等联合国机构进行接触。

IOTA和对象管理组

在OMG, IOTA参与了几个任务小组和特殊兴趣小组,包括区块链平台SIG(区块链PSIG)。

作为OMG生态系统的“公民”,IOTA已经在我们共同主持的区块链PSIG中发挥了积极的作用。这是一种共生关系,我们分享了IOTA从1.0到1.5到现在的IOTA 2.0去协调器规范的更新和见解。在每个阶段,我们都更新了相关的OMG组关于这些和其他开发的信息,并从他们那里获得了有价值的见解和反馈,比如如何将现有的OMG标准应用到我们的工作中。当我们向IOTA协议引入更多的特定于IOTA的特性时,这些对话将开始结出更多的果实。

同时,我们已经在区块链PSIG领导了大部分的工作,在那里我们已经在:

区块链生态系统互操作性 Blockchain ecosystem interoperability RFI

IOTA Foundation 对互操作性的响应 RFI

来自互操作性RFI 的潜在的RFI

智能合约的语义

自主身份-一次性SSIDs RFI和未来RFP

链接加密事务流 Linked Encrypted Transaction Streams (LETS) RFP

IOTA Streams 在移动领域的实际演示

在过去,我们也分享了对IOTA ‘ EEE ‘协议和三元规范的见解,尽管这些现在还没有成为OMG标准。

在OMG,我们目前正在做两件事:作为RFC的IOTA协议,以及作为对LETS RFP的响应的IOTA的流(Stream)标准。

“我感到自豪和兴奋的是,第一个DLT标准化将是IOTA和它的Tangle架构。这将使用户更容易实现DLT互操作性。”

— Richard Mark Soley, Ph.D., 目标管理集团董事长兼首席执行官和IOTA基金会监事会主席.

IOTA协议标准

IOTA协议定义了一个软件需要什么才能在IOTA Tangle上运行。这个事实上的标准已经存在,任何引用它的人都可以构建一个Tangle节点。

为了更容易引用IOTA协议规范,也为了让整个社区相信他们引用的是该协议的最新版本,我们将这个提交给OMG成为正式的标准。

IOTA协议遵循OMG请求评论(RFC)程序,因为它实际上是特定于Tangle的标准。

IOTA协议RFC的基础将是IOTA 2.0 去协调器版本,因为它将不向后兼容当前在IOTA主网上实现的IOTA 1.5协议。

正式的提交要求某个标准已经在生产中使用,所以这将在IOTA 2.0在IOTA主网上运行之后完成,但是一旦我们有了稳定的版本,就可以提交,可能会在3月份的OMG季度会议上发布。我们将利用这段时间通过OMG获得更多的反馈,包括来自技术专家和一些OMG成员学术机构的反馈。OMG工作方式的一部分是,我们尽早并且经常地共享即将发布的标准草案,以最大限度地利用可用的专业知识。

IOTA协议RFC提交的时间表

从提交最初提出的规范版本到通过正式的国际标准(“定稿”)之间的时间通常需要9个月左右,不可能在6个月内完成。

在9月份的会议中,在与相关OMG任务小组的讨论中,我们确定了我们可以在在主网上实现初始提交之前提交初始提交,只要能保证在提交的版本与后来的最终版本之间的任何更改都可以保持向后兼容。这给我们带来了一些灵活性——我们将在确信不会有重大变化的情况下提交初始提交,并且在最终发布之前完成在主网络上的部署。这意味着,例如,如果IOTA的相关测试在2月之前完成,我们最早可以在2021年3月提交初步草案,并预计在9月或12月的季度会议周期完成最后定稿过程。

在IOTA基金会内,Coordicide的正式规范处于良好状态,并正在移交给工程部门的过程中。

从现在到RFC的最初提交,我们将在IOTA工作,以获取这些规范并完善它们,以便将“什么”(协议)和“如何”(实现规范)区分开来。这是IOTA 2.0准备提交给OMG之前需要做的大量工作的一部分。在开发的下一阶段结束时,协议规范将作为RFC提案提交,并将根据提交标准的要求接受完全正式的变更控制。

在12月的下一个OMG季度会议上,我们将展示来自研究方的当前规范草案,以得到OMG的反馈。这份报告将在2021年通过OMG中间件和相关服务(MARS)平台任务小组提交,当它正式提交时,他们将投票表决。

未来支持更先进的物联网功能的“去协调器版本”可能是同一个标准的进一步修订,如果改变是向后兼容的。如果该版本的协议呈现了一些破坏性更改(这是一种真实的可能性),那么它将按照相同的过程作为一个新的RFC提交。

链接加密事务流 (LETS) RFP

基于IOTA流协议中的想法,OMG区块链平台团体一直在致力于一个“链接加密事务流”(LETS) RFP。IOTA Streams是一个开源的DLT框架,用于嵌入式系统上的分布式数据流和加密。

在9月份的OMG季度会议上,LETS RFP的起草工作继续进行。我们讨论了如何期望提交使用OMG的数据分发服务(DDS)系列标准,并最终确定了RFP中的用语来反映这一点。

RFP草案已于11月完成并提交给OMG,并将在12月的季度会议上正式投票表决。假设通过了,OMG将正式发布RFP。除非相关的OMG委员会更改日期,否则将在2021年2月作出回应,以便在3月的OMG季度会议上对回应(基于流的提议标准)进行审查。目前IOTA Streams协议从alpha到beta到最终状态的进展预计将在同一时间内完成。

任何合适的实体都可以响应RFP,只要它们是具有适当级别和成员类型的OMG成员。RFP响应通常是由成员公司组成的联盟提交的,OMG也鼓励这样做。

IOTA Streams规范有望成为正式响应LETS RFP的基础,使用该规范的“框架”部分,该部分已经在alpha版本中发布。这个IOTA提议将基于OMG的数据分发服务(DDS)系列标准,并将广泛引用这些标准。类似地,构成本规范一部分的Streams数据描述和修改语言(DDML)也将使用OMG接口定义语言(IDL)标准。

经过OMG社区的推荐,我们希望IOTA能与一个或多个DDS供应商公司一起工作来完成流协议的起草和提交RFP的响应,以在更广泛的生态系统扩大我们的提交和吸纳改进。这项活动现在就可以开始了,我们将在本季度接触这些DDS供应商公司。

我们还在与荷兰的SKALY小组进行讨论,他们已经开发了一个名为Freighter的协议,该协议也可以根据LETS RFP中列出的想法进行定义。我们已经更新了OMG允许RFP文档,以包括Freighter 的一些具体的特性,我们期望SKALY与我们一起起草RFP响应规范。

提交的协议需要独立于Tangle,以便成为对LETS RFP的合适响应。这意味着可以为其他DLT环境构建LETS 或Streams实现,也可以为链接的消息流构建非DLT部署。这也意味着从IOTA 1.5到IOTA 2.0的变化需要对Streams协议透明。IOTA的分层架构使这成为可能,其中流表示一个“第二层”协议,它已经独立于任何底层传输安排。

我们在OMG还有哪些工作?

还有很多事情要做。我们参与其他与DLT相关的活动,如自主身份认证(SSID)。这些活动发生在区块链PSIG的会议上,该会议每周召开一次,并且在OMG季度会议期间有一个更正式的会议,通常在周三。在9月份的OMG会议上,我们更新了IOTA协议,为LETS RFP举行了起草会议,并致力于与一次性身份相关的自我主权身份领域的新倡议。

在不久的将来,OMG区块链PSIG还将研究最近发布的IOTA Access 的工作,并确定在该领域是否存在潜在的RFP,或者作为一次性SSIDs的部署场景。

总的来说,我们将继续在IOTA基金会和OMG工作,以确定哪些东西可以从IOTA生态系统的标准化中获益,例如智能合约、Stronghold 和其他出现的东西。我们将在研究和工程方面继续工作,确保极IOTA协议标准能在全部可能的使用场景正常工作,通过我们在供应链、身份识别、流动性、物联网等,以及其他尚未想到的领域都能使用IOTA的分布式账本技术栈。

自主身份标准

OMG区块链PSIG一直在探索自主身份(SSID)领域的标准,并考虑在这些标准领域中存在的潜在差距。

PSIG目前正在探索“临时性”或环境特定的一次性SSID标准的潜力。这个提议是由一群来自欧盟的研究人员向OMG提出的。这些将是使用W3C DID标准的特定场景的标识,一旦创建它们的场景再适用,它们就会被丢弃。用户还可以为不同类型的场景选择不同的可信第三方。

一次性自主身份 RFI

为了确保对一次性SSIDs 的新标准的真正需求,并确保它将得到使用,区块链PSIG首先遵循“请求信息”(RFI)流程。假设RFI确认了这样的需求,OMG就会发出一个RFP。

身份识别RFI的基础是对加密身份识别解决方案的整体情况有一个良好的了解,包括潜在应用程序的市场需求、对任何现有标准的覆盖以及解决业务问题的替代方法(包括GDPR遵从性)。

SSID本身的标准已经完善,例如,W3C做了标准和相关的可验证凭证的工作。

整个夏天,区块链PSIG都将围绕草案RFI工作,并在9月的季度会议上进行审查,并提交一个正式的草案,以便OMG在11月初进行讨论,然后在12月的季度会议进行投票。之后如果一切顺利,将发布给这个问题涉及的任何利益相关方。

一旦OMG发布了一次性的SSIDs RFI,IOTA基金会就会响应,就像我们对供应链互操作性的早期RFI所做的一样。我们还将接触其他与我们有关的合作伙伴,如IP可信基金会。

如果RFI的响应表明有可能出现一次性SSID标准,那么区块链PSIG将起草一份RFP,通过MARS PTF发布,最有可能在2021年6月发布。

区块链PSIG也在策划一个wiki页面,用于我们从对RFI的回复中了解到信息。

对于IOTA来说,这代表了为这种新的身份标准开发应用程序的机会。IOTA拥有IOTA Identity,它是W3C DID标准的一个实现。这个RFI和任何后续的RFP使IOTA有可能与其他提交者和相关的任务小组合作,推动这些标准的发展。

物联网和家庭自动化

通过我们对OMG的参与,IOTA联系到了它的姐妹组织-工业物联网联盟(IIoT)。对IOTA特定特性的支持是IOTA协议不可或缺的一部分。

我们也一直在关注家庭自动化领域,我们认为在现有标准中可能存在差距。我们将开始研究这个问题,查看现有栈的各个层,每个层使用了哪些标准(W3C / IETF、事实上的协议标准,等等),并查看差距在哪里。然后,我们将接触到最适合标准化相关协议的标准机构。这是IOTA进一步展示其在物联网领域的领导地位的机会,补充我们在工业物联网、智慧城市和移动领域的现有工作。

其他标准的提案

展望未来,我们可能会在许多其他领域贡献标准,包括Access和智能合约。我们可以开始为智能合约和应用程序中引用的业务概念开发标准语义表示(称为本体),同时利用OMG的其他规范对正在进行的事情进行标准化。

TangleEE

Tangle EE是一个与Eclipse基金会合作的工作组。它为组织和贡献者使用IOTA技术开发新思想和应用程序提供了一个受治理的环境。它汇集了IOTA、OMG、Eclipse和许多行业参与者。TangleEE有很多活跃的工作组在关注不同的领域,这是一个很好的论坛,可以帮助人们采用和使用IOTA标准和规范,并探索新的潜在的标准化机会。针对临时(一次性)SSIDs,IOTA实现其潜力的探索正在TangleEE内进行。

总结

我们对标准的看法是,我们在OMG(以及其他适当的组织)定义了正式的标准,同时我们通过Eclipse Foundation发布软件库,并通过TangleEE和其他地方向更广泛的社区宣传这些标准。人们可以放心地使用这些库,因为在这样做的过程中,他们正在与行业合作,以符合最新标准的方式构建这些库。

我们将继续在内部开发IOTA标准,与OMG和其他标准组织保持联系,并在推出IOTA 2.0时,从IOTA实际标准试点到国际公认的标准。我们期待在未来几个月与大家分享进展。

本文原文非中文版本,由BruceX进行翻译,如若转载,请注明出处:https://www.iota.love/202011/iota-standardization-progress-november-2020/

标准化

赞 (0)

0

生成分享图片

扫码分享到微信

IOTA Identity(Alpha版本):一个数字身份的标准框架

« 上一篇

2020年11月22日 pm2:54

IOTA和ClimateCHECK启动新的数字MRV解决方案和战略伙伴关系

下一篇 »

2020年12月12日 pm1:26

相关推荐IOTA基金会:2019年11月开发进度报告官方指引:使用Firefly钱包进行Token迁移欢迎Jon Crowcroft加入IOTA研究委员会!IOTA核心加密库Stronghold Alpha版本发布IOTA基金会:2019年12月开发进度报告IOTA:全球第一个自治型去中心化的“工业集市”IOTA官方开发进度报告–2021年1月三巨头联手:IOTA、Dell 和 Linux 基金会共同发起Alvarium项目!Chrysalis 每周周报–1月8日为欧洲建立一个分布式账本技术!IOTA基金会成为EBSI七个承包商之一

文章目录

首先:什么是标准?为什么标准很重要?IOTA制定的标准这个程序是如何工作的?对象管理组OMG的标准化程序IOTA在哪里?IOTA和对象管理组IOTA协议标准IOTA协议RFC提交的时间表链接加密事务流 (LETS) RFP我们在OMG还有哪些工作?自主身份标准一次性自主身份 RFI物联网和家庭自动化其他标准的提案TangleEE总结

×

请登录

您还未登录,请登录后再进行相关操作!

登 录

注 册

Copyright © 2021 Iota.Love 版权所有

文档资料|IOTA中国社区 | IOTAChina | 埃欧塔

文档资料|IOTA中国社区 | IOTAChina | 埃欧塔

首页

技术前沿

应用案例

业界观点

文档资料

官方动态

在线视频

专栏作者

搜索:

IOTA介绍

行情K线

常见问题

新手指南

基础问题

开发者问题

深度问题

常用工具

IOTA站点导航

Tangle浏览器①

Tangle浏览器②

交易Reattach

IOTA单位换算器

IOTA资源集中贴

Tangle网络会随着交易数量的增加而越来越强健。IOTA 主网 于 2016 年 7 月 11 日上线。因为 IOTA 没有交易手续费,所以非常适合小额交易。IOTA使用了能够抵挡量子计算的演算法。协调器将在网络成熟且可自我成长时逐步取消。ICO所收入的资金用于IOTA项目后续的开发和基金会的运作。IOTA没有矿工,每个建立交易的人同时也是交易的验证人。IOTA具有免费、快速、可扩展、抗量子计算的特性。IOTA专注于物联网与M2M经济,当然也适用于 P2P 支付应用。IOTA于2015年末举行首次ICO。

IOTA中国社区

首页

技术前沿

应用案例

业界观点

文档资料

官方动态

在线视频

专栏作者

搜索:

文档资料

IOTA Chrysalis网络全节点Hornet搭建手记1:软件的安装

IOTA Chrysalis网络全节点Hornet搭建手记1:软件的安装

文档资料 胖子李

3年前 (2021-09-11)

12个赞

目前,IOTA Chrysalis(IOTA 1.5)网络共有两个版本的节点软件,一个是由基金会独立开发的Bee,另一个是由基金会与社区共同维护的Hornet。当前,我们推荐使用Hornet来搭建IO…

阅读全文

IOTA智能合约官方简介

IOTA智能合约官方简介

技术前沿 文档资料 大熊

4年前 (2020-08-22)

20个赞

按照#IOTA# 路线图网站的时间表,下个月将会有#智能合约# 的Poc出来,特将五月官方的一个介绍文章分享给大家。

阅读全文

Coordicide(去协调器)白皮书中文翻译版

Coordicide(去协调器)白皮书中文翻译版

文档资料 Jimmy Xiong

5年前 (2019-09-28)

34个赞

IOTA基金会Coordicide团队于2019年5月底发布了Coordicide白皮书,致力于去除IOTA中的协调器。在IOTA中国社区的努力下,经过初步翻译,以及多次的线上会议讨论交流,校稿整理,…

阅读全文

迈向开放和透明的城市—IOTA生态系统报告(中文版)

迈向开放和透明的城市—IOTA生态系统报告(中文版)

官方动态 技术前沿 文档资料 大熊

5年前 (2019-09-08)

11个赞

智慧城市的实现 世界正变得越来越城市化。据估计,到2050年,全球66%的人口将居住在城市。每天有130万人迁入城市,预计到2060年,全球建筑存量将翻一番;比尔和梅林达•盖茨夫妇2019年的年度公开…

阅读全文

超级简单——ict节点的搭建

超级简单——ict节点的搭建

业界观点 应用案例 文档资料 tigermumu

5年前 (2019-03-05)

17个赞

首先基本要求: 1、静态ip,基础云服务即可,任意配置都行。操作系统建议选择ubuntu,版本16.04以上。 2、java环境 3、没了。 步骤: 1、登录云服务后先查看java环境, 命令:jav…

阅读全文

IOTA私有缠结网络搭建教程

IOTA私有缠结网络搭建教程

文档资料 Jimmy Xiong

5年前 (2018-12-11)

31个赞

本文是官方Compass文档的翻译,在整理形成Doc的完整中文版之前,先在此发布。 Compass概述 Compass是IOTA网络协调器(COO)的开源实现。 它用于确保它所连接的Tangle在均一…

阅读全文

探讨Tangle上由alpha引发的不同行为

探讨Tangle上由alpha引发的不同行为

文档资料 胖子李

6年前 (2018-08-16)

12个赞

Tangle是一个复杂的数学对象。它有一个由单独的随机代理定义的随机结构:随机游走。这使得它的研究具有挑战性,但也非常有趣。为了系统地研究Tangle及其相关的问题,我们必须首先了解它的结构。 本文简…

阅读全文

Alpha:与随机性共舞

Alpha:与随机性共舞

文档资料 tigermumu

6年前 (2018-08-01)

9个赞

如果您关注过图解介绍缠结,您可能会记住一个名为α的神秘参数,它会影响随机行走中的随机性。在本文中,我们将讨论α对tip选择的具体影响,以及编写软件实现时需要考虑的一些问题。 请注意,本文假设您基本了解…

阅读全文

探索IOTA ICT,在谷歌小型云实例f1-micro中测试ICT

探索IOTA ICT,在谷歌小型云实例f1-micro中测试ICT

文档资料 胖子李

6年前 (2018-07-26)

6个赞

IOTA Controlled agenT(ICT)的测试版本Ict 0.1.1已经在官方discord频道发布。本文将介绍如何在谷歌云计算实例(f1-micro)上运行ICT。 本文不讨论ICT要解…

阅读全文

探索IOTA ICT,代码的逆向工程-第一部分

探索IOTA ICT,代码的逆向工程-第一部分

文档资料 胖子李

6年前 (2018-07-25)

4个赞

我们将在本文中探讨如何利用开放的基于Web的Java反编译工具来反编译Java源代码,然后使用标准的Java编译器来对它进行重新编译,修改代码以确认收到UDP数据包,并期望以此来更好的理解ICT的代码…

阅读全文

文章导航

1

2

3

9

下一页

热门文章Sorry. No data so far.

热点关注

iota

IOTA基金会

DLT

iota生态系统

博世

qubic

IoT

IOTA节点

Trinity

iota生态系统基金

分布式账本

tangle

MAM

Trinity钱包

IOTA钱包

工业4.0

物联网

大众汽车

Blockchain

Q

自动驾驶汽车

coordicide

Chrysalis

MIOTA

智能合约

Oracle

CFB

eCl@ss

JINN

iota全节点

联合国

用例

mana

数字资产

Dominik Schiener

spam

缠结

David Sønstebø

qubit

智能城市

戴姆勒

ElaadNL

机器经济

联合国项目事务厅

FPGA

Paracosm

XDK

物联网支付

标准化

钱包

IOTACHINA专注于IOTA相关新闻资讯、技术知识、发展动态等信息,致力于IOTA在中国的推广和落地应用。

关于我们

联系方式

隐私声明

Copyright © 2018 IOTA(埃欧塔)中国社区 IOTACHINA.COM

官方动态:IOTA 2.0的当前进度和下一步的细节 | 我爱IOTA

官方动态:IOTA 2.0的当前进度和下一步的细节 | 我爱IOTA

IOTA 资源

IOTA 官方网站

IOTA 官方博客

Coordicide白皮书(中文版)

IOTA 中国社区

IOTA 官方活动日历

IOTA Archive

IOTA Tangle工具集

IOTA Tangle Explorer

建站资源

NameSilo 域名注册

机场使用检测贴

Protonmail 服务

Porkbun域名注册

首页官方动态

官方动态:IOTA 2.0的当前进度和下一步的细节

BruceX

2021年9月22日 am10:07

官方动态 •

阅读 1332

概述:我们对IOTA 2.0的现状和下一步工作进行了详细介绍。目前的努力主要集中在优化共识和通信层,使协议更有效,更简洁。接下来的步骤包括实施主动防御和可用性功能,如本地快照。

简介

IOTA 2.0的DevNet的发布标志着IOTA基金会历史上最重要的里程碑之一。这是第一次,我们不仅能够在一个真正的、完全去中心化和无协调员的网络中展示IOTA 2.0背后的理念,而且还能够研究不同组件之间的互动。

测量和评估这些组件的性能的能力使我们能够讨论和决定一系列的优化,以使协议更加稳健、高效和不那么复杂。

大部分的变化涉及数据流的小优化和代码的简化。但我们也对通信层进行了调整,并对共识层进行了一些关键性的改变。

对共识层的改进大大简化了协议,使我们能从Tangle中获取所有信息,并以乐观的方式处理传入的交易。第一个实施方案已经完成,我们同时正在进行深入的模拟和准备研究论文。目前还剩下一些更多的调整需要实施,我们正在继续沿着清晰的道路前进。

至于通信层,目前在IOTA 2.0 DevNet中实现了一种高效的调度算法。这与一个速率设定器模块一起工作,以确保公平性和短延迟。作为下一步,我们将实施一种惩罚攻击者的机制,这已经是一种规范。此外,我们目前正在努力提供一个改进的用户体验,以促进网络的可用性。

这篇更具技术性的博文深入探讨了IOTA 2.0改进的细节,描述了当前的状态,并描绘了未来道路的总体情况。

共识层

愿景

正如之前的一篇博文中所描述的那样,现在的节点不再询问其他节点的意见来解决冲突,而是只需要通过观察Tangle来获得他们需要的所有信息。由此产生的协议与IOTA的原始愿景非常相似,它使用了一个纯粹的中本聪式风格的共识,没有额外的投票开销,节点通过在Tangle中创建消息来表达他们的意见。

在FCOB+FPC的情况下,每笔交易都有一个隔离时间,以确定最初的意见,并在冲突无法及时解决的罕见情况下从一开始就打破稳定性。相反,对共识的更改允许节点在不应用隔离时间的情况下陈述其意见。只有当冲突在一段时间内未得到解决时,像FPCS这样的亚稳态破坏机制才会被激活来决定冲突。这种乐观的过程不仅加快了确认时间,还使协议更加简单和精简。

我们现在的情况

对共识的改进的实施正在快速进行。作为模块化的冲突选择功能和类似开关的纯线上投票(OTV–On Tangle Voting)的第一个实现已经完成,我们目前正处于测试、修复错误和编写文档阶段。接下来的步骤包括简化批准权重(AW)的标记和更新工具,即GUI钱包、库和它们的文档。

我们基于FPC的亚稳态破坏器的第一个版本已经被学术界彻底验证(FPC- bi,加权投票快速概率共识)。同样的结果和概念可以扩展到我们目前的优化方案中,该方案是对原始FPC的直接修改,并将很快在严谨的科学论文中提供。我们将继续进行验证,准备一篇科研论文,证明我们改进后的共识机制的实力。

除了描述OTV的机制外,我们将通过运行基于多元宇宙模拟器的广泛模拟研究来分析其性能,该模拟器目前正被扩展为我们共识的一般模拟框架。这包括研究确认时间和各种双花情况下的抗逆力,以及对不利环境的考虑。最后,我们将把OTV与集合上的FPC(FPCS–FPC on a Set)结合在一起,并详细探讨这些共生体的影响。

前面的路

在纯粹的OTV中,节点根据他们对较重的分支的感知来设定他们对冲突的初始意见,这使得协议的行为类似于比特币的最长链规则。这意味着共识本质上是概率性的,客户端(如节点、钱包或交易所)根据他们的安全阈值决定何时将交易视为确认(这在比特币中被称为6块规则)。因此,我们将引入几个固化等级(GoF–Grade of Finality),主要基于批准权重,定义越来越高的安全阈值。等级越高,安全性就越高。然而,在罕见的情况下(例如被日蚀攻击或部分离线),节点可能会在稍后的时间点接收到丢失的信息,这可能会触发对其本地感知的重组,就像比特币一样。值得庆幸的是,高GoF设置使得这些情况几乎不可能发生。尽管如此,这种重组程序需要在节点软件中实现,以重置依赖确认的组件。

一旦我们有了一个稳定的纯OTV版本,并且能进行重组,我们就可以把注意力转移到实现一个与纯OTV并行的破坏性机制上,如果冲突长时间得不到解决,就会启动。具体来说,我们将首先实现快速概率共识集(FPCS)作为一个亚稳态破坏机制,利用以前的积极研究成果。模块化的冲突选择功能允许我们轻松地交换设置初始意见的方式;因此,即使实验其他达成共识的方法,也只涉及代码的微小调整。

作为对Sybil的保护,投票是由cMana加权的。然而,绝对的cMana值可能不会产生足够的信息。相反,我们使用“活跃”的cMana来表达一个节点与所有最近活跃节点之间的权重。因此,活跃的cMana是一个重要的组成部分,需要严格的研究以了解它的边界和局限性。

通信层

愿景

在传统的基于工作证明的分布式账本技术(DLT)中,在账本上添加新消息的权利是由采矿过程保证的,其中一个节点在完成一些计算昂贵的任务后被选出。作为执行这种任务的激励措施,获胜的节点会获得交易费和区块奖励。在这样的DLT中,费用作为一个过滤器来选择哪些信息应该被添加到分类帐中:因此,在网络拥挤的时期,费用的数额会变得很大。

而IOTA旨在成为新兴数字经济的骨干,特别是机器经济。因此,一个需要付费和高配置设备的协议是不可行的,也是不可持续的。然而,取消收费需要采用一个明确的机制来处理大流量的突发事件。

在IOTA基金会中,我们采取了一种受 “标准互联网 “启发的方法来定义IOTA拥堵控制算法(ICCA)。与基于工作证明的DLT不同,我们的方法允许优化利用网络资源,只受网络在带宽和交易处理能力方面的物理限制。此外,ICCA可以被低端节点有效利用,因为它不需要任何昂贵的任务或费用。我们的解决方案还提供了其他几个基本特征。

一致性:所有节点最终都会将相同的信息写入他们的本地账本。

公平性:网络访问被按比例授予 “稀缺资源”,即访问Mana(见下文)。

效率:如果需求存在,网络的全部潜力将被使用。

我们现在所处的位置

本小节描述了一个节点在创建新消息和收到邻居的消息时必须执行的动作,这些动作目前已在IOTA 2.0 DevNet中实现。

消息的生成

保有一定数量的access Mana可以为节点提供了写入的权利。从用户的角度来看,access Mana转化为节点的某种吞吐量。有趣的是,这个吞吐量与当前的流量条件相适应:节点逐步增加他们的消息生成率(吞吐量),直到检测到拥堵;一旦发生这种情况,吞吐量就会减少。节点通过查看其发件箱缓冲区中自己的搁置的消息数量来检测拥堵。

消息接收

在新收到的固化消息(见下一段)通过某些验证过滤器(如签名检查和语法验证)后,它被添加到本地账本。之后,消息被添加到由调度器管理的发件箱缓冲区中,以决定哪条消息必须被添加到提示集中并向邻居八卦。调度器使用一个轻量级的轮询算法来有效地同时处理大量的消息。最近,我们将调度器移到消息预订之后,以优化重新同步的程序。

固化

固化是请求消息的过程,其过去的锥体还不为一个节点所知。同样,在处理交易时,交易的消耗输出(输入)需要被一个节点知道,以便正确验证交易。在过去,协议要求一个交易的所有输入都在其包含消息的过去锥体中。验证某样东西是否在过去的锥体中可能需要在Tangle中遍历,这是一个昂贵的操作,在DevNet中被证明是不可行的。因此,一个不同的固化方法的第一版已经被实施,它不仅取消了过去锥体的要求,而且简化了数据流,并允许更多的并行化。

前方的道路

抵御攻击

在DLT中,恶意节点对影响网络的运作有很大兴趣。出于这个原因,每个解决方案都必须对所有潜在的威胁进行验证。正如我们已经实验证明的那样,ICCA对攻击有弹性:当攻击者试图获得比允许的吞吐量更快的速度时,他们的消息会被诚实的节点延迟,因为他们不会根据当前的访问Mana向量进行调度。因此,攻击者发出的消息将在诚实节点的发件箱中停留很长时间。虽然这并不影响诚实信息的性能,但出于两个原因,识别这种恶意行为很重要。

(i) 攻击者可以夸大其邻居的发件箱中的消息数量,使其资源耗尽;

(ii) 诚实的节点可能在恶意的消息上面有附加,导致各节点的账本不一致。

为了克服这些问题,我们将通过丢弃恶意节点的消息而将其列入黑名单。当他们在发件箱中的消息数量超过一个给定的阈值时,恶意流量就会被发现。这个阈值的设置方式(这对于快速检测恶意行为同时不把诚实的节点列入黑名单至关重要)已经在最近的一篇论文中描述过,并将很快在我们的DevNet中实现。

对信息中的时间戳的有效性进行准确的估计也很重要。例如,旧的消息不应该被添加到调度器中,因为它们很可能已经被邻居收到。另外,附加到旧消息是不可取的,因为这将增加新消息的确认时间(我们假设旧消息已经被验证)。此外,需要准确的时间戳来保证快速重新同步并阻止攻击者损害协议的性能。我们目前正在研究一个指标,称为包容分数(inclusion score),它评估一个消息被认为是 “最近的 “并准备被调度的可能性:这个指标考虑到消息的时间戳和来自发布节点的消息的调度器占用情况。

用户体验

节点的吞吐量是由速率设定器算法调节的。这意味着节点在拥堵的情况下不能连续产生消息,因为它们会受到ICCA的惩罚。我们目前正在努力提供作为访问Mana向量的函数计算的节点吞吐量的估计。有了合理的猜测,就有可能回答以下问题:假设一个用户(钱包或节点)有一个新的消息要发布:应该选择什么样的节点,以便这个消息被快速添加到IOTA账本中?这个研究方向试图将新消息分配给在某一时间点不太忙的节点。我们将这一挑战制定为一个优化问题,并正在测试一些基于消息创建者占用率或每个节点延迟的拟议政策。

另一方面,请记住,一个消息传递到所有节点所需的时间(几乎)与发布节点的访问Mana无关。这意味着访问Mana矢量只调节新消息的创建速度,但它不影响网络的可用性。平均而言,延迟预计会相当低:我们估计,在正常情况下,消息在调度器中只停留几分之一秒;在交通繁忙的情况下,这种延迟会略有增加。在目前的建议中,我们通过设置节点能够发布消息所需的最低法力阈值来处理大流量问题:简单地说,如果这样的阈值较低,更多的节点能够发布消息,可能会造成拥堵。我们目前正在努力根据当前的交通情况,适时地调整这个阈值。

快照

Tangle可能会变得非常大,而且不是每个用户都能跟踪它的整个历史,并追溯到起源阶段。因此,本地快照应该允许节点安全地修剪他们的数据库;也就是说,足够老的数据可以被删除而不损害网络的安全。快照依赖于协议的许多部分,并对分区容忍度有直接影响,因为分区不能在本地快照之外被合并。它也与无信任同步密切相关,因为没有延伸到创世的整个历史的节点,如果没有额外的机制,如Merkle树或多项式承诺,就不能轻易验证分类账的状态。这些课题目前正在研究中。

总结

IOTA 2.0 DevNet为我们的团队提供了宝贵的见解,使我们能够通过一个无领导、无手续费和无许可的分布式账本协议来完全去中心化IOTA网络。

我们在GoShimmer的实施中取得了很大的进展,增加了一些最近的改进(尤其是共识),并开始重构代码库。虽然我们很高兴看到这种朝向稳定的网络实施的迭代进展,但仍有几个关键的研究问题需要我们的团队去评估,去验证,然后在GoShimmer中实施。我们相信,这些变化将使协议整体上更加安全,实施起来更加简单,使用起来更加快捷。

一旦我们实现了所有需要的改变,我们将升级IOTA 2.0 DevNet,并邀请IOTA社区与我们的团队和研究伙伴一起参与并实验改进后的协议。基于该网络的结果和反馈,我们的团队将致力于最终确定IOTA 2.0的规范,并开始开发Go和Rust中的稳定实现。这将导致一个激励性的测试网络的启动,并最终实现IOTA主网的 “协调”。

原文链接:https://blog.iota.org/iota-2-0-details-on-current-status-and-outlook/

本文原文非中文版本,由BruceX进行翻译,如若转载,请注明出处:https://www.iota.love/202109/iota-2-0-details-on-current-status-and-next-steps/

Coordicide

赞 (4)

0

生成分享图片

扫码分享到微信

为欧洲建立一个分布式账本技术!IOTA基金会成为EBSI七个承包商之一

« 上一篇

2021年9月8日 pm2:53

基金会官方推介:IOTA的业务生态系统介绍

下一篇 »

2021年10月1日 pm3:19

相关推荐基金会:IOTA社区金库投票IOTA标准化进展更新–2021年1月三巨头联手:IOTA、Dell 和 Linux 基金会共同发起Alvarium项目!Tangle上的代币化—IOTA数字资产迈向开放和透明的城市—IOTA生态系统报告(中文版)IOTA Coordicide(去协调器)白皮书(简体中文版)IOTA基金会与Curv Custody合作,扩大IOTA代币生态系统!IOTA基金会:2019年11月开发进度报告IOTA开发明星Hans Moog:一种新的“共识”:多界Tangle[第三部分]官方科普:Coordicide中将使用的身份识别和女巫攻击保护机制

文章目录

简介共识层愿景我们现在的情况前面的路通信层愿景我们现在所处的位置消息的生成消息接收固化前方的道路抵御攻击用户体验快照总结

×

请登录

您还未登录,请登录后再进行相关操作!

登 录

注 册

Copyright © 2021 Iota.Love 版权所有