• B
    brianliu

    一、零知识证明介绍

    1.1 区块链技术在数据隐私保护方面的困境

    区块链技术的特点,就是存储在区块链上的数据,对所有人都是公开、透明、不可篡改的,这是区块链技术能以低成本建立商业信任中心的技术基础。但在实际的商业实践中,比如我们把病人的电子病历放到链上,结果所有人都可以知道该病人得了什么疾病,这显然是不可接受的。所以,对链上数据进行加密保护,是区块链技术应用到商业领域的一个技术刚需。

    传统的数据加密技术,无论是基于对称加密还是非对称加密,其特点就是通过密钥对数据进行加密成乱码,使用者持有对应的密钥就可以解开该份乱码,还原为对应的数据。但在区块链场景下,如果单纯使用传统的加密技术,将加密后的数据上传到区块链上,没有持有对应密钥的各方将完全无法知道该数据的内容,从而丧失了区块链数据公开透明的特点,丧失了建立互信的基础,区块链技术在该情况下的使用价值将大打折扣。

    alt text

    所以,如何既能满足链上商业数据的隐私保护要求,又同时不丧失区块链技术公开透明的特点,是一个区块链技术商业落地中必须解决的核心问题。基于密码学的零知识证明技术就应运而生了。

    1.2 零知识证明的通俗介绍

    零知识证明是上世纪80年代提出的一项密码学技术,其应用目的就是一方在不提供任何有用信息的情况下,使另一方相信某个信息是正确的。我们简单的举个理想化的例子通俗的说明一下零知识证明的作用:小明想向A银行贷款300万元买一套房子,A银行需要小明出具一个存款证明,证明他有300万以上的资产才能给他贷款,小明在B银行有2300万的存款,此时小明有两种选择:

    选择1:找B银行开具一个2300万的存款证明给A银行,证明他有300万以上的资产,但这时小明就暴露了自己的资产数量,这是他不愿意的;

    选择2:小明找B银行开具一个2300万的存款证明,在该证明上盖一张纸,在百万那一位挖一个洞,这时A银行可以看到百万位的数字是3,所以小明的存款是在300万以上的,满足贷款条件,而小明也不需要告诉银行其全部的存款信息。在这个理想化的例子中,小明一方没有提供全部的知识,就向另一方银行A证明了自己的资产大于300万,而盖在存款证明上的那张纸和挖的洞,就可以视为零知识证明在该场景下的实现。

    1.3 零知识证明的技术原理

    上是一个通俗的例子,在实际上,零知识证明是这样定义的:

    一种方法,通过该方法,一方A可以向另外一方B证明A知道一个秘密x,但是又不透露任何x的信息。对于任意逻辑f,有一对密钥,分别为证明密钥pk和验证密钥vk。A持有一些秘密x, 通过该函数f计算生成y,即y=f(x)。利用y和x、pk,可以生成证明proof。任意拿到proof和y, vk的人,都可以通过验证知道y确实是f(x)的输出,而不需要知道x的具体信息。

    1.4 零知识证明应用场景介绍

    零知识证明结合区块链技术,在包括商业数据资产交易流转,商业数据隐私保护等方向具备广阔的发展前景。我们以一个真实的医疗数据交换场景举例,来说明零知识证明在数据交易领域的应用意义:

    场景:A保险公司希望向B医院购买某个年龄段的冠心病患者的相关数据用于该病种的保险精算分析,为了简化商业逻辑,我们假设患者的年龄信息是一个隐私数据,医院不能将其透露给保险公司,而保险公司需要取得年龄在40到90岁之间的患者的数据,在这种情况下,区块链+零知识证明的解决方案,可以有效的支持该场景:

    alt text

    B医院用零知识证明技术的加密模块,对原始患者数据中的年龄列进行加密和存证

    B医院将加密完成后的数据和存证结果(1万份,其中40岁到90岁之间的数据有6800份)上传到Ultrain区块链平台,此时数据已经处于不可篡改状态;

    A保险公司向区块链平台查询年龄段在40岁到90岁之间的冠心病患者的数据,平台返回6800份数据给A保险公司,并使用零知识证明模块证明数据的真实性和完整性

    A保险公司可以通过零知识证明验证模块,验证该数据集:a.每个数据的年龄都是在40岁到90岁之间的;b.平台已经返回了全部的该年龄段的数据;

    A保险公司可以使用该数据用于保险精算分析;

    二、Ultrain可编程零知识证明解决方案

    2.1 现有底层技术分析

    以上我们初步介绍了零知识证明技术,目前常见的主流零知识证明技术包括SNARKs、STARKs、Bulletproofs等,这些技术各有特点:

    alt text

    基于[1]对现有主流零知识证明技术的分析对比,我们目前采用SNARK技术作为Ultrain零知识证明技术的底层技术基础。SNARKs技术目前具备这样的优势:首先该技术是目前区块链链上单个交易性能最好的(聚合验证如SNARK虽然可以大大提升单个交易的平均验证速度,但是只有在非常高的并发交易量的情况下,如675倍,才能发挥作用);其次SNARKs可用代码的成熟度最高(如基于rust的更安全的库),并且有诸多后续改进项目持续提高SNARK的可用性和安全度如Sonic[2]、supersonic[3]、Marlin[4]、Fractal[5]。

    2.2 现有技术存在的问题

    虽然SNARKs具备多种优势,但由于其重点关注于零知识证明核心技术部分的实现,在具体应用时,还存在着较多的问题需要解决,主要集中在三个方面:

    性能差

    SNARKs重点关注在技术实现上,证明过程运算需要消耗大量的计算资源,大大限制了其应用范围和平台可移植性;该技术缺乏足够的性能和成熟的高速库,使得类似最基本的匿名交易都无法在手机端完成交易的创建;无法让节点在短时间完成大规模的交易验证。

    架构弱

    SNARKs在应用架构上存在隐私问题,现有的架构依然部分依赖中心化的服务器,让用户的隐私性方面受到一定的挑战;

    开发部署难

    基于零知识证明的商业解决方案,并不仅仅是引入SNARKs模块就能实现的,需要结合商业场景的隐私保护需求,同存证、加解密、数据授权以及区块链结合,才能形成一套完整的解决方案。同时零知识证明原有的开发步骤非常繁琐,代码编写类似于电路编程,对程序员非常不友好,因而商业落地的时候部署难度比较大。

    2.3 Ultrain可编程零知识证明解决方案架构

    alt text
    Ultrain零知识证明解决方案由两部分组成,客户端以及区块链节点端。

    零知识证明客户端

    零知识证明客户端:负责对用户数据,按客户要求的自定义逻辑进行零知识证明的加密和证明处理,处理完成后的加密数据会提交到区块链节点端保存。我们对客户端进行了大量的优化,可以提供Pribox硬件加速版及手机客户端版。

    Pribox硬件加速版针对于需要对大规模数据进行快速处理的情况,可以做到在TPS 1000的情况下针对15个区块链节点完成零知识证明的证明处理工作;

    alt text

    手机客户端版本,通过大量的代码优化和引入并行计算能力,客户端的运算量降低到传统方法的50%,降低了交易延时,同时突破了原有零知识证明只能应用部署在较高计算能力的服务器节点的限制,有助于将零知识证明的能力直接集成到手机客户端中,极大的扩展了零知识证明的应用范围。

    零知识证明区块链节点端

    零知识证明区块链节点端:负责存储加密的业务数据,同时部署用于访问及验证加密数据的零知识证明智能合约。链上组件采用业界最为成熟的Groth16验证方法,同时支持bls12_381和alt_bn128两种曲线,可以分别针对高安全度应用场景和高性能的应用场景进行深度定制。

    同时,为了解决零知识证明难以开发的问题,我们提供了Ultrain零知识证明SDK组件。开发者通过该SDK组件,可以灵活的针对任意数据/任意逻辑关系,进行开发配置,而无需进行传统的类电子电路编程,可以极大的简化程序员的工作量和编程难度。

    2.4 解决方案技术特点

    业界性能最高的隐私交易

    Ultrain的零知识证明方案,比传统的零知识证明运算速度提升50%,是目前业界性能最高的隐私计算;

    与区块链技术无缝对接

    零知识证明方案需要与区块链技术配合使用,本方案与Ultrain区块链完成无缝对接,链上提供了零知识证明的智能合约的模板,方便用户快速创建存证、数据授权、匿名交易等一系列服务。链下采用性能优化后的电路模板,方便用户进行一键使用,与区块链技术快速对接。

    简单易用的硬件部署方式

    采用硬件pribox的方式部署时,用户只需要将pribox部署在本地,即可调用所有链上相关合约,完成大部分的业务相关使用,支持全周期的金融交易和数据隐私保护。完全避免了传统零知识证明部署复杂繁琐的问题。

    完全离线操作,保护用户数据隐私

    本方案在用户的区块链节点完全断网的情况下,用户依然可以通过自己的私钥,访问本地节点中自己有权限访问的隐私数据,让用户真正拥有自己的隐私数据产权。

    以上我们介绍了Ultrain的可编程零知识证明解决方案。在区块链技术应用到商业环境时,零知识证明技术是一项必不可少的关键技术,我们将在区块链数据隐私保护技术方面持续投入,在pribox硬件加速版方面,我们将会把FPGA以及可信硬件加入到pribox中,通过FPGA实现更高性能的硬件加速,以及通过TEE实现更高安全性的可信计算。在零知识证明SDK方面也会持续优化,提供更方便的开发接口,帮助开发者进一步提升零知识证明的开发效率。

    参考文献:

    [1]现有zkp技术对比 https://github.com/matter-labs/awesome-zero-knowledge-proofs#comparison-of-the-most-popular-zkp-systems

    [2] Sonic: Zero-Knowledge SNARKs from Linear-Size Universal and Updateable Structured Reference Strings https://eprint.iacr.org/2019/099

    [3] Transparent SNARKs from DARK Compilers https://eprint.iacr.org/2019/1229.pdf

    [4] A Marlin is One of the Fastest SNARKs in the Ocean https://www.benthamsgaze.org/2019/09/19/a-marlin-is-one-of-the-fastest-snarks-in-the-ocean/

    [5] Fractal: Post-Quantum and Transparent Recursive Proofs from Holography https://eprint.iacr.org/2019/1076

    posted in 资讯 read more
  • B
    brianliu

    alt text

    以下为 2020 年 6 月 8 日- 7 月 5 日项目进展月报,包含#项目开发进展#、#社区动态更新#两项内容,供社区成员们查看,感谢大家对我们一直以来的热切关注!

    项目进展月报(6/8-7/5)

    项目开发进展

    • Ultrain 基础设施

    1)完成签名多线程验证方案设计,开始进行编码实现以提升系统性能;

    2)完成Ubuntu版本家庭节点的自动化部署设计和实现,并完成首台机器部署;

    3)节点证书管理工具增加国密证书生成以及证书冻结、解冻、吊销等管理功能;

    4)完善隐私保护功能,进一步优化零知识证明客户端功能实现。

    • Ultrain 产品生态

    1)超物系平台上线发布商品视频、定时上架、探店员提现等功能;

    2)支持区块链游戏ForceForFast上线,超物系平台已完成若干相关业务成交订单;

    3)与合作伙伴共同完成区块链企业服务平台一期功能建设并上线运行,目前已入驻近50家企业。

    • Ultrain 开发者套件

    1)完成UltrainOne应用TypeScript版本调试以及下一版本的功能规划和设计;

    2)完成企业客户关于积分功能的需求分析,并支持编码实现。

    社区动态更新

    • Ultrain区块链完成对于国密算法的支持

    密码学是区块链的基础,区块链中大量采用了密码学算法,包括对称加密、非对称加密、单向散列算法、数字签名等技术。为了实现密码学技术的自主可控,中国也定义了自己的国密标准,2020年央行颁布的《金融分布式账本技术安全规范》中,明确要求国内的区块链技术必须支持国密算法。

    Ultrain区块链现已完成对国密算法的支持,符合央行安全规范的全部要求。详情请查看技术科普 | 国密算法在Ultrain区块链中的运用

    • Ultrain 超物系完成多项新功能开发

    近期,Ultrain 独立开发的基于小程序店铺的一站式用户增长技术服务平台超物系已正式新增多项功能,如支持用户直接分享店铺名片、一键复制商品分享文案、单独查看奖励板块、单独查看人脉板块、收藏商品,以及面向商家的支持上传视频功能、支持上架无返利商品等功能,欢迎大家进行体验!

    此外,大家最感兴趣的探店掘金活动仍在火热进行中!邀请各行各业商家入驻开店,即会得到开店奖励,还有永久店铺抽成等着你。欢迎大家扫码参加⬇

    alt text

    alt text

    • Ultrain 多项商业合作有序进行

    近日,Ultrain 超物系平台已支持区块链游戏 ForceForFast 成功上线,并已完成众多相关业务成交订单!同时,我们已与合作伙伴共同完成区块链企业服务平台一期功能建设,并成功上线运行,目前已入驻近50家企业。此外,还有众多商业合作有序进行中,敬请期待!

    以上便是 Ultrain 6 月 8 日至 7 月 5 日的项目进展,敬请期待此后的更多精彩内容!

    posted in 资讯 read more
  • B
    brianliu

    密码学是区块链的基础,区块链中大量采用了密码学算法,包括对称加密、非对称加密、单向散列算法、数字签名等技术。

    为了实现密码学技术的自主可控,中国也定义了自己的国密标准,2020年央行颁布的《金融分布式账本技术安全规范》中,明确要求国内的区块链技术必须支持国密算法。Ultrain区块链现已完成对国密算法的支持,符合央行安全规范的全部要求。

    本文首先介绍了对称加密、非对称加密和数字签名的基本概念,然后重点讲述了非对称加密算法中的椭圆曲线密码技术,最后阐述了国密算法在Ultrain区块链中的运用。针对openssl国密算法签名验签性能低下的问题,Ultrain对算法实现进行了优化,实现了3~4倍的性能提升,相关的优化代码已经提交到openssl Github

    https://github.com/openssl/openssl/issues/11992)。

    01

    对称加密与非对称加密

    1.1 对称加密
    对称加密(symmetric cryptography)是指在加密和解密时使用相同密钥的方式。对称密钥有很多别名,如公共密钥密码,传统密码,私钥密码,共享密钥密码等。图1和图2分别是对称密码加密,解密过程,加密和解密使用相同的密钥,所以称为对称加密。

    alt text

    图1. 对称密码加密

    alt text

    图2. 对称密码解密

    1.2 非对称加密
    非对称加密(asymmetric cryptography)在加密和解密时使用不同密钥,非对称加密也称为公钥加密(public-key cryptography)。它们通常是一对密钥: 公钥(public key)和私钥(private key), 公钥加密后的密文,私钥可以解密;私钥加密后的密文,公钥可以解密。公钥是由私钥推导出来的,且公钥是公开的。非对称加密解决了对称加密过程中,加密密钥的分发问题。一般公钥用于加密,私钥用于解密。当私钥用于加密时,本质就是数字签名(digital signature),即用公钥解密可以验证信息确实为私钥加密结果。公钥密码目前主要有如下几种:

    RSA(Ron Rivest, Adi Shamir和Leonard Adleman的姓氏的首字母组成),该算法利用大质因数分解的困难度。

    EIGamal,由Taher EIGamal设计,与RSA不同,它是利用mod N下求离散对数的困难度。

    Rabin,由M.O.Rabin设计的公钥算法。Rabin方式求平方根的困难度

    椭圆曲线密码(Elliptic Curve Cryptography, ECC),

    今天我们重点讲解的密码学算法,它是通过将椭圆曲线上的特定点进行特殊的乘法运算来实现的,它利用了这种乘法算法的逆运算非常困难这一特性。

    公钥密钥算法较对称加密算法运算慢,所以,数据加密用对称加密算法,而公钥密码算法更多的应用于数字签名场景。

    1.3 数字签名
    某天Alice向Bob发送邮件:“hi,Bob,给我打1000000元,账号是6214 6576 8789 8987 账号名Alice”。在现实生活中,Bob可能会打电话给Alice,确认下邮件是否是伪造;还要确认内容有没有被篡改,防止收款账号和金额被恶意修改;当然还有一种场景,Bob把钱打给了Alice,最后Alice却否认发过这封邮件。

    能够防止上述伪造,篡改和否认等威胁的技术就是前面提过的数字签名。通常消息比较长,我们只对消息的散列值进行签名,所以Alice发送邮件的流程如下:

    1. Alice用单向散列函数计算邮件内容的散列值;

    2. Alice用私钥对散列值进行加密,得到的密文就是Alice对这条散列值的签名,由于只有Alice才持有自己的私钥,所以除了Alice本人,其他人无法生成相同的密文,签出的签名Alice也无法抵赖;

    3. Alice将消息和签名发送给Bob;

    4. Bob用Alice的公钥对收到的签名进行解密的到散列值;

    5. Bob将4中的得到的散列值与Alice直接发送的消息的散列值进行对比。如果两者一致,则签名验证成功,否则验证失败。

    alt text

    图3. 数字签名和签名验证

    02

    椭圆曲线加密算法详解

    上面我们了解了对称加密和非对称加密的基本概念,本节我们主要讲用于数字签名的非对称加密算法中的椭圆曲线技术。

    2.1 基本概念
    2.1.1 阿贝尔群
    在数学中,群是一种代数结构,有一个集合以及一个二元运算+所组成,满足以下条件:

    1. 封闭性。集合内两数进行二元运算,结果仍在集合中。

    2. 结合性。a+b+c = a+(b+c)

    3. 单位元。存在单位元0,使得a+0=0+a=a

    4. 逆元。每个元素都存在相反数,对任意a,必存在b使得a+b=0

    5. 交换律。a+b+c = a+c+b

    2.1.2 椭圆曲线方程

    alt text

    图4. 椭圆曲线[1]

    在密码学中,定义在素数域GFp的椭圆曲线方程为:

    E: y2 = x3 + ax + b 其中, a,b∈GFp且(4a3 + 27b2) mod p != 0

    除了p,a,b定义了曲线之外,通常还需要x, y, n来确定一条椭圆曲线。所以,描述一条有限域上的椭圆曲线,有六个变量:T = (p, a, b, x, y, n).

    p - 素数域内点的个数,p越大越安全,但是伴随着计算量的增大

    a, b - 曲线系数

    x, y - G点的x, y轴坐标

    n - 为素数,且是G点的阶。椭圆曲线上一点P,存在着最小的正整数,使得nP=0∞(原点或无穷远点,以下无穷远点用0表示),则称n为P的阶;若n不存在,我们说P是无限阶。在素数域上,椭圆曲线所有点的阶都存在。

    2.1.3 椭圆曲线上点运算
    素数域椭圆曲线上的点也是阿贝尔群。单位元是无穷远点0。椭圆曲线上点P的逆元是其x轴对称的点。

    P和Q分别为素数域GFp上椭圆曲线两点,它们的连线与椭圆曲线交于第三点R(见图5中情况1),有P + Q + R = 0无穷远点。有几种特殊情况,分别是下图中的2,3,4。第2种情况,直线与Q相切,可以看成Q和Q两点相连,与椭圆曲线相交于P点,即Q + Q + P = 0;第三种P,Q两点与y轴平行,因为两条平行线相交于无穷远点,所以有P + Q + 0 = 0;第四种情况,P和P相连,相交于无穷远点。

    alt text

    图5. 椭圆曲线运算[1]

    根据以上我们有如下结论:

    Q + Q + P = 0即Q + Q = -P, (Q + Q) + (Q + Q) = (-P) + (-P),即以P的对称点-P做切线,以此类推,我们可以快速得到2n*Q点, n∈[0, +∞)。在椭圆曲线用于加密中,私钥就是一个大整数,公钥就是椭圆曲线上的点G与私钥的乘积。我们通过私钥的二进制表示快速计算出公钥。

    2.2 算法运用
    椭圆曲线主要用于数字签名,以下是实现数字签名和签名验证的数学计算过程。

    2.2.1 数字签名和签名验证
    数字签名主要需要消息m的散列值(摘要)h,私钥kA,生成最终的结果{r,s};签名验证主要用到公钥P,消息摘要h。以下是签名生成和验签的计算过程。

    生成签名,即计算r和s的过程

    私钥为大数kA,公钥为私钥与G点相乘的点,P = kAG

    生成随机数小k,计算与基点的乘积K=kG,K点的x轴坐标Kx对椭圆曲线阶n的模Kx(mod n)为r,即r = Kx (mod n)

    计算k基于曲线阶的乘法逆元k-1(mod n)

    r已经在第2步中生成,s=k-1(h+kAr)(mod n)

    签名验证

    计算s基于椭圆曲线阶n的逆元s-1

    计算u1 = hs-1

    计算u2 = rs-1

    计算点Q=u1G+u2*P

    取点Q的x轴坐标Qx,若Qx等于r,即签名过程中K点的x轴坐标Kx,则验证通过。

    证明为什么在验证签名过程中有这个特性?

    根据签名计算可知,s=k-1(h+kAr)(mod n),两边乘k有sk=(h+kAr)(mod n)。

    点Q=u1G+u2*P,又P=KAG,有Q=u1G+u2KAG

    把u1和u2代入,Q=hs-1G+rs-1KAG=(h+rkA)s-1G

    把步1公式代入步骤3中,Q=sk*s-1G = kG,所以,假如{r,s}, h正确,点K和点P有相同的x轴坐标

    2.2.2 椭圆曲线与RSA技术对比优势
    之前我们讲过非对称密码RSA,国密推荐使用椭圆曲线加密,因为椭圆曲线比RSA有一定优势:

    更安全。椭圆曲线基于离散对数困难度,计算复杂度是指数级的,求解难度大。而RSA算法是大质因数分解困难度,计算复杂度是亚指数级的。

    更短的密钥。同等安全程度要求下,椭圆曲线算法比其他公钥算法需要的密钥长度小很多。128bit椭圆曲线算法拥有1024bit RSA算法相同的安全程度。

    2.3 常用几种椭圆曲线
    secp256k1. 在比特币和以太坊网络中,用的是secp256k1,p是256位的素数,k代表Koblitz。a=0,b=7。曲线方程即y2=x3+7。Koblitz椭圆曲线具有一些特殊属性,可以更有效地实现组操作。

    secp256r1. secp256k1的姊妹曲线。p也是256位的素数,但值和secp256k1曲线是不一样的,r代表随机。"随机"选择的参数更安全,然而,有些人怀疑随机系数可能已经被选择来提供后门。因此,比特币网络并没有选择它,而是选择了更高效的secp256k1。

    SM2曲线。SM2是基于前人对ECC研究的基础上,中国推荐的标准曲线。GB/T 35276-2017定义了SM2算法的具体实现。

    03

    国密算法在Ultrain中的应用

    Ultrain区块链对国密算法对支持,除了SM2椭圆曲线外,还应用了SM3, SM4。

    SM3 散列算法,生成256bit的散列值,主要用于替换SHA256算法。

    SM4 对称加密算法,Ultrain钱包公私钥加密用SM4取代了aes128。

    3.1 国密算法实现详解
    上面我们讲解了椭圆曲线的原理,SM2曲线也是建立在其之上,但是也有自己的特点:

    3.1.1 SM2中h值的计算
    在secp256k1中,h就是消息的散列值,而在SM2中,计算h值更复杂,需要分两步计算:

    1. 通过sm3算法计算出Z值:
      Z=SM3(ENTL||ID||a||b||xG||yG||xA||yA)
      ID: 用户身份标志的字符串
      ENTL: 两个字节表示的ID的比特长度
      a, b: 曲线参数
      xG, yG:G点坐标x,y轴
      xA,yA:公钥坐标x,y轴

    2. 使用Z和待签名的消息,通过sm3算出杂凑值h,h=SM3(Z||M)

    3.2 国密算法优化
    3.2.1 openssl SM2曲线性能问题
    我们基于openssl开发SM2的实现,但是使用过程中发现签名和验证速度很慢,在Macbook Pro上,每10秒签名22496次,每10秒验签24374次。定位到EC_POINT_mul速度慢。查看openssl的源代码,它没有对2nG, n∈0, 256这样的点进行预缓存。如私钥二进制为:1000 1100,它对于的公钥就是27G + 23G + 22G,而2G,22G,23G...2256G都是已知的,所以只需要椭圆曲线上3个点的+运算,不需要每次重新计算。除此之外,有部分核心功能需要用汇编编写,优化后性能有3-4倍的提高,如下表。

    alt text

    表1. 性能优化前后对比

    相应的优化代码我们已经提交到openssl Github。

    alt text

    图6. 优化代码提交到openssl Github

    3.2.2 SM2签名和消息无法recover公钥
    在secp256k1我们可以根据签名{r,s}和消息恢复公钥,但是SM2却不能通过签名和消息恢复公钥,因为在SM2的h值计算过程中,我们用到了公钥的坐标,所以必须知道公钥了,和只有签名和消息recover公钥相矛盾。因为SM2无法通过签名和消息recover公钥,所以在对交易验证的过程,我们都是取出公钥然后验证。但是,在我们的系统里,一个账号可以拥有几个公钥,所以需要遍历账号的公钥验证交易,导致多公钥账号的交易执行性能会低些。幸运的是,我们统计系统中所有的账号,99%只有一对公私钥,所以理论上不会对系统整体性能造成影响。

    04

    结论

    本文首先介绍了对称加密和非对称加密的基本概念,然后详细介绍了非对称加密技术中的椭圆曲线加密技术,最后阐述了Ultrain区块链对国密算法的支持,椭圆曲线加密部分的理解对数学基础要求比较高。区块链的去中心化信任建立密码学之上,密码学技术又建立在数学之上,所以说,In Math We Trust。

    参考文献:
    [1]. https://encyclopedia.thefreedictionary.com/elliptic+curve

    posted in 资讯 read more
  • B
    brianliu

    Following is the monthly report on the progress of the project from May. 11th -Jun.7th, which contains two items: project development progress and community dynamic update. It is for the community members to check. Thank you for your attention.

    Technology Update from Ultrain (5/11–6/7)

    Ultrain’s Core Technology

    • Ultrain infrastructure

    1. Complete the development of the Windows version of the family mining machine software, and implement the Windows 10 environment automation deployment tool to complete the internal test;

    2. Node software adds on-chain data compression and encrypted storage, and increases data distributed storage mechanism support;

    3. Improve the certificate system management tool to support encrypted authentication communication between nodes and between the client and the server.

    Ultrain’s Ecosystem

    1. New functions of exporting merchant orders, customizing reward rules, intelligent display of user data and other functions have been released on the S.I.R platform and updated versions have been released;

    2. The S.I.R system completes the product video, custom sharing copy and other function development, and enters the test stage;

    3. Complete the construction and development of the blockchain enterprise service platform and data upload, and complete the development of related systems such as new marketing activities for blockchain games.

    Ultrain Developer Kit

    1. Complete TypeScript refactoring for UltrainOne to improve code readability and maintainability.

    Ultrain’s Latest Community & Event Update

    Ultrain fully introduced its own blockchain certificate management system

    Currently, the mainstream blockchain technology in China is called an open license chain. The license chain refers to the owners of all the nodes that make up the license chain. Their identities are authenticated, and they can only join the blockchain network after being authorized by the license. In this scenario, the network is open to authorized organizations or institutions, and there is a collaborative relationship between the participants on the chain, with an access mechanism. As a complete solution, the PKI/CA system can provide identity authentication certificates for each participant in the license chain to realize access control. It can be said that the certificate mechanism is the cornerstone of the permission chain network security.

    Recently, Ultrain technical experts wrote an article, which describes the Ultrain certificate management system in detail after describing the basic concepts of PKI/CA as necessary.

    Ultrain has completed development of many new functions

    Ultrain independently developed a one-stop user growth technology service platform based on a small program store. The super-item system has completed iterations. It has a variety of powerful tool libraries to support the needs of merchant stores in multiple scenarios: SMS and subscription notifications, merchandise Fission posters, user relationship management … In the future, there will also be functions such as social dynamics and interaction, live broadcast playback, etc.

    At present, Superphysical is engaged in store exploration and nugget activities, inviting merchants from all walks of life to open stores, and you will receive a reward for opening a store. Permanently receive 1% of the order transaction amount as a reward.

    Ultrain is working closely with multiple business partners

    Recently, Ultrain has helped a blockchain game to complete the construction of its marketing system, and has also completed the construction and development of a blockchain enterprise service center and data upload. In addition, there are many business partners in close negotiation and cooperation.

    The above is the progress report of Ultrain from May 11th to Jun 7th, looking forward to more exciting contents after that!

    posted in Activity read more
  • B
    brianliu

    alt text

    以下为 2020 年 5 月 11 日- 6 月 7 日项目进展月报,包含#项目开发进展#、#社区动态更新#两项内容,供社区成员们查看,感谢大家对我们一直以来的热切关注!

    项目进展月报(5/11-6/7)

    项目开发进展

    • Ultrain 基础设施

    1. 完成Windows版本家庭矿机软件开发,并实现Windows10环境自动化部署工具,完成内部测试;

    2. 节点软件增加链上数据压缩以及加密存储,并增加数据分布式存储机制支持;

    3. 完善证书体系管理工具,支持节点间及客户端与服务端加密认证通信。

    • Ultrain 产品生态

    1. 超物系平台新增商家订单导出,自定义奖励规则,用户数据智能展现等功能并发布更新版本;

    2. 超物系完成商品视频,自定义分享文案等功能开发,进入测试阶段;

    3. 完成区块链企业服务中台的建设开发和数据上链,并完成区块链游戏新营销活动等相关系统开发。

    • Ultrain 开发者套件

    1. 完成UltrainOne应用TypeScript重构,提高代码可读性及可维护性。

    社区动态更新

    • Ultrain 全面介绍自身区块链证书管理体系

    目前,在中国主流发展的区块链技术被称为开放许可链。许可链指的是所有组成许可链的节点所有者,其身份都是被认证过,被许可授权后,才能加入到该区块链网络的。在这种场景中,网络向授权的组织或机构开放,链上各参与方之间是一种协作关系,存在准入机制。PKI/CA 体系作为完整解决方案,可以为许可链各参与方提供身份认证证书,实现准入权限控制。可以说,证书机制是许可链网络安全的基石。

    近期,Ultrain 技术专家撰文,对 PKI/CA 基本概念进行必要描述后,详细阐述了 Ultrain 证书管理体系。详情请查看一文全面了解 Ultrain 区块链证书管理体系

    • Ultrain 超物系完成多项全新功能开发

    Ultrain 独立开发的基于小程序店铺的一站式用户增长技术服务平台超物系近期已新增多项功能,如支持商家订单导出、自定义奖励规则、用户数据智能展现,并已完成商品视频、自定义分享文案等功能开发,测试通过后将正式上线,届时欢迎商家们进行体验!

    与此同时,探店掘金活动仍在火热进行中,邀请各行各业商家入驻开店,你就将得到开店奖励,还有永久店铺抽成等着你。欢迎扫码了解更多

    Ultrain超脑信任计算-项目进展月报(5/11-6/7)
    Ultrain超脑信任计算-项目进展月报(5/11-6/7)
    • Ultrain 多个商业伙伴紧密合作中

    alt text

    alt text

    近期,Ultrain 帮助某区块链游戏完成营销系统建设,并已完成某区块链企业服务中台的建设开发和数据上链。此外,还有众多商业伙伴紧密洽谈合作中,敬请期待!

    以上便是 Ultrain 5 月 11 日至 6 月 7 日的项目进展,敬请期待此后的更多精彩内容!

    posted in 资讯 read more
  • B
    brianliu

    Cryptography technology is the cornerstone of information technology. Blockchain uses a lot of technological achievements of modern information security and cryptography, mainly including: hash algorithm, symmetric encryption, asymmetric encryption, digital signature, digital certificate and so on. The hash algorithm solves the problem of information integrity verification, the symmetric algorithm improves the efficiency of encryption operations, the asymmetric algorithm solves the problem of symmetric key transfer, and the digital certificate is endorsed by the public key owner, which solves the problem of the public key holder's proof , PKI / CA system has formed a complete solution to solve information security, information confidentiality, integrity and non-repudiation.

    The current mainstream blockchain technology in China is called an open license chain. What is a license chain? It is the owner of all the nodes that make up the license chain. Their identities are authenticated, and they can only join the blockchain network after being authorized by the license.

    In this scenario, the network is open to authorized organizations or institutions, and there is a collaborative relationship between the participants on the chain, with an access mechanism. As a complete solution, the PKI / CA system can provide identity authentication certificates for each participant in the license chain to realize access control. It can be said that the certificate mechanism is the cornerstone of the permission chain network security. After the necessary description of the basic concepts of PKI / CA, this article elaborated the Ultrain certificate management system in detail.

    01 Public key infrastructure

    Public Key Infrastructure (PKI) is a collection of hardware, software, and policies, which is used to complete the generation, management, storage, distribution, and revocation of keys and certificates based on public key cryptosystem system.

    1.1 PKI system

    The PKI system includes a certificate authority CA (Certificate Of Authority, certification center), a registration authority RA and a corresponding PKI repository. CA is used to issue and manage certificates; RA can be used as a part of CA, or it can be independent. Its functions include personal identity verification, CRL management, key generation, and key pair backup. The PKI repository includes LDAP (Lightweight Directory Access Protocol, LDAP). Lightweight Directory Access Protocol) directory server and common database, used to store and manage user applications, certificates, keys, CRL (Certificate revocation lists) and logs, and provide certain query functions.

    1.2 Certificate application process

    • User application:

    The user generates his own public key and private key, submits the public key and his own identity information to the security server, and the security server transmits the user's application information to the RA server.

    • RA audit:

    The user proves his identity to the RA, and the RA checks after receiving the user's application. If the RA agrees with the user's request for a certificate, digitally sign the certificate application information; otherwise, the user's application is rejected.

    • CA issued certificate:

    The RA transmits the user application and the RA signature to the CA. The CA authenticates the RA digital signature. If the verification is passed, the CA agrees to the user request, issues a certificate, and then outputs the certificate. If the verification fails, the certificate application is rejected.

    • RA forwarding certificate:

    The RA obtains a new certificate from the CA, first outputs the certificate to the LDAP server to provide directory browsing, then notifies the user of the successful issuance of the certificate, informs the certificate of the serial number, and downloads the certificate to the specified website.

    • User certificate acquisition:

    The user uses the certificate serial number to specify the website to download his digital certificate.

    1.3 X.509 certificate format

    The mainstream certificate format is X.509 format. The X.509 standard stipulates what information a certificate can contain and explains how to record the information.

    X.509 structure includes Version Number, Serial Number, Signature Algorithm, Issuer, Validity, Subject, Subject Public Key Information (Subject Public) Key Info), subject public key algorithm (Public Key Algorithm), subject public key (Subject Public Key), certificate signature algorithm (Certificate Signature Algorithm) and certificate signature (Certificate Signature).

    1.4 Certificate verification principle

    1. Use the same hash function for the plain text in the certificate to get the digest value H1.

    2. Use the CA root certificate to verify the signature validity of the client certificate, that is, the signature in the certificate is de-signed with the public key of the CA root certificate, and the de-signed result is compared with H1 in step 1. If they are consistent, the certificate is trusted The root certificate is issued, and the contents of the certificate have not been tampered with.

    3. Check whether the client certificate is valid (the current time is within the validity period defined in the certificate structure).

    4. Check whether the client certificate is invalid (OCSP method or CRL method).

    5. Verify the purpose of the certificate in the client certificate structure.

    All the above information is verified, then the public key information of the client in the certificate can be used in subsequent operations.

    02 Ultrain Certificate Management System

    The authorized nodes of the permission chain form an alliance to share and access data. The PKI system is a complete and mature system for user auditing, identity management and privacy protection. Ultrain defines a set of top-down certificate management processes to achieve permission management and access control of license chain nodes.

    2.1 Ultrain certificate system

    Ultrain uses a CA-oriented access mechanism to implement authentication and dynamic management based on X.509 format certificates. According to the existing business scenario, the certificate system is shown in Figure 2, and includes the following types from top to bottom: root certificate, chain certificate, node certificate, and user certificate.

    Root certificate: The root certificate is a self-signed certificate, which is the root of all certificates, and the corresponding private key file is jointly managed by the alliance committee.

    Chain certificate: In a multi-chain architecture, a single chain management agency generates a chain private key and generates a request file chain.csr to send to the alliance committee. After the alliance committee passes the review, the chain certificate chain.crt is issued.

    Node certificate: The node certificate is issued by a chain certificate. The node generates and saves its own private key file node.key, and generates a request file node.csr and sends it to the chain management agency. After the chain management agency passes the verification, it issues a node certificate node.crt. The node certificate is the identity certificate of the node. The node with the node certificate can establish an SSL link with the node in the blockchain network to achieve encrypted communication between the nodes.

    User certificate: The user certificate is issued by the node that provides the chain access interface. The user generates and saves his own private key file sdk.key, and generates a request file sdk.csr and sends it to the node management organization that needs to be accessed. After the node management organization passes the verification, the user certificate sdk.crt is issued. The user certificate is the client's identity credential, and the client with the user certificate can access the link port normally.

    Ultrain provides a set of certificate application issuance management procedures to facilitate the application, verification and issuance of certificates at all levels.

    替代文字

    2.2 Certificate usage scenarios and verification

    The root certificate is jointly managed by the Ultrain Alliance Committee. At present, it uses a self-signed certificate. It can also be connected to a commercial certificate issuing agency and use a certificate issued by an authority. When the business needs to establish a new side chain, the side chain management agency submits the certificate request file, and the alliance committee uses the root certificate to issue the chain certificate after the alliance committee passes the review; the chain certificate is managed by the chain management committee, and the chain management committee receives the alliance member to become the operation The node certificate request file is issued by the committee after the committee passes the review; the alliance members use the node certificate to access the side chain node network before they can send and receive consensus and transaction information normally. If the node provides an on-chain data access interface, a user certificate needs to be issued to the client for use; the client uses the user certificate issued by a specific node to access the data interface provided by the node for data reading, transaction sending, etc. operating.

    Node certificate verification

    Node certificates are used when building chains between nodes. After the link based on certificate verification is established, the node can form a P2P network, so as to achieve the spread of consensus protocol information and transaction information. The following figure shows the process of using the node certificate.

    替代文字

    When a node is started, carrying its own node certificate can establish an SSL secure link with a node that also has the node certificate. When the certificate expires and is tampered with, it cannot be added to the P2P network, so the data on the chain cannot be shared and propagated.

    In Ultrain's certificate revocation (CRL) management system, the revocation of the certificate is completed by the certificate issuing authority. Nodes can periodically obtain the CRL list from the CA Management Center. Heartbeat messages between nodes need to carry their own node certificates. When the node certificate is not carried or the carried certificate is in the CRL list, the heartbeat message detection end will actively tear down the link with the detected end to achieve real-time access management control .

    User certificate verification

    When the client accesses the link port provided by the node, it can choose to verify the node certificate to verify the identity of the node. In this case, a certificate chain composed of a root certificate and a chain certificate needs to be used to verify the node certificate. In addition, the client needs to provide the user certificate to the node. The node's HTTPS service will verify the user certificate provided by the client (using the root certificate, chain certificate and node certificate to form the certificate chain for verification), and will also check the CRL revocation list , When the verification is passed and the user certificate is not in the CRL list, the SSL link is successfully established for normal communication, otherwise the link cannot be established, thereby ensuring the security of communication between the client and the node.

    posted in Activity read more
  • B
    brianliu

    密码学技术是信息技术的基石,区块链中大量使用了现代信息安全和密码学的技术成果,主要包括:哈希算法、对称加密、非对称加密、数字签名、数字证书等。哈希算法解决了信息完整性验证问题,对称算法提高了加密运算效率,非对称算法解决了对称密钥传递问题,数字证书则为公钥所有者背书,解决了公钥持有者的证明问题,PKI/CA 体系形成了解决信息安全、信息机密性、完整性和抗抵赖的完整解决方案。

    目前在中国主流发展的区块链技术被称为开放许可链,什么叫做许可链呢?就是所有组成许可链的节点所有者,其身份都是被认证过,被许可授权后,才能加入到该区块链网络的。

    在这种场景中,网络向授权的组织或机构开放,链上各参与方之间是一种协作关系,存在准入机制。PKI/CA 体系作为完整解决方案,可以为许可链各参与方提供身份认证证书,实现准入权限控制。可以说,证书机制是许可链网络安全的基石。本文对 PKI/CA 基本概念进行必要描述后,详细阐述 Ultrain 证书管理体系。

    01

    公钥基础设施

    公钥基础设施(Public Key Infrastructure,简称 PKI)是一个包含硬件、软件和策略等集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能的完整系统。

    1.1 PKI 系统

    PKI 系统包括证书机构 CA(Certificate Of Authority,认证中心)、注册机构 RA 和相应的 PKI 存储库。CA 用于签发并管理证书;RA 可作为 CA 的一部分,也可以独立,其功能包括个人身份审核、CRL管理、密钥产生和密钥对备份等;PKI 存储库包括 LDAP(Lightweight Directory Access Protocol,轻量目录访问协议)目录服务器和普通数据库,用于对用户申请、证书、密钥、CRL(Certificate revocation lists)和日志等信息进行存储和管理,并提供一定的查询功能。

    alt text
    图1 PKI系统

    1.2 证书申请过程

    • 用户申请:

    用户生成自己的公钥和私钥,将公钥和自己的身份信息提交给安全服务器,安全服务器将用户的申请信息传送给 RA 服务器。

    • RA 审核:

    用户向 RA 证明自己的身份,RA 收到用户的申请后进行核对。如果 RA 同意用户申请证书的请求,则对证书申请信息做数字签名;否则拒绝用户的申请。

    • CA 发行证书:

    RA 将用户申请和 RA 签名传输给 CA,CA 对 RA 数字签名做认证,如果验证通过,则同意用户请求,颁发证书,然后将证书输出。如果验证不通过,则拒绝证书申请。

    • RA 转发证书:

    RA 从CA 得到新的证书,首先将证书输出到 LDAP 服务器以提供目录浏览,再通知用户证书发行成功,告知证书序列号,到指定的网址去下载证书。

    • 用户证书获取:

    用户使用证书序列号去指定网址下载自己的数字证书。

    1.3 X.509 证书格式

    主流的证书格式为 X.509 格式。X.509 标准规定了证书可以包含什么信息,并说明了记录信息的方法。

    X.509 结构中包括版本号(Version Number)、序列号(Serial Number)、签名算法(Signature Algorithm)、颁布者(Issuer)、有效期(Validity)、主体(Subject)、主体公钥信息(Subject Public Key Info)、主体公钥算法(Public Key Algorithm)、主体公钥(Subject Public Key)、证书签名算法(Certificate Signature Algorithm)和证书签名(Certificate Signature)。

    1.4 证书验证原理

    1. 对证书中的明文利用相同的散列函数得到摘要值 H1。

    2. 用 CA 根证书验证客户证书的签名合法性,即证书中的签名用 CA 根证书的公钥解签,解签的结果与步骤 1 中的 H1 对比,如果一致,说明证书是由信任的根证书签发,且证书的内容没有被篡改。

    3. 检查客户证书是否有效 (当前时间在证书结构中的所定义的有效期内)。

    4. 检查客户证书是否作废 (OCSP 方式或 CRL 方式)。

    5. 验证客户证书结构中的证书用途。

    上述所有信息都验证通过,那么证书中客户的公钥信息就能够在后续的操作中使用。

    02

    Ultrain 证书管理体系

    许可链经过授权的节点组成联盟从而共享和访问数据。PKI 体系是一套用户审核、身份管理和隐私保护的完整的、成熟的体系,Ultrain 定义了一套从上而下的证书管理流程,从而实现许可链节点的权限管理和访问控制。

    2.1 Ultrain 证书体系

    Ultrain 采用面向 CA 的准入机制,实现基于 X.509 格式证书的认证和动态管理。根据现有业务场景,证书体系如图 2 所示,自上而下包含以下类型:根证书、链证书、节点证书和用户证书。

    根证书:根证书是一个自签名的证书,为所有证书的根,对应的私钥 key 文件由联盟委员会共同管理。

    链证书:在多链架构中,单链管理机构生成链私钥,并生成请求文件 chain.csr 发送给联盟委员会,联盟委员会审核通过后签发链证书 chain.crt。

    节点证书:节点证书由链证书签发。节点生成并保存自己的私钥文件 node.key,并生成请求文件 node.csr 发送给链管理机构,链管理机构审核通过后签发节点证书 node.crt。节点证书是节点的身份凭证,拥有节点证书的节点能够与区块链网络中节点建立 SSL 链接,实现节点间的加密通信。

    用户证书:用户证书由提供链访问接口的节点签发。用户生成并保存自己的私钥文件 sdk.key,并生成请求文件 sdk.csr 发送给需要访问的节点管理机构,节点管理机构审核通过后签发用户证书 sdk.crt。用户证书是客户端的身份凭证,拥有用户证书的客户端才能正常访问链接口。

    Ultrain 提供了一套证书申请签发管理程序,方便各级证书的申请、验证及签发。
    alt text

    图2 Ultrain 证书体系

    2.2 证书使用场景及验证

    根证书由 Ultrain 联盟委员会共同管理,目前采用自签名证书,也可以与商业证书签发机构对接,使用权威机构签发的证书。当业务需要建立新的侧链时,该侧链管理机构提交证书请求文件,联盟委员会审核通过后使用根证书签发链证书;链证书由该链管理委员会进行管理,链管理委员会接收联盟成员成为运行节点的证书请求文件,委员会审核通过后签发节点证书;联盟成员使用节点证书以接入该侧链节点网络,才可以进行共识及交易信息的正常收发。如果该节点提供链上数据访问接口,则需签发用户证书提供给客户端使用;客户端使用特定节点签发的用户证书,才可以正常访问该节点提供的数据接口,进行数据读取、交易发送等操作。

    节点证书验证

    节点证书在节点间建链时使用。基于证书验证的链接建立之后,节点才能组成 P2P 网络,从而实现共识协议信息和交易信息的传播,下图为节点证书的使用流程。

    alt text

    图3 Ultrain 节点证书验证流程

    节点在启动时,携带自己的节点证书可以与同样拥有节点证书的节点建立 SSL 安全链接。当证书过期、被篡改时,不能加入到 P2P 网络中,从而不能共享和传播链上数据。

    在 Ultrain 的证书吊销(CRL)管理体系中,证书的吊销由该证书签发机构完成。节点可以向 CA 管理中心定期获取 CRL 列表。节点间的心跳报文中需携带自己的节点证书,当不携带节点证书或携带的证书在 CRL 列表时,心跳报文检测端会主动拆掉与被检测端的链接,实现实时的接入管理控制。

    用户证书验证

    客户端访问节点提供的链接口时,可以选择校验节点证书,以验证节点身份,此时需使用根证书、链证书组成的证书链对节点证书校验。另外,客户端需提供用户证书给节点,节点的 HTTPS 服务会校验客户端所提供的用户证书(使用根证书、链证书以及节点证书组成的证书链进行校验),同时会检查 CRL 吊销列表,校验通过且该用户证书不在 CRL 列表时,则成功建立 SSL 链接,进行正常通信,否则则不能建立链接,从而保证了客户端与节点间的通信安全。

    posted in 资讯 read more
  • B
    brianliu

    Ultrain Monthly Report(4.13–5.10)

    Following is the monthly report on the progress of the project from Apr. 13th -May.0th, which contains two items: project development progress and community dynamic update. It is for the community members to check. Thank you for your attention.

    Technology Update from Ultrain (4/13-5/10)

    Ultrain's Core Technology

    1. Complete the node code to support the development of the national secret algorithm switching function;

    2. Complete the development and deployment test of the light node world state Merkel verification scheme code;

    3. The performance of the OpenSSL national secret component SM2 is optimized, and the performance of verification is increased by 400%;

    4. The system contract is increased to provide a new solution for large-volume lock-up;

    5. Develop a new solution for the Windows version of the family mining machine;

    6. The system adds a transaction signature verification preprocessing and caching mechanism, and the overall TPS of the system is increased by 30%.

    Ultrain’s Ecosystem

    1. S.I.R. completes the development of the shop assistant activity and officially launches it;

    2. A new version of the S.I.R Merchant is released in the background, with online fund management, commodity management, store opening assistance and other functions;

    3. Complete the technical docking of the blockchain game stationed in the S.I.R system, and complete the preparation of the business online.

    Ultrain Developer Kit

    1. Complete U3 SDK to add national secret algorithm to support code development and testing;

    2. Complete the reconstruction of UltrainOne code and upgrade to use the latest version of RN.

    Ultrain’s Latest Community & Event Update

    Ultrain released "Adaptive Dynamic Networking" function on time

    On April 15, Ultrain successfully completed the release of the "Adaptive Dynamic Networking" function according to the planning of the 2020 technology roadmap. The code was released on Github as follows:

    https://github.com/ultrain-os/ultrain-core-production/tree/4.0.0

    This article describes in detail how Ultrain's "adaptive dynamic networking" function is designed technically, welcome to read the original text, technical breakthroughs | Adaptive dynamic networking method to improve the efficiency of blockchain consensus.

    Ultrain S.I.R. completed version iteration

    Ultrain independently developed a one-stop user growth technology service platform based on a small program store. The super-item system has completed iterations. It has a variety of powerful tool libraries to support the needs of merchant stores in multiple scenarios: SMS and subscription notifications, merchandise Fission posters, user relationship management ... In the future, there will also be functions such as social dynamics and interaction, live broadcast playback, etc.

    At present, Superphysical is engaged in store exploration and nugget activities, inviting merchants from all walks of life to open stores, and you will receive a reward for opening a store. Permanently receive 1% of the order transaction amount as a reward.

    alt text
    alt text

    Ultrain co-founder & CEO Guo Rui was interviewed by technology practitioners

    Recently, Guo Rui, co-founder and CEO of Ultrain, was interviewed by "Technologists" to discuss the opportunities that the blockchain industry can grasp in the new infrastructure environment, and said that the public chain is the key to building a new type of trust relationship.

    "Technology Walker" is an intelligent information service platform dedicated to recording and promoting AI industry applications, industrial development, technological innovation and AI Democracy. This time, the "Blockchain Revelation" column was launched to visit blockchain practitioners. In order to discover new opportunities and bring inspiration to the blockchain industry, Guo Rui is an important member of the interviewees.

    alt text

    Ultrain technical in-depth article released

    Recently, Ultrain technical experts wrote a special article to explain how Ultrain can reduce the cost of running full-node blockchain and expand the application scenarios of blockchain technology. On the basis of them, a new light node scheme is proposed, which can not only meet the functional requirements of verifying the specific value of the account at a certain time when the verification transaction has occurred, but also meet the performance and robustness requirements of the consensus. The performance is more than 10 times that of the Ethereum solution.

    The above is the progress report of Ultrain from Apr 13th to May 10th, looking forward to more exciting contents after that!

    posted in Activity read more
  • B
    brianliu

    替代文字

    以下为 2020 年 4 月 13 日- 5 月 10 日项目进展月报,包含#项目开发进展#、#社区动态更新#两项内容,供社区成员们查看,感谢大家对我们一直以来的热切关注!

    项目进展月报(4/13-5/10)

    项目开发进展

    • Ultrain 基础设施

    1. 完成节点代码支持国密算法切换功能开发;

    2. 完成轻节点世界状态默克尔校验方案代码开发并部署测试;

    3. OpenSSL国密组件SM2性能优化,验签性能提高400%;

    4. 开发Windows版本家庭矿机新解决方案;

    5. 系统增加交易签名验证预处理和缓存机制,系统整体TPS提高30%。

    • Ultrain 产品生态

    1. 超物系完成探店员活动相关开发并正式上线;

    2. 超物系商家后台发布新版本,上线资金管理,商品管理, 开店帮助等功能;

    3. 完成区块链游戏入驻超物系的技术对接,完成业务上线准备工作。

    • Ultrain 开发者套件

    1. 完成U3 SDK增加国密算法支持代码开发及测试工作;

    2. 完成UltrainOne代码重构,升级使用最新版本RN。

    社区动态更新

    • Ultrain 按时发布“自适应动态组网”功能

    4月15日,Ultrain按2020年技术路线图的规划,顺利完成了“自适应动态组网”功能的发布,代码发布在Github的如下TAG:https://github.com/ultrain-os/ultrain-core-production/tree/4.0.0

    本文详细介绍了Ultrain的“自适应动态组网”功能在技术上是如何设计的,欢迎戳原文阅读技术突破 | 提高区块链共识效率的自适应动态组网方法

    • Ultrain 超物系完成版本迭代

    Ultrain 独立开发的基于小程序店铺的一站式用户增长技术服务平台超物系完成版本迭代,具备多种强大的工具库用以支持商家店铺在多种场景下的需求:短信及订阅通知、商品裂变海报、用户关系管理... ...未来还将有社交动态及互动、直播观看回放等功能陆续上线。详情请戳我,一线城市打工族,工资6K,副业2W... ...

    目前超物系正火热进行探店掘金活动,邀请各行各业商家入驻开店,你就将得到开店奖励,与此同时,从今往后你邀请入驻的店铺每交易成功一笔,你都将永久获得订单成交金额的 1% 作为奖励。欢迎扫码了解更多

    替代文字

    替代文字

    Ultrain 联合创始人&CEO郭睿接受科技行者采访

    近期,Ultrain 联合创始人&CEO 郭睿接受“科技行者”采访,谈论新基建环境下区块链行业可以把握的机会,并表示公链才是构建新型信任关系的关键所在。

    “科技行者”是一个只谈智能的信息服务平台,致力于记录并推动 AI 行业应用、产业发展、技术创新和 AI Democracy,此次推出《区块链启示录》栏目,遍访区块链从业者以期从中发现新机遇、为区块链行业带来启示,而郭睿便是受访者其中重要一员。欢迎感兴趣的朋友们戳原文阅读新基建,新商业:用区块链构建新信任生态 。

    替代文字

    Ultrain 技术深度文章发布

    近日,Ultrain 技术专家特撰文讲解 Ultrain 如何降低运行区块链全节点成本、扩大区块链技术应用场景,表示比特币和以太坊用以解决此类问题的方案都存在一定的不足,而Ultrain在它们的基础上,提出了新的轻节点方案,既可以满足验证交易发生过和验证某个时刻账户的具体数值的功能性要求,同时也能满足共识在性能和健壮性方面的要求,其中在性能方面是以太坊方案的10倍以上。全文通用干货,欢迎戳原文阅读 如何降低运行区块链全节点成本?这里有全新轻节点方案

    以上便是 Ultrain 4 月 13 日至 5 月 10 日的项目进展,敬请期待此后的更多精彩内容!

    posted in 资讯 read more
  • B
    brianliu

    随着区块链网络的运行,节点数据量越来越大,运行区块链全节点的成本越来越高,现在一个区块链的全节点,区块数据存储量动辄就要几百G到上T,一方面直接导致运行全节点的区块链计算机的存储成本极大提高,如果我们想把区块链节点跑在一台普通PC上,光区块链数据就使用了普通PC一大半的硬盘存储空间,这显然是很难让人接收的;一方面也大大限制了区块链技术的应用场景,无论是手机还是IoT物联网设备,现在都不具备加载几T存储硬盘的能力。

    为了解决这个问题,不同的区块链平台都提出了各自的轻节点解决方案,其中比较典型的是比特币的SPV方案和以太坊的状态校验方案。但是这两种方案都存在一定的不足,比特币的SPV方案可验证交易确实发生过,但无法验证在某个时刻账户的具体数值;以太坊的状态校验方案即可以验证交易发生过,也可以验证某个时刻账户的具体数值,但由于该方案需要将数据写入块头,导致共识的性能下降以及健壮性降低。

    Ultrain在比特币的SPV方案和以太坊的状态校验方案基础上,提出了新的轻节点方案,既可以满足验证交易发生过和验证某个时刻账户的具体数值的功能性要求,同时也能满足共识在性能和健壮性方面的要求,其中在性能方面是以太坊方案的10倍以上。

    采取轻节点模式的节点不需要同步巨量的区块数据,利用世界状态默克尔校验方式,节点不需要重放历史区块即可校验状态的正确性,从而可以使能更多应用场景(比如在资源受限的嵌入式设备运行轻节点等)。本文将从世界状态校验问题引出,比特币SPV方案,以太坊世界状态校验方案以及Ultrain所采取的具体方案等方面对轻节点世界状态校验技术方案进行详细阐述。

    一、 节点同步数据量

    区块链节点网络可以理解为一个分布式的状态机,各个节点从相同的创世状态开始,根据每个区块内包含的交易,将创世状态逐块更新,形成不断更新的世界状态。随着时间的推移,每个节点本地存储的数据会不断增长,主要包括历史区块数据以及不断更新的世界状态数据。比特币创世至今135个月(2009/01~2020/03)所生产的区块累积数据量已经达263.6GB,且现在以每个月四个多GB的速度在增长。

    alt text

    图1 比特币区块大小(https://btc.com/stats/block-size)

    以太坊全节点以full模式进行同步时(节点会从网络同步所有的区块头,区块体并重放区块中的交易以生成世界状态数据),当前需同步的数据已经达到两三百GB,如对历史世界状态进行archive,则数据量已经超过4T。以太坊节点还支持fast模式进行同步,该模式与full模式的区别在于不重放区块中的交易去重构世界状态,而是从网络同步状态数据。此外,以太坊节点也支持light同步模式,此种模式下节点仅同步区块头数据,不同步区块体和状态数据,仅在需要相应的区块和状态时去从网络上获取。

    alt text

    图2 以太坊全节点同步数据量(https://etherscan.io/chartsync/chaindefault)

    alt text

    图3 以太坊全节点Archive模式数据量

    https://etherscan.io/chartsync/chainarchive)

    从以上比特币和以太坊的数据我们可以看出,部署运行一个全节点所需同步的数据量越来越大,从而导致节点机器硬件规格要求以及网络带宽门槛越来越越高。一个新节点需要花数天时间才能完成历史数据同步,然后才能开始参与共识过程进行出块。运行全节点成本比较高,在比特币白皮书中提到了轻节点可采用的SPV方案,可以在不同步全部区块数据的情况下,也能进行支付验证。这里的支付验证,只是验证该笔交易支付发生过,并不是验证交易的合法性(比如账户余额是否大于转账金额等)。

    二、 比特币SPV方案

    比特币白皮书中描述了SPV ( Simple Payment Verification ),即简单支付验证。SPV是一个在轻节点环境下,不用运行全节点、只需保存所有的区块头,就能验证支付有效性的技术方案。比特币中区块结构分为区块头和区块体两部分,区块头包含区块的必要属性,仅 80 字节大小;区块体包含当前区块下的所有交易,一般一个区块包含成百上千笔交易,每笔交易一般要 400 多字节。

    alt text

    图4 比特币区块结构

    如图4所示,比特币使用了默克尔树的数据结构来组织区块体内包含的交易:将区块内所有交易成对分组,并对交易进行哈希处理,然后对所得的哈希继续进行哈希处理,重复此过程,直到只剩下一个哈希,称为默克尔根(merkle root)。默克尔树底部的节点,就是交易数据的哈希值。每一个父节点,都是两个子节点哈希值组合后的哈希值。通过层层往上计算,最终算得根节点。这个默克尔根数值存储于比特币的区块头中。

    轻节点从区块链网络上获取了最长链上的所有区块头并在本地进行存储后,即可进行进行SPV支付验证:轻客户端首先计算待验证支付交易的哈希值;然后定位到包含该交易哈希所在的区块,并从区块中获取构建待验证支付交易默克尔树所需的哈希值序列;根据待校验交易的哈希值以及其所需哈希值序列,计算出默克尔根;将计算所得默克尔根数值与区块头中的默克尔根进行比对,如相等则证明交易是真实存在的。

    比特币区块头的大小始终是固定的80个字节,每小时出块约为6个,每年出块52560个,则每年新增的存储量约为4M 字节,SPV方案极大节省了轻节点的存储空间。从上述过程我们可以看出,比特币的这种SPV方案,仅确保校验的交易确实发生过,但不能用来校验交易所导致的世界状态的变化。以太坊在区块头中存储了交易的默克尔根数值,可以适用类似比特币的SPV方案;此外以太坊的区块头中还存储了世界状态的默克尔根数值,可以用来进行世界状态数值的校验。

    三、 以太坊世界状态校验方案

    以太坊的账户包含四个属性,nonce,balance,storageRoot和codeHash;以太坊用stateObject来管理账户状态,账户以Address为唯一标示;所有账户对象逐一插入Merkle-PatricaTrie(MPT)结构里,形成stateTrie。区块头数据结构中的Root字段存储了stateTrie的root数值,即世界状态的哈希值。

    alt text

    图5 以太坊区块头世界状态哈希字段

    我们假设在以太坊区块链上有两个账户A和账户B,初始账户余额均为10个以太币,在编号为1000的区块中发生过这样一笔交易:账户A向账户B转账一个以太币,将账户A的余额修改为9个以太币,账户B的余额修改为11个以太币(不考虑矿工费)。在与比特币SPV类似的以太坊的轻客户端中,我们可以利用在区块编号为1000块的块头中存储的交易的默克尔根数据,校验确实发生过账户A向账户B转账一个以太币这样一笔交易,但是仅利用交易的默克尔根数据,不能校验账户A的余额是不是9个以太币(或者账户B的余额是不是11个以太币),即不能校验世界状态的具体数值。

    在以太坊的区块头的世界状态默克尔根数值(字段Root)可以用来完成世界状态具体数值的校验。该字段为以太坊StateDB中的“state Trie”的根节点的RLP哈希值。区块中,每个账户以stateObject对象表示,账户以Address为唯一标示,其信息在相关交易(Transaction)的执行中被修改。所有账户对象可以逐个插入一个Merkle-PatricaTrie(MPT)结构里,形成“state Trie”。

    以太坊EIP-1186中增加了eth_getProof接口用于返回账号(account)及其状态(storage values)的默克尔校验所需的信息(merkle path),用于完成世界状态数值校验。eth_getProof有三个输入参数:

    1. DATA: 20字节 – 为账户的地址(外部账户/合约账户)

    2. ARRAY:32字节 – 为代校验状态数据的地址

    3. QUANTITY|TAG: – 为指定的区块编号或者字符串"latest" 或 "earliest"

    alt text

    图6 以太坊eth_getProof接口请求参数

    该接口返回数据如下:

    1. balance:账户余额

    2. codeHash:合约账户代码哈希数值,外部账户则返回固定数值

    3. nonce:账户nonce值,表示发了多少笔交易或创建了多少个合约

    4. storageHash:状态数值的默克尔根数值

    5. accountProof:账户校验所需的默克尔序列数组

    6. storageProof:状态数值校验所需的信息数组,包括以下字段:

    Ø key:状态数值对应地址

    Ø value:状态具体数值

    Ø proof:状态数值校验所需的默克尔序列数组

    alt text

    图7 以太坊eth_getProof接口返回数据

    轻节点通过eth_getProof接口获取上述返回信息后,首先根据返回的四个属性值[nonce, balance, codeHash,storageHash]构建账户对象,进行RLP编码后进行哈希操作,得到的数值与accountProof结合可以与在区块头中存储的世界状态默克尔树根数值进行校验;校验通过后,则相当于确认了storageHash字段的正确性,再结合storageProof中的默克尔序列可以完成对状态数值的校验。相关校验示例代码如下所示:

    alt text

    图8 以太坊状态校验示例代码

    四、 Ultrain世界状态校验方案

    以太坊采用MPT树(Merkle-PatricaTrie)管理所有账户对象,stateTrie存储了所有账户的信息,比如余额,发起交易次数,虚拟机指令数组等信息,随着每次交易的执行,stateTrie 其实一直在变化,区块内所有交易完成后,所有账户信息的即时状态的默克尔根数值会记录到区块头中。

    Ultrain采用chainbase存储所有世界状态信息,区块内交易执行会更新chainbase内相关对象的状态数值,因此chainbase内存储了世界状态的实时信息。客户端通过链上接口(get_table_records)查询chainbase内信息时,实际上是信任接口提供方,从而信任其提供的数据的正确性;且该接口只能提供实时状态信息,不能查询指定块高状态数值。Ultrain世界状态校验方案可指定块高查询状态信息,并提供该状态信息校验所需的默克尔路径信息,从而去除对接口提供方的信任依赖。

    Ultrain世界状态校验方案中,每个矿工节点在区块交易执行结束时,将本区块内所有交易对世界状态所做的所有修改(即对chainbase内存储数据的修改)进行序列化处理,并按一定顺序组织为默克尔树的叶子节点,再逐层计算得出该区块世界状态变化的默克尔根数值,计算所得的默克尔根数值会保存到内存中。当区块高度到一定间隔(比如每100块)时,将间隔内所有区块的世界状态变化的默克尔根数值再做一次默克尔根数值计算,并将该结果(称之为世界状态变化累计默克尔根数值)以及间隔内每个区块的块高与对应的默克尔根数值写入文件系统。为防止对主线程性能造成影响,这部分逻辑采用单独的线程完成。所有矿工节点会将世界状态变化累计默克尔根数值通过链上交易写入系统合约,只有超过2/3矿工汇报相同默克尔根数值时,该数值才会生效。

    为提供世界状态校验查询功能,需设置提供世界状态查询服务的节点。选取非矿工节点(即只接收交易和区块,不参与共识过程的节点)在每个区块内交易执行完全结束后,将该区块内所有对世界状态的修改序列化后存储到文件系统,并响应校验查询节点的数据请求,将状态变化数据发送给查询节点进行存储。查询节点采用rocksdb将每个区块对世界状态的修改进行存储,包括块高(block_num),修改序号(sequence),修改内容(修改后的具体状态内容);查询节点在存储每块数据的同时,与矿工节点类似计算每个区块对应的世界状态变化的默克尔根数值,并将该数值存储到rocksdb中。此外,查询节点为轻节点提供查询接口,响应其查询请求。

    alt text

    图9 Ultrain世界状态校验查询节点与非矿工节点交互

    轻节点对特定世界状态进行查询校验的时候需经过如下三个步骤:

    1)首先采用 get_table_rows接口查询具体世界状态数值,该接口需输入要查询的世界状态所在的数据表信息(code,scope,table)以及限定的区块块高信息:

    alt text

    返回数据包括该条状态的具体信息(如示例中data字段的账户余额)以及该信息对应的二进制字节(示例中的raw字段,该字段也可以由轻节点根据合约的ABI文件自己生成);此外,该接口会返回这条世界状态修改对应的块高(block_num)及序号信息(sequence)。

    alt text

    2)根据get_table_rows接口返回的块高及序号信息,获取对应的校验该状态所需的默克尔树序列信息,轻节点调用如下接口:

    alt text

    该接口返回的paths字段即为默克尔树序列信息:

    alt text

    3)根据get_table_rows返回的raw数据以及get_table_row_proof返回的paths数据,轻节点可以调用如下接口,计算默克尔树根数值(轻节点也可以自己实现根据raw和paths数据计算默克尔根的逻辑):

    alt text

    该接口返回计算所得的默克尔根数值,该值可以与矿工节点通过交易写入系统合约的对应的数值进行比对,相同则表示校验通过(该示例中发生世界状态改变的区块高度为34186,如矿工节点所选取的区块间隔为100的话,则应该从系统合约读取块高34200对应的默克尔根数值进行比对)。

    alt text

    综上所述,轻节点与查询服务节点交互流程如下图所示:

    alt text

    文中所述比特币的SPV方案,以太坊的状态校验方案以及Ultrain的状态校验方案,我们可以看到轻节点不需要再同步大量的数据,即可验证交易确实发生过,以及验证在某个时刻世界状态具体数值,由此轻节点所需的存储及计算资源大幅降低,可以在资源受限的嵌入式设备上运行轻节点,比如物联网设备,实现物联网与区块链技术的结合,使能更多商业场景。

    posted in 资讯 read more
  • B
    brianliu

    On April 15th, Ultrain successfully completed the release of the “Adaptive Dynamic Networking” function according to the planning of the 2020 technology road map.

    https://github.com/ultrain-os/ultrain-core-production/tree/4.0.0

    One of our technical goals this year is to hope that through blockchain technology, we will focus on empowering fully competitive industries and helping them to establish low-cost mutual trust franchise business models.

    We envisage such a business scenario, a provincial catering alliance with 1,500 franchised stores with more than 20 catering brands in the province. They hope to achieve the exchange of catering consumption points within the alliance so that consumers can redeem within the brand points can be exchanged for use in more than twenty brands. In the traditional business environment, this kind of assumption is difficult to establish, because the points platform is generally built and controlled by the leader. Under traditional technical means, even if the leader shows how open and transparent, it is difficult for the affiliated companies to trust The platform does not violate the rules and secretly issues additional points, because this is an act that can directly bring benefits to the leader, and it is difficult for the leader to prove himself innocent here.

    We can solve this problem with Ultrain blockchain technology. We can deploy 1500 nodes in 1500 franchise stores. Each franchise store provides its own computer and installs Ultrain blockchain software on the computer. The computers are organized into an Ultrain blockchain network, and the behavior data such as the issuance, circulation, exchange, and consumption of points will be directly recorded in the Ultrain blockchain network, and the data will be synchronized to these 1500 computers at the same time. Modify or delete the relevant data of these points, in this way, all franchise stores can trust this set of points system and join the operation.

    If blockchain technology can support this business scenario, we have multiple technical points to break through. For example, the computer is controlled by each store, some computers may run for a long time, some computers may only be turned on when the store is at work, and will be turned off after work, and the work hours of each store are different, so the computer is turned on and off The time will also be different; at the same time, because it is running on the public network, the network status will be good and bad, and there may be situations where some computers suddenly deteriorate the network status and cannot connect to the network. Therefore, we are faced with the situation of a dynamic computer network. There are computers joining and exiting at any time in this network, and the number of online computers is not fixed.

    In the traditional blockchain BFT consensus protocol, if more than 1/3 of the computers in the network are offline and not in the network, the entire blockchain network will be paralyzed. However, in the above business scenario, this situation is likely to occur. Ultrain’s “adaptive dynamic networking” technology effectively solves this problem. In the process of the gradual decrease of the number of nodes in the Ultrain blockchain network due to various reasons, the Ultrain network can dynamically adapt to this process. Even in the case where more than 1/3 of the computers in the network are offline, the Ultrain network can be kept Long-term stable operation. After the disconnected node comes back online, the Ultrain network will also automatically connect these “resurrected” nodes to the network and let it continue to provide services.

    Now let’s introduce how the “Adaptive Dynamic Networking” function of Ultrain is designed technically.

    Blockchain is a special distributed database. The system generates accounting nodes in committee nodes according to a certain consensus algorithm, records and modifies information on the chain, and synchronizes to all committees. The consensus algorithm based on BFT has the following two problems:

    1. With a certain probability, the members of the committee that are not online are selected as the accounting nodes, and effective blocks cannot be produced. This will lead to empty blocks in the current accounting process.

    2. When a large number of committee members gradually go offline, the consensus algorithm of BFT cannot be completed, and the system will be stuck in the current round and cannot continue. The entire blockchain network is paralyzed.

    Ultrain proposes a solution based on discrete heartbeat signals for two issues of consensus. Each monitored node is set with a separate monitoring time to prevent startling effects.

    Adaptive dynamic networking includes the following steps:

    1. The number of all effective committee members in the blockchain is m, and the BFT consensus algorithm will generate a data block on the blockchain within each block generation period t;

    2. To deploy a heartbeat monitoring smart contract on the blockchain, all valid committee members in the blockchain must send the sign-in transaction in the heartbeat monitoring smart contract within the specified time interval T, complete the sign-in on the chain, and then extract nodes for inspection Remove valid committee members who have not checked in.

    Setting different checkpoints for each group (one) node can effectively prevent the instantaneous system paralysis caused by the shock group effect.

    Extract nodes for inspection, and remove valid committee members who have not checked in, including:

    A) Divide the interval time T into n time nodes (slots, hereinafter referred to as checkpoints), and the interval of each checkpoint is T / n;

    B) Based on the association of the nodes, divide the nodes into several sets;

    C) A node is randomly selected from each valid set for inspection to form a sampling set for this checkpoint;

    D) No sign-in will be removed from the effective committee;

    E) For the set with abnormal nodes, the sampling weight α will be increased at the next checkpoint;

    In step A), n is determined by the correlation degree δ, and the range of the correlation degree δ is 0 ~ 1.

    In step B), based on the association of the nodes, the nodes are divided into several sets, including:

    a) Divide all nodes into 24 sets Ci, where 0≤i≤23;

    For blockchain nodes, whether they can provide computing power normally is closely related to time. Therefore, we use the time zone division method to first divide all nodes into 24 sets, set Ci (0≤i≤23);

    b) The set with no more than Min nodes is unified to the left, where Min is set to 3% of the total number of nodes;

    For example, if the number of Ci nodes in the set is less than Min, then they are grouped into the Ci-1 set;

    c) Delete the empty collection generated after the collection to get a valid collection;

    d) A two-dimensional feature attribute is used to describe the node (X, Y), where X is the number of the time zone to which it belongs, and Y is the number of historical blocks of the node;

    e) Select

    alt text

    centroids for each effective set,

    alt text

    where N (Ci) is the number of nodes in the set Ci;

    f) Nodes (X, Y) and

    alt text

    centroids use K-Means algorithm to find K node clusters, among which,

    alt text

    complete the node division into several sets;

    Using the K-Means algorithm, (X, Y) can be set according to specific network characteristics. For example, for a time-sensitive network, the X weight can be set to 99%, and the Y weight can be set to 1%.

    In step E), the set of nodes where the problem is checked at this checkpoint, according to their relevance, the probability that there are still abnormal nodes becomes higher, so in the next sampling, the weight α is increased.

    In this scheme of Ultrain, the h abnormal committee nodes are screened in time by the heartbeat method (contract) and the committee is removed, then the number of effective committees becomes m ’= m-h.

    Each round of consensus selects the accounting node only from the effective committee, which can effectively avoid the offline committee.

    At the same time, the scheme will temporarily remove the abnormal node from the committee. Even if this part of the node participates in the consensus, it will be treated as an invalid node, which will prevent the occurrence of evil.

    When the committee comes back online and sends the heartbeat method, the system adds it back to the list of alternative committees. Can continue to participate in consensus.

    This solution of Ultrain divides the online status of the system committee into 5 categories:

    1. Low risk, less than 5% of offline nodes;

    2. Medium and low risk state, 5% -15% of offline nodes;

    3. Medium risk state, offline nodes 15% -30%;

    4. High-risk state, offline nodes 30% -33%;

    5. When the downtime state exceeds 1/3, the node is not online.

    Compared with the existing technology, this solution of Ultrain has the following advantages:

    The common heartbeat monitoring in the prior art generally has a uniform monitoring period T. When the time is up, it detects which nodes have not sent heartbeat messages in time. This will bring a potential risk, that is, the nodes that exceed the threshold at a certain period are abnormal at the same time. This phenomenon will bypass the heartbeat monitoring system and bring a catastrophic blow to the system. The probability of this situation is proportional to the monitoring period T. In this scheme of Ultrain, setting different checkpoints for each group (one) node can effectively prevent the instant system paralysis caused by the shock group effect.

    Next, we quantitatively prove that this scheme is significantly better than existing heartbeat monitoring.

    Specifically, assuming that the total node set M = 96, the nodes are independent of each other, and the probability of abnormal occurrence of each node p = 10%, and the probability of simultaneous abnormality of nodes exceeding f = 1/3 P = p ^ (m * f) Is very low.

    But complete independence is theoretical, and in reality, many nodes have relevance. On the network, some habits of the operator. For example, some nodes will be turned off at night. This greatly increases the instability of the blockchain.

    We further simplify the model, forming M = 96 according to the step k-means algorithm to form a K group, the nodes in the group are related, the correlation coefficient δ = 1 (that is, the degree of association δ = 1), and the groups are independent of each other.

    We assume that at a certain time, multiple nodes of the system are down, the system enters a high-risk state, and will be down at any time, and the probability of empty blocks is close to 1/3, and the system is in a low availability state. Risk state time to prove the advantages of this program.

    According to our definition of the node group model above, suppose that the nodes of the two groups are down, the set B of the downtime, any bi∈B is not online, | B | = 32, B∈M we need to detect more than y = 5 nodes to get the system out of high-risk areas.

    We divide the period T into M / K checkpoints. At each checkpoint, a node is randomly selected from the K-node cluster to check the punching of the heartbeat method.

    At the first checkpoint, a node is randomly selected from the K node clusters obtained by the k-means algorithm in step 2 to form a set H, where H ∈ m if | H∩B | ≥5, it is set H and B The number of intersections exceeds 5, which means that at the first checkpoint, more than 5 outage nodes are detected, making the system out of the high-risk area. The probability of this event:

    alt text

    Among them, P (| H∩B | ≥5) represents the probability that the number of intersections of sets H and B exceeds 5.

    alt text

    represents the combined type of k nodes extracted from the total set M,

    alt text

    means that from the set B, that is, the set of faulty nodes, the type of the i elements is taken from the elements (0≤i≤4),

    alt text

    k-i node combination types are extracted from the M-B set, and the probability that more than 5 outage nodes can be detected before the nth (1≤n≤6) checkpoint is determined by the recursive method, as shown in Table 1:

    alt text

    From the data analysis, it can be seen that the system recovers from the high-risk state with a probability of 67.9% at T / 6, while the probability of the system recovering from the high-risk state at T / 3 exceeds 99.9%, which is much better than the fixed time monitoring algorithm.

    Using time-shared random monitoring, the expected time to recover from a high-risk state changes from T to 0.22T.

    Obviously, if we can divide T into more time periods, the time can be expected to move more, as shown in Figure 1.

    alt text
    It can be seen that the expected recovery time does decrease with the increase of detection density, and different parameters can be set according to different system requirements.

    After using this scheme, the blockchain consensus algorithm will be more robust.

    When some nodes begin to go offline gradually, they will stop sending heartbeat transactions, and the blockchain system will sense this change in time and strip the abnormal committee members from the committee.

    BFT’s consensus algorithm is fault-tolerant for a small number of committee members offline. But when the offline node exceeds 1/3 of the committee, the system cannot reach the consensus of BFT, and then becomes paralyzed. This solution will promptly remove the invalid committee members from the committee to repair the BFT system, so that the entire consensus system can continue to operate effectively.

    posted in Activity read more
  • B
    brianliu

    4月15日,Ultrain按2020年技术路线图的规划,顺利完成了“自适应动态组网”功能的发布,代码发布在Github的如下TAG:

    https://github.com/ultrain-os/ultrain-core-production/tree/4.0.0

    我们今年的技术目标之一,是希望通过区块链技术,重点赋能充分竞争的行业,帮助其低成本建立互信的加盟制商业模式。

    我们设想这样一个商业场景,一个省级餐饮联盟,在全省有二十几个餐饮品牌的1500家加盟店,他们希望在联盟内实现餐饮消费积分的互相兑换,让消费者在品牌内可以兑换积分,在二十几个品牌内也可以互相兑换使用。在传统的商业环境下,这种设想是很难建立的,因为积分平台一般是由盟主来建设和控制的,在传统的技术手段下,即使盟主如何表明自己公开透明,加盟企业也很难信任平台没有违背规则,自己偷偷增发积分,因为这是对盟主可以直接带来收益的行为,盟主在这里很难自证清白。

    我们可以通过Ultrain区块链技术来解决这个问题,我们可以在1500家加盟店内部署1500个节点,每个加盟店自己提供一台电脑,在电脑上安装Ultrain区块链软件,就可以将这1500台电脑组织成一个Ultrain区块链网络,积分的发行、流转、兑换、消耗等行为数据都会直接记录到Ultrain区块链网络中,该数据会同时同步到这1500台电脑中,没有任何方法可以修改或删除这些积分的相关数据,通过这种方式,所有加盟店都可以信任这套积分体系并加入运营。

    如果区块链技术可以支持这个商业场景,我们有多个技术点需要突破。比如电脑是由各个店家控制的,有些电脑可能会长期运行,有些电脑可能就是在店家上班时才会开启,下班后就会关闭,同时各个店家的上下班时间也不一样,所以电脑开启和关闭的时间也会不同;同时由于是在公网中运行,网络的状况也会时好时坏,会存在部分电脑突然网络状况恶化,无法链接到网络的情况。所以,我们面对的是一个动态电脑网络的情况,这个网络中随时都有电脑加入和退出,同时在线的电脑数量是不固定的。

    在传统区块链的BFT共识协议中,如果网络中超过1/3的电脑都掉线和不在网络中,整个区块链网络就会瘫痪了。但在上述的商业场景中,这种情况很有可能出现,Ultrain的“自适应动态组网”技术有效的解决了这个问题。在Ultrain区块链网络由于各种原因其节点数量逐步减少的过程中,Ultrain网络可以动态适应这个过程,甚至在网络中超过1/3的电脑都掉线的情况下,也可以保持Ultrain网络一直长期稳定地运行,在断线的节点恢复上线以后,Ultrain网络也会自动将这些“复活”的节点接入到网络中,让其继续提供服务。

    下面我们来具体介绍下Ultrain的“自适应动态组网”功能在技术上是如何设计的。

    区块链是一种特殊的分布式数据库,由系统在委员会节点中按照一定共识算法产生记账节点,记录和修改链上信息,并同步到所有委员会。基于BFT的共识算法,都存在以下两个问题:

    l一定概率下选中了不在线的委员会成员作为记账节点,无法生产有效块。进而导致本轮记账过程出空块。

    l当大量委员会成员逐渐掉线后,会导致无法完成BFT的共识算法,系统就会停滞在当前轮,无法继续进行。整个区块链网络就瘫痪了。

    Ultrain针对共识的两个问题,提出一种基于离散心跳信号的解决方案。采用每一个被监控节点设置单独的监测时间,防止惊群效应。

    自适应动态组网包括以下步骤:

    1)区块链中所有有效委员会成员的数量为m,采用BFT的共识算法在区块链上在每个出块周期t内会产生一个数据块;

    2)在区块链部署心跳监测智能合约,区块链中所有有效委员会成员必须在规定的时间间隔T内,发送该心跳监测智能合约中的签到交易,完成链上签到,之后抽取节点进行检查将没签到的有效委员会成员移除。

    为每一组(一个)节点设置不同的检查点,可以有效的防范惊群效应带来的瞬间系统瘫痪。

    抽取节点进行检查,将没签到的有效委员会成员移除,具体包括:

    A)将间隔时间T分成n个时间节点(slot,以下简称检查点),每个检查点的间隔为T/n;

    B)基于节点的关联性,将节点划分成为若干集合;

    C)随机从每个有效集合中抽取一个节点进行检查,形成本检查点的抽样集合;

    D)没有签到的,将被从有效委员会中移除;

    E)对于有异常节点的集合,将在接下来的检查点,增加抽样权重α;

    步骤A)中,所述的n通过关联度δ确定,关联度δ的取值范围为0~1。

    步骤B)中,基于节点的关联性,将节点划分成为若干集合,具体包括:

    a)将所有节点划分成为24个集合Ci,其中0≤i≤23;

    对于区块链节点,是否能正常提供算力,跟时间有密切关系,因此,我们采用时区划分的方式,首先将所有节点划分成为24个集合,集合Ci其中(0≤i≤23);

    b)对于节点数不超过Min的集合统一向左归集,其中,Min设为总节点数的3%;

    比如,集合Ci节点数少于Min,那么就将它们归集到Ci-1集合;

    c)删除归集后产生的空集合,得到有效集合;

    d)用一个二维特征属性来描述节点(X,Y),其中,X是所属时区的编号,Y是该节点的历史出块数;

    e)每个有效集合选出

    alt text

    个质心,

    alt text

    ,其中,N(Ci)是集合Ci的节点数;

    f)节点(X,Y)和

    alt text

    个质心利用K-Means算法,求出K个节点簇,其中,

    alt text

    ,完成节点划分成为若干集合;

    利用K-Means算法,(X,Y)可根据具体网络特点设置,比如,对于时间敏感的网络可将X权重设置为99%,Y权重可设置为1%。

    步骤E)中,这个检查点上被检查出问题的节点集合,根据其关联性,仍然存在异常节点的概率变高了,所以在接下来的抽样中,就增加权重α。

    在Ultrain的这种方案中,这h个异常的委员会节点被心跳方法(合约)及时甄别出来,并移除委员会,那么有效委员会数量就变成m’= m-h。

    每一轮共识选取记账节点时只会从有效委员会中选取,可以有效避开不在线的委员会。

    同时该方案,临时将异常节点移除委员会,即使这部分节点参与了共识,也会被当做无效节点处理,杜绝了作恶的发生。

    当委员会重新上线,发送该心跳方法后,系统将它加回备选委员会列表。可以继续参与共识。

    Ultrain的这种方案将系统的委员会在线状态分为5种:

    1、低风险状态,不在线节点少于5%;

    2、中低风险状态,不在线节点5%-15%;

    3、中风险状态,不在线节点15%-30%;

    4、高风险状态,不在线节点 30%-33%;

    5、宕机状态超过1/3节点不在线。

    与现有技术相比,Ultrain的这种方案具有如下优点:

    现有技术中的普通的心跳监控,一般有一个统一的监控周期T,时间到了,就检测哪些节点未及时发送心跳消息。这会带来一个潜在的风险,就是在某一个周期超过阈值的节点同时异常,这种现象会绕过心跳监控系统,给系统带来灾难性的打击。而这种情况的概率,跟监控周期T成正比。而Ultrain的这种方案中,为每一组(一个)节点设置不同的检查点,可以有效的防范惊群效应带来的瞬间系统瘫痪。

    接下来,我们定量证明该方案的显著优于现有的心跳监控。

    具体地,假设总节点集合M = 96,节点间相互独立,每个节点发生异常的概率p= 10%,超过f=1/3 节点同时发生异常的概率P = p^(m*f)其实是很低的。

    但是完全相互独立是理论上的,现实中,很多节点都有相关性。网络方面,操作者的一些习惯。比如有些节点会在夜间被关掉。这就大大增加了区块链的不稳定性。

    我们进一步简化模型,将M=96根据步骤k-means算法,组成K群组,组内节点具有关联性,相关系数 δ = 1(即关联度δ=1),群组间相互独立。

    我们假设在某个时间,系统多个节点宕机,系统进入高风险状态,随时都会宕机,而且出空块的概率接近1/3,系统处于低可用状态,这个时候,通过比较系统脱离高风险状态的时间来证明本方案的优势。

    根据我们上面对节点群组模型的定义,假设两个群组的节点宕机,宕机的集合B,任意bi∈B不在线,|B|= 32,B∈M我们需要检测出超过y =5个节点才能使系统脱离高风险区域。

    我们将周期T分成M/K个检查点,每个检查点,随机抽取K节点簇中抽取一个节点来检查心跳方法的打卡情况。

    在第一个检查点随机从步骤2中用k-means算法求得的K个节点簇中抽取一个节点组成集合H,其中H∈m则若|H∩B|≥5,就是集合H和B的交集数量超过5个,意味着,在第一个检查点,就检测到了超过5个宕机节点,使得系统脱离高风险区域。这个事件发生的概率:

    alt text

    其中,P(|H∩B|≥5)表示集合H和B的交集数量超过5个的概率,

    alt text

    表示从总集合M抽取k个节点的组合种类,

    alt text

    表示从B集合也就是出故障节点集合,元素中取i个元素的种类其中(0≤i≤4),

    alt text

    从M-B的集合中抽取k-i个节点组合种类,通过递归法逐项求得在第n(1≤n≤6)个检查点以前能检测到超过5个宕机节点的概率如表1所示:

    alt text

    表1 分时随机监测与固定时间监测对比

    从数据分析,可以看出在T/6 的时候系统由67.9%的概率从高危状态恢复,而在T/3时候系统从高危状态恢复的概率超过99.9%大大优于固定时间监测的算法。

    采用分时随机监测,从高危状态恢复的期望时间从T变成0.22T。

    显然,如果我们可以将T分成更多的时间段,期望时间可以更加的迁移,如图1所示。

    alt text

    可以看出期望恢复时间确实是随检测密度增加而减少,根据不同系统需求,可以设置不同的参数。

    使用该方案后,区块链共识算法就会更加健壮。

    当有部分节点开始逐渐离线时,它们就会停止发送心跳交易,区块链系统会及时感知到这一变化,将异常委员会成员从委员会中剥离。

    BFT的共识算法对少量委员会成员离线是有容错机制的。但是当离线节点超过委员会的1/3后,系统就无法达成BFT的共识,进而瘫痪。本方案会及时将失效的委员会成员移出委员会来修复BFT系统,使得整个共识系统可以持续有效运行。

    posted in 资讯 read more
  • B
    brianliu

    alt text

    Ultrain Monthly Report(03/16–04/12)

    Following is the monthly report on the progress of the project from Mar. 16th -Apr. 12th, which contains two items: project development progress and community dynamic update. It is for the community members to check. Thank you for your attention.

    Technology Update from Ultrain (3/16–4/12)
    Ultrain’s Core Technology

    1. According to the Central Bank’s “Financial Distributed Ledger Technical Security Specification” compliance check and improve the node code;

    2. The node code adds national secret algorithm support to the transaction account;

    3. Establish an on-chain data table to support miners’ daily reward data on-chain storage;

    4. Optimize the historical data query code and improve the browser query response speed;

    5. Calculate the Merkel tree hash of the world state change data to provide world state data verification.

    Ultrain’s Ecosystem

    1. A new version of the user relationship diagram, store settings and other functions are launched on the backstage of the merchant, which completes the development of funds management, product management, store opening help and other pages, and is scheduled to go online at the end of April;

    2. The new version of the Hyper-physical APP is launched, optimizing the rich text display on the product detail page, optimizing the homepage effect and other functions;

    3. Optimize the merchant entry process, complete function development such as shop reward activities and shop package purchase, and plan to go online after passing the test in early May.

    Ultrain Developer Kit

    1. U3 SDK adds national secret algorithm support;

    2. Optimize the Ultrain One wallet wealth page to support reading on the miner reward data chain;

    3. Optimize Ultrain One wallet transfer code to improve transfer response speed.

    Ultrain’s Latest Community & Event Update

    Ultrain overseas ambassadors synchronized the development of the blockchain industry around the world

    In March, due to multiple factors, the global financial market was in crisis. But at the same time, in this special period, emerging technologies such as blockchain have also accelerated. Ultrain’s overseas ambassadors conducted a survey to provide you with an in-depth understanding of the development of the blockchain industry around the world.

    Ultrain wished community members a happy April Fools’ Day!

    alt text

    Ultrain launched the technology roadmap of 2020

    The Ultrain mainnet has been running steadily for a year since it was launched on 2019.4.15. On the basis of technical stability and shaping, Ultrain ’s main task in 2020 is to achieve the commercial implementation of blockchain technology, and it has clarified the business model that hopes to be empowered by Ultrain technology in 2020: in a fully competitive industry To establish a mutual trust franchise business model through low cost.

    In order to achieve this goal, Ultrian’s technology needs to be further upgraded from the following aspects in 2020: 1. Compliance with business compliance requirements; 2. Consensus innovation; 3. Blockchain privacy protection. We have further divided the technical route.

    alt text

    The above is the progress report of Ultrain from Mar 16th to Apr 12th, looking forward to more exciting contents after that!

    posted in News read more
  • B
    brianliu

    为丰富项目进展报告内容,提高报告整体质量,Ultrain 决定从今起将原本的双周报改为月报形式。以下为 2020 年 3 月 16 日- 4 月 12 日项目进展月报,包含#项目开发进展#、#社区动态更新#两项内容,供社区成员们查看,感谢大家对我们一直以来的热切关注!

    项目进展月报(3/16-4/12)

    项目开发进展

    • Ultrain 基础设施

    1. 根据央行《金融分布式账本技术安全规范》合规排查并完善节点代码;

    2. 节点代码为交易账号增加国密算法支持;

    3. 建立链上数据表,支持矿工每日奖励数据上链存储;

    4. 优化历史数据查询代码,提高浏览器查询响应速度;

    5. 对世界状态变化数据计算默克尔树哈希,以提供世界状态数据校验。

    • Ultrain 产品生态

    1. 商家后台上线新版用户关系图,店铺设置等功能,完成资金管理,商品管理, 开店帮助等页面开发,计划4月底上线;

    2. 超物系APP新版本上线,优化商品详情页富文本展示,主页效果优化等功能;

    3. 优化商家入驻流程,完成探店奖励活动和店铺套餐购买等功能开发,计划5月初测试通过后上线。

    • Ultrain 开发者套件

    1)U3 SDK 增加国密算法支持;

    2)优化UltrainOne 钱包财富页面,支持矿工奖励数据链上读取;

    3)优化UltrainOne 钱包转账代码,提高转账响应速度。

    社区动态更新

    • Ultrain 海外大使同步各地区块链行业发展实况

    3 月,受多重因素影响,全球金融市场危机四伏。但与此同时,在这个特殊时期,区块链等新兴科技也得到了加速发展。Ultrain 特连线海外大使进行了调研,供大家深入了解世界各地区块链行业的发展实况。详情请戳恐慌情绪下,全球区块链行业的「危」与「机」

    • Ultrain 祝社区成员 4 月 1 日愚人节快乐!

    替代文字

    Ultrain 重磅发布 2020 年技术路线图

    Ultrain 主网于 2019.4.15 上线以来,已稳定运行了一年的时间。在技术稳定和成型的基础上,Ultrain 在 2020 年的主要任务是实现区块链技术在商业上的落地,已明确了 2020 年希望通过 Ultrain 技术重点赋能的商业模式:在充分竞争的行业中,通过低成本建立互信的加盟制商业模式。

    为实现此目标,2020 年 Ultrian 的技术还需要从以下几个方面进一步升级:1. 符合商业合规要求;2. 共识创新;3. 区块链隐私保护。我们对该技术路线做了进一步的划分,详情请戳重磅发布 | Ultrain 2020 年技术路线图

    替代文字

    以上便是 Ultrain 3 月 16 日至 4 月 12 日的项目进展,敬请期待此后的更多精彩内容!

    posted in 资讯 read more
  • B
    brianliu

    The Ultrain main net has been running steadily for a year since it was launched on 2019.4.15. At present, the Ultrain network is composed of nearly 700 nodes, which are distributed in many countries and regions such as China, the East and West Coast of the United States, Australia, South Africa and Germany. The network deployment methods include public cloud networks (Alibaba Cloud, Amazon Cloud, Microsoft Cloud, Kingsoft Cloud), enterprise intranet, enterprise private network, open Internet and home broadband network.

    On the basis of technical stability and shaping, Ultrain’s main task in 2020 is to realize the commercial implementation of blockchain technology. In the second half of 2019, we spent a lot of energy exploring and designing business models with our many business partners, and we have a full understanding of the advantages and disadvantages of blockchain technology in business competition:”Blockchain Business and Technology Status and Development Trend Outlook”. On this basis, we have determined the business model that we hope to be empowered by Ultrain technology in 2020: in a fully competitive industry, establish a mutual trust franchise business model at low cost.

    In order to achieve this goal, Ultrain’s technology needs to be further upgraded from the following aspects in 2020:

    1. Compliance with business compliance requirements: In recent months, various ministries and commissions have issued normative guidelines related to blockchain technology, such as the “Financial Distributed Ledger Technical Security Specification” issued by the Central Bank. These specifications will become the basic threshold for the application of enterprises in the future. In order to meet the requirements of these specifications and achieve commercial compliance, Ultrain needs to conduct further research and development in many aspects;

    2. Consensus innovation: The franchise business model has two characteristics, one is that there are many franchisees, and the other is that the geographical distribution of franchisees is very scattered. This mainly brings a variety of technical challenges, including the different network environments of franchisees, and the need for users to automatically adapt to different networks without perception. There are many network nodes, and the online time of franchisees is not fixed. How to maintain the stability of the blockchain network in the face of a dynamic network. As an open network, how to ensure the security of the network; these aspects are the technical challenges we need to solve this year;

    3. Blockchain privacy protection: In the business environment, privacy protection is the bottom line requirement for system operation. The “Personal Financial Information Protection Technical Specification” issued by the central bank at the beginning of this year can be used as a reference. Ultrain has a deep accumulation of blockchain privacy protection solutions. This year we will form a commercial solution to export and provide services;

    The above are the three technical routes of Ultrain in 2020. We have further divided this technical route:

    替代文字

    替代文字

    替代文字

    替代文字

    The above is the technology roadmap of Ultrain in 2020, which contains a number of world-leading technological breakthroughs. We will further publish the technical implementation details at each step and share our progress with you. Hope that Ultrain's breakthrough in technology can contribute to the commercial landing of blockchain technology.

    posted in Technology read more
  • B
    brianliu

    Ultrain 主网于 2019.4.15 上线以来,已经稳定运行了一年的时间。目前 Ultrain 全网由近 700 个节点组成,节点分布在中国、美国东西海岸、澳大利亚、南非和德国等多个国家和地区,网络部署方式包括公有云网络(阿里云、亚马逊云、微软云、金山云)、企业内网、企业专网、公开互联网和家庭宽带网络的混合部署。

    在技术稳定和成型的基础上,Ultrain 在 2020 年的主要任务是实现区块链技术在商业上的落地。在 2019 年下半年,我们花费了大量的精力与我们的众多商业合作伙伴进行商业模式的探索和设计,对区块链技术在商业竞争中的优劣势也有了充分的认识,具体可以见该文《区块链商业与技术现状与发展趋势展望》(深度好文:区块链商业与技术现状与发展趋势展望(上)、深度好文:区块链商业与技术现状与发展趋势展望(下))。在此基础上,我们确定了 2020 年希望通过 Ultrain 技术重点赋能的商业模式:在充分竞争的行业中,通过低成本建立互信的加盟制商业模式。

    为实现这个目标,在 2020 年 Ultrian 的技术还需要从以下几个方面进一步升级:

    1. 符合商业合规要求:近几个月,各部委出台了区块链技术相关的规范指南,如央行颁布的《金融分布式账本技术安全规范》等。这些规范在后续将成为企业应用落地的基本门槛,为满足这些规范的要求,实现商业合规,Ultrain 需要在多个方面进行进一步的研发;

    2. 共识创新:加盟制商业模式有两个特点,一个是加盟商众多,一个是加盟商地域分布非常分散。这主要带来了多种技术挑战,包括加盟商的网络环境各异,需要让用户无感知的自动适配不同的网络;网络节点数量众多,加盟商的在线时间不固定,如何面对一个动态的网络维持区块链网络的稳定;做为一个开放式网络,如何保证网络的安全性;这些方面都是我们在今年需要解决的技术挑战;

    3. 区块链隐私保护:在商业环境下,隐私保护是系统运行的底线要求,央行在今年年初颁布的《个人金融信息保护技术规范》可以做为一个参考。Ultrain 在区块链隐私保护方案有深厚的积累,今年我们会形成商业化的解决方案对外输出并提供服务;

    以上是 Ultrain 在 2020 年的三条技术路线,我们对该技术路线做了进一步的划分:

    替代文字

    2020 年 Ultrain 技术路线图

    替代文字

    以上就是Ultrain在2020年的技术路线图,其中包含了多个世界领先的技术突破。我们会在每个时间节点进一步公布技术实现的细节,与大家分享我们的进展。希望Ultrain在技术方面的突破能为区块链技术商业落地贡献自己的力量。

    posted in 技术 read more
  • B
    brianliu

    alt text
    Following is the biweekly report on the progress of the project from Mar. 2nd -Mar. 15st, which contains two items: project development progress and community dynamic update. It is for the community members to check. Thank you for your attention.

    Technology Update from Ultrain (3/2–3/15)
    Ultrain’s Core Technology

    1. The flexible cryptographic code base is enhanced and upgraded to enhance system security;

    2. Complete the design of the world state verification scheme, and start the development of binary code calculation.

    Ultrain’s Ecosystem

    1. The new version of S.I.R Department is launched, including new shopping carts, user evaluations, multi-order purchases, and merchant qualifications;

    2. A single small program on the line supports multiple store functions and opens the merchant application entrance;

    3. Docking education business “Aesthetic Education Zhiku” enters the S.I.R platform and launches an independent mini program;

    4. Support the development of functions such as ticket information, seat sales information, sales methods, and bill splitting fees;

    5. Complete Ultrain Foundation website development and deployment.

    Ultrain Developer Kit

    1. Fix the developer website and official website login issues and maintain UltrainOne code.

    Ultrain’s Latest Community & Event Update
    Ultrain co-founder Emma wrote an essay for Women’s Day

    On the day of International Women’s Day on March 8th, Ultrain co-founder Emma wrote a special article and talked about the gender perspective in China and the West with her professional experience, saying that technology will weaken the difference between men and women and introduce new challenges.
    alt text

    Ultrain overseas community ambassadors synchronize local epidemic situation

    The situation of the new corona virus is still not optimistic, especially the situation abroad is getting worse. Recently, Ultrain’s overseas community ambassadors have kept in close contact with us, describing the most true epidemic situation in various countries and their views on the blockchain industry in this particular period.
    alt text

    Article overview of the Ultrain consensus protocol

    Following the release of many previous technical articles, Ultrain’s senior technical staff continues to produce good text. Recently, we published a technical overview | article overview of the Ultrain consensus protocol (top), a technical overview | article overview of the Ultrain consensus protocol (bottom), first introduced PoW, PoS, DPoS of common consensus protocols, thus leading to the Ultrain BFT random PoS consensus algorithm (RPoS), followed by a detailed introduction to the architecture, message types, detailed processes, and node state diagrams of the Ultrain consensus protocol. Finally, it summarizes the key technologies used in the Ultrain consensus protocol. Everyone is welcome to read.

    News about S.I.R. Mini Program!

    S.I.R mini-programs are gradually being developed by merchants, and functions are continuously optimized to meet the needs of various merchants. Features updated in this issue include: 1. Opening application stores; 2. Adding shopping cart functions; 3. Adding order evaluations; 4. Viewing historical reward records.

    alt text
    The above is the progress report of Ultrain from Mar 2nd to Mar 15st, looking forward to more exciting contents after that!

    posted in Activity read more
  • B
    brianliu

    alt text

    以下为 2020 年 3 月 2 日- 3 月 15 日项目进展双周报,包含#项目开发进展#、#社区动态更新#两项内容,供社区成员们查看,感谢大家对我们一直以来的热切关注!

    项目进展双周报(3/2-3/15)

    项目开发进展

    • Ultrain 基础设施

    1. 底层密码学代码库增强升级,提升系统安全保障;

    2. 完成世界状态校验方案设计,开始计算节点代码开发。

    • Ultrain 产品生态

    1. 超物系新版本审核上线,新增购物车,用户评价,多订单购买、商家资质等功能;

    2. 上线单个小程序支持多店铺功能,并开放商家申请入口;

    3. 对接教育类商家 "美育智库" 入驻超物系平台并上线独立小程序;

    4. 支持票务类商品连座信息,售卖方式,拆单费等功能开发;

    • Ultrain 开发者套件

    1. 修复开发者官网及官网登录问题,维护UltrainOne代码。

    社区动态更新

    • Ultrain 联合创始人 Emma 妇女节撰文

    3月8日国际妇女节当天,Ultrain 联合创始人 Emma 特撰文,结合自身职业经历趣谈中西两性观,表示科技将会弱化男女差异,引入新的挑战。欢迎大家阅读原文祝天下女神们节日快乐,精彩一生

    alt text

    • Ultrain 海外社区大使同步当地疫情实况

    新型冠状病毒情况仍不容乐观,尤其是海外局势日趋严峻。近期,Ultrain的海外各国社区大使仍与我们保持密切联络,叙述了各国目前最为真实的疫情情况,及在这个特殊时期对于区块链行业的看法。详情请点击疫情之下,听听海外区块链人士的声音

    alt text

    • 一文纵览 Ultrain 共识协议

    继此前众多技术干货发布之后,Ultrain资深技术人员仍在持续产出好文。近期我们发布了技术向 | 一文纵览 Ultrain 共识协议(上)、技术向 | 一文纵览 Ultrain 共识协议(下)一文,首先介绍了常见共识协议的PoW,PoS,DPoS,从而引出了Ultrain基于BFT的随机PoS共识算法(RPoS),随后详细介绍了Ultrain共识协议的架构、消息类型、详细流程以及节点状态图等内容,最后对Ultrain共识协议用到的关键技术进行了总结说明。欢迎各位阅读。

    • 超物系小程序最新动态!

    超物系小程序现已逐渐有商家接入开发中,为满足各类商家需求不断优化功能。本期更新的功能包括:1、开放申请店铺;2、增加购物车功能;3、增加订单评价;4、可查看历史奖励记录。

    alt text

    (网址:https://sirshop.chaowuxi.com/)

    以上便是 Ultrain 3 月 2 日至 3 月 15 日的项目进展,敬请期待此后的更多精彩内容!

    posted in 资讯 read more
  • B
    brianliu

    Since the outbreak of the new corona virus, the domestic government has adopted strict preventive measures to prevent the epidemic and has taken the national effort to control the epidemic situation. The number of new cases has continued to decline and the number of cures has continued to increase.

    However, it is troubling that viruses know no borders. Just as Chinese epidemic situation showed signs of improvement initially, the overseas epidemic situation began to spread in a large area, and the number of infected people continued to rise.

    Recently, Ultrain’s overseas community ambassadors have also kept in close contact with us, expressing their concern and condolences to each other, also describing the most true epidemic situation in their country, and expressing their views on the blockchain industry in this particular period.

    the video link: https://www.youtube.com/watch?v=vpvcOoibUqg

    Korean community leader Jay:

    Hello my name is jay chung, ultrain korean team’s manager.

    Ultrain team has offices in Singapore and China.

    Recently, East asia was directly hit by the Corona Nineteen virus, which caused a whole business disruption.

    Nevertheless, tens of thousands of Ultrain blockchain communities and Ultrain developers around the world have recently successfully conducted large scale protocols update.

    In particular, the Korean community has successfully completed testing protocol updates thanks to its impressive performance, including the large number of people participating in these protocol updates.

    Now in China, things are getting better than before, so everyone can overcome Corona19 together.

    In Korea, there are more than 6,000 people infected, and the threat to this is increasing, and we have to put everyone’s head together to overcome this pandemic.

    Korea’s Ultrain Team and Ultrain Core Team will also overcome the coronavirus and work hard to make Ultrain stand firm as a third-generation blockchain.

    I’d like to thank all of you, the world ultrain community, the core team and Korean Ultrain Community, cheer up and we can go for it.

    And please take care of your health!

    Good luck!

    Indian community leader Priyank:

    Hello ultrain Users and our Chinese brother and sister

    My journey till now with ultrain is going good and I learn a lot with their development and mining things, As a ambassador of ultrain India, my community also appreciate the work by ultrain team and their hardwork towards the project . Indian Community loves Ultrain.

    Past few months our chinese brother and sister facing a virus , lots of people died and lots of people suffering, but the virus spreading towards in india also , and many people already affected.

    I pray to god may everything will be good, normal , and all chinese citizen will be healthy soon.

    please stay strong, this is a tuff time and we all are with you in your tuff time.

    I pray that Ultrain team also good and healthy, take care all of you .

    Thank you

    Turkish Community leader Ecan:

    I started to work as a community leader for turkish investors. Ultrain has been on my track since the beginning as a programmable blockchain for business communities. Especially Ultrain’s experienced and super team attracted my attention.

    I am very happy that I can contribute to this amazing project. Ultrain $ UGAS coin got the confidence of the Turkish blockchain investors and we buiLd a very good Turkish community.

    Chine is world leader at blockchain projects and Ultrain is one of the best blockchain projects. I hope that the corona virus will end soon. Everything will be better than before.

    Nigerian/african community leader Dotun:

    Hello everyone, my name is Dotun wilfred, i am the Nigerian/african ambassador for Ultrain, i would love to talk about the impact the corona virus has on the local blockchain community in my region. since global the outbreak of the virus, generally people have being wary of events and crowded places this has inhibited events and meetings related to blockchain and online initiatives were deployed rather. I am hopeful the world finds a lasting solution soon and i also commend the Ultrain team for the tireless work they have being doing amid the mayhem and pray that they are all safe. Thanks.

    Keiko, Ambassador of Indonesian Community:

    I have always thought that the people of all countries in the world are one family, and we should work together to meet difficulties. So in February this year, after learning that the epidemic in China was very serious, I immediately donated 100 packs of masks to Guangzhou, China (relevant information link:

    http://parcelsapp.com/id/tracking/EE171841647ID).

    Later, I was mistaken by our local hospital in Indonesia that the 100 packs of masks were bought by me personally and thought I was infected with the virus, so I was quarantined at the hospital. But despite this, I don’t regret the donation of masks, and I can do a little for the people of the friendly countries. I feel relieved.

    alt text

    This is a report on Coronavirus in Indonesia. In Indonesia, everyone wears a mask when they go out, and students must wear a mask when they go to school. The police will arrest those who sell masks at high prices.

    Since it is inconvenient to record videos for everyone in the hospital, we can only express our concern and greetings through short texts. I hope that the Ultrain team, community members, and all other Chinese siblings will be safe and healthy and work together to defeat the epidemic.

    Thank you!

    At the moment of the epidemic, no country can survive on its own, and all mankind is a community of destiny. May we fight against the “Virus” together, overcome difficulties and return to normal life as soon as possible. Ultrain officials and overseas ambassadors around the world will continue to work together to use technology to make the world a better place.

    posted in News read more
  • B
    brianliu

    新型冠状病毒疫情爆发以来,国内政府采取严防死守举措,举全国之力控制疫情态势,尽管付出了昂贵的代价,但所幸新增病例数开始持续下降,治愈人数也不断增加。

    然而,令人揪心的是,病毒不分国界。就在中国疫情初步呈现好转迹象之时,海外疫情开始大面积蔓延,感染人数走势不断升高。

    近日,Ultrain的海外各国社区大使也在与我们保持密切联络,互相表达关心和慰问之余,也叙述了自己国家目前最为真实的疫情情况,并表达了对于这个特殊时期区块链行业的看法。就让我们一起来听听他们的声音(以下文字由Ultrain团队翻译整理):

    01

    韩国社区大使 Jay

    大家好,我叫杰伊·钟(Jay Chung),Ultrain韩国社区大使。

    最近,东亚被冠状病毒侵袭,导致行业大量业务中断。但尽管如此,Ultrain开发人员近期还是成功进行了大规模网络协议更新,世界各地的Ultrain社区小伙伴也一道参与了测试,尤其是韩国社区大量用户参与了其中。

    目前中国的疫情情况有所好转,每个中国人都团结起来克服冠状病毒。而在韩国,已有6,000多人受到感染,情况愈加严峻,我们必须也一样团结一致打败疫情。

    韩国的Ultrain团队会和Ultrain核心团队一起并肩度过这段时间,不断努力让Ultrain成为全球最领先的商业区块链基础设施。

    我要感谢所有人,包括Ultrain核心团队和全球Ultrain社区成员,我们韩国社区也会更加努力。

    最后祝愿大家身体健康,祝好运!

    02

    印度社区大使 Priyank

    中国的兄弟姐妹们,大家好,我是印度社区大使Priyank。

    到目前为止,我在Ultrain的工作进展顺利,我从他们的技术中学到了很多。作为Ultrain印度社区的大使,我的社区也对Ultrain官方团队的辛勤工作表示赞赏。印度社区喜欢Ultrain。

    过去几个月,我们的中国兄弟姐妹们直面病毒,许多人死亡,许多人遭受痛苦。现在这个病毒也开始在印度传播。病毒来自游客,他们在印度旅游,所以无论他们在印度走到哪里,都会影响到其他人。病毒在我们国家的个别州传播,所以其他州是暂时安全的,医疗小组会在机场检查每个人的身体情况。

    目前至少有35人被发现呈阳性,还有一些人没有康复,但谢天谢地还没有人死亡。印度政府在这期间采取了很多防护措施,尽可能多地建立隔离病房。学校也都已经放假,3月9-10日是我们重要的节日——胡里节,出于安全的考虑,政府决定这一次我们不能庆祝这个节日,不能聚集。我们也很害怕这个病毒,有些人甚至储备了2到3个月的日常用品,尽可能不出门。

    我向上帝祈祷,愿一切会好起来,全球的患者都能康复。请一定要坚强,这是一段很艰难的时间,我们与大家同在。

    祝Ultrain团队成员们也能安全健康,谢谢!

    03

    土耳其社区大使 Ecan

    大家好,我是土耳其的社区负责人。

    从一开始,我就对Ultrain项目很感兴趣,它是致力于打造可编程商业社区的区块链项目,有着非常优秀的团队。我很高兴能够为这个非常好的项目做出贡献。Ultrain已经获得了土耳其区块链投资者的信任,我们建立了一个非常好的土耳其Ultrain社区。

    目前,土耳其还没有出现任何冠状病毒病例,所以它还没有对我的生活产生很大的影响,但是冠状病毒也是我们这里现在最热门的话题。随着时间一天天过去,人们越来越担心,也比平时更倾向于呆在家里。旅游业收入对土耳其很重要,但由于疫情影响我认为今年我们的旅游产业不容乐观。

    中国是区块链行业的全球领导者,而Ultrain也是最好的区块链项目之一。我希望冠状病毒能尽快结束,一切都会比以前更好。

    04

    尼日利亚/非洲社区大使 Dotun

    大家好,我叫Dotun wilfred,我是Ultrain的尼日利亚/非洲大使。

    我想谈谈冠状病毒对我所在地区的区块链行业的影响。自从全球爆发该病毒以来,人们对活动和拥挤的地方保持高度警惕,这也阻止了大量区块链活动和会议的进行。

    我希望疫情能早日结束,区块链行业及其它行业都能恢复到原来的秩序中来。我也非常感谢Ultrain团队在疫情期间仍非常努力地工作,并祈祷大家都能平安无事。谢谢。

    05

    印尼社区大使 Keiko

    大家好,我是印尼社区大使Keiko。

    我一直认为全球各国人民是一家,遇到困难要一起携手应对。所以在今年2月份,得知中国疫情非常严重后,我马上向中国广州捐赠了100包口罩(相关信息链接:

    http://parcelsapp.com/id/tracking/EE171841647ID)。后来我被我们印尼当地医院误认为这100包口罩是我为我个人所买的、以为我感染了病毒,所以将我隔离在医院。但尽管如此,我也不后悔捐赠口罩的行为,能为友国人民做一点力所能及的事,我感到很心安。

    alt text

    这是印尼冠状病毒相关的报道。在印尼,大家出门都带着口罩,学生上学也必须戴口罩。警察会逮捕那些高价出售口罩的人。

    由于在医院,不方便为大家录制视频,只能通过简短的文字向大家表示关心和问候。希望Ultrain团队、社区成员和其他所有中国的兄弟姐妹们都能平安健康,共同打败疫情。

    谢谢!

    疫情当下,没有一个国家能够独善其身,全人类皆是命运共同体。愿我们一道抗“疫”,共克难关,早日回归正常生活。Ultrain官方及全球各海外大使也将继续携手奋进,用科技让这个世界更加美好。

    posted in 资讯 read more