chapter349, We released FromHDDtoSSD v3 with SORA Network!

From now on, there is no doubt that SSD/NVMe of size of TB will become mainstream.
Therefore, we are particular about SSD/NVMe scanning.
For SSD/NVMe, it is not possible to catch the sector that shakes when it is “breaking” by simply calling and scanning the sector monotonously (generally available drive scan software).
In other words, if the “probability of normality is high” at the time of the essential “breaking”, it will be all green(all OK) … can it be trust?
Then ……… it doesn’t make sense.
Therefore, we are necessary a “new method” that can scan a SSD/NVMe via the Blockchain. … That is the “stat-scan”.

chapter348, Handling Zero is difficult

We found a problem with the handling of Zero while checking FromHDDtoSSD.exe that was before release.

However, it was not necessary fix this time because it was a problem that statistical scanning on huge capacity HDD.
Fortunately, it does not affect the release.
Still, leaving these Zero alone is a problem. Therefore, we will put in the fix of hollowing out Zero with a circle next month.

chapter345, [SORA] draft: renewal Whitepaper 7, Finally

7, Finally

We are pleased that the Blockchain will be usefully used and will contribute technically.

Thank you for your continued support.
The SorachanCoin developers: sora neko [SORA]

TOKYO office
25-22 Iwabuchi-machi Kita-ku Tokyo 115-0041
Saitama office
134-1 Kaminitte Honjyo-shi Saitama 367-0007

chapter344, [SORA] draft: renewal Whitepaper 6, About Business model

6, About Business model

  • So far, we have explained an overview of analysis to the sectors of a drive by a Blockchain.
  • Sector analysis is analysis for drives. In fact, we have been researching scan and recovery software for more than 10 years since January 2009. Then, will implement a Blockchain.
    セクタ分析は、ドライブの分析です。 実際、2009年1月から10年以上スキャンおよびリカバリソフトウェアを研究してきました。その後、ブロックチェーンを実装します。
  • By the way, on the other hands, the main point of view is the Business model. We consider to “simple is the best” here.
    ちなみに、一方で、主な視点はビジネスモデルです。 ここでは「シンプルが一番」と考えています。
  • First. Building a mechanism that consumes a certain amount of coins when copying “operator”. This is equivalent to a “network fee”. This provides a decentralized mechanism that supports appropriate rewards for miners while preventing over-access due to spam.
    その一。「作用素」をコピーする際に一定量のコインを消費するメカニズムを構築します。 これは「ネットワーク料金」に相当します。これにより、スパムによる過剰アクセスを防ぎながら、マイナーに適切な報酬をサポートする分散型メカニズムが提供されます。
  • Then next, you can get a license to use up the data recovery feature several times by spending coins. This is equivalent to a limited using license of the perpetual use license ($70 – $160) currently on sale.
    次に、コインを使うことで、データ回復機能を数回使用するためのライセンスを取得できます。 これは、現在販売されている永久使用ライセンス($ 70〜 $ 160)の限定使用ライセンスに相当します。
  • Only these two. It’s so simple, but there is a amount of demand. Because, year by year, the total number of drives used all over the world is increasing. We will challenge those drives with this business model.
    この2つだけ。 とてもシンプルですが、かなりの需要があります。なぜなら、世界中で使用されるドライブの総数は年々増加しているからです。このビジネスモデルでそれらのドライブに挑戦します。
  • In order to respond to high liquidity, we would like to constantly negotiate with Exchanges and building the best environment. (e.g. FinexBox: Finex drive chain)
    高い流動性に対応するため、常に取引所と交渉し、最良の環境を構築していきたいと考えています。(例: FinexBox: Finex drive chain)

chapter343, [SORA] draft: renewal Whitepaper 5, Concept of chain in operator

5, Concept of chain in operator

5-A, Drive has huge number of sectors
5-A, ドライブには莫大なセクタ数があります

  • The drive is made up of a huge number of sectors, therefore
    the speed will not increase when they copy operators on a scan by sector-by-sector basis.
  • Therefore, we have implemented a mechanism to be operated chain in operator.
  • This mechanism is so similar to the modifier’s checksum calculation.
  • If this logic implemented, after the operation of the operator A, the operator A’ to be used next can be extracted from the operation result AH. That is, the concept of “chain”.
    この論理を実装すれば、作用素Aの演算後、演算結果AHから次に使用する作用素A’を抽出することができます。 つまり、「連鎖」の概念です。

5-B, e.g. equality operator
5-B, 例えば、恒等の作用素

  • Below, A and A’ are operator, then H1 and H2 are a normalized object (e.g. matrix)
    以下、A, A’は作用素で、そして、H1, H2は正規化されたオブジェクトです。

SSD/NVMe scan -> get H1 as result
Blockchain -> OP_CODE -> copied A as result
operation AH1
if H1 = AH1 -> A is equality operator -> A’ = A
SSD/NVMe next scan -> get H2 as result
operation A’H2

chapter342, [SORA] draft: renewal Whitepaper 4, Concept of mapping by blockchain

4, Concept of mapping by blockchain

By the way, in the case of HDD, there is no problem by the method up to the previous chapter. Then … it’s finally SSD/NVMe.

4-A, Concept, that is generation of operators
4-A, 概念, それは作用素の生成

Significant: First, Blockchain is strict and delicate. In other words, when working on the chain to get action from the chain, we must avoid attaching to the blockchain directly.
重要:まず、ブロックチェーンは厳格で繊細です。 言い換えれば、チェーンからアクションを取得するためにチェーンで作業するときは、ブロックチェーンに直接接続することを避ける必要があります。

  • So that we “copy” what is called an “operator” from the Blockchain. This operator is “independent” of the chain, and even if operator is destroyed by a bug, does not affect the chain.
    そのため、ブロックチェーンからいわゆる「作用素」を「コピー」します。 この作用素はチェーンから「独立」しており、万一バグによって作用素が破壊された場合でも、チェーンに影響を与えることはありません。
  • By the way, this is not speculation. Actually, we repeated the verification many times with testnet of SORA Network. If even the slightest broken modifier acted destructively to the blockchain, chain will break and can’t become operation.
    ちなみに、これは憶測ではありません。 実は、SORAネットワークのテストネットで何度も検証を繰り返しました。 わずかでも壊れたモディファイアがブロックチェーンに破壊的に作用した場合、チェーンは壊れて動作することができなくなります。

4-B, e.g. equality operator
4-B, 例えば、恒等の作用素

Below, A is operator, then H is a normalized object (e.g. matrix)

  • SSD/NVMe scan -> get H as result
    * This is, each the state and direction of the sector that has added by projection from next to next.
    Blockchain -> OP_CODE -> copied A as result
    * Be sure to “copy”. Must not operate here directly(e.g. reference) on the blockchain. Even a small of work will be stopped the “mainstream”, if the modifier damage.
    operation AH
    * e.g. If AH is H, A is equality operator. (of course AH=HA)
  • SSD/NVMeをスキャン -> 結果としてHを取得
    * これは、各セクタの状態と方向性を次から次へと射影によって追加されたものです。
    Blockchain -> OP_CODE -> 結果としてAを取得
    * 必ず「コピー」してください。 ここで、ブロックチェーン上で直接的な操作(例えば参照)してはなりません。もし モディファイアが損傷した場合、わずかな作業でも「主流のチェーン」が停止します。
    演算 AH
    * もしこのAHの結果がHなら、Aは恒等の作用を持ちます。(もちろんAH=HA)

chapter341, [SORA] draft: renewal Whitepaper 3, As a scan result, corresponds with vector

3, As a scan result, corresponds with vector

  • At one point, we will consider a vector that can handle multiple correspondences.

e.g. concept of correspondence to point denote that if the scalar is only temperature, then the vector is both temperature and wind flow.

  • Now, if we apply this logic to drive scan, let’s look at its mapping.
  • One factor is the state of sectors in the previous chapter, and it accompanies the reaction rate as pair.
  • And, we need to express as a space that we can recognize. When consider at the calculation, the best to fix size in 1 and equate only by rotation and movement.
    そして、私たちが認識できる空間として表現する必要があります。 計算で考えるとき、大きさを1に固定し、回転と移動だけで同一視するのが最善です。
  • If a HDD is scanned in this way and as a result all sectors are OK as scalar side and do not rotate as vector side too, that is, the representation of space does NOT become a “waveform”, that HDD is no problem.

chapter340, [SORA] draft: renewal Whitepaper 2, As a scan result, corresponds with scalar

2, As a scan result, corresponds with scalar

  • A drive have a variety of failure factors, between them, the simplest model is the scalar correspond. First, let’s start with the scalar.
    ドライブにはさまざまな障害要因があり、その中で、最も単純なモデルはスカラーによる対応です。 まず、スカラーから始めましょう。

2-A, State definition
2-A, 状態の定義

  • The scalar status denote from α to Δ below.

α: no problem
β: can not read sectors
γ: can not read and write sectors
Δ: out of control sectors
α: 問題はありません
β: 読み込み不能セクタ
γ: 読み書き不能セクタ
Δ: 制御不能セクタ

  • Since these are a scalar value, this condition only corresponds as a result. By the way, do you think that there is no problem with HDD(bijection) that is easy to judge, by looking only at this scalar value?
    Actually … the answer is NO.
    Even if HDD, cannot be judged from this alone. In other words, era of current is even HDD which is difficult to judge, cannot be investigated simply by indicating the sector status.
    Just looking at the good or bad of a sector requires a concept that includes direction, that is handled by a vector.
    これらはスカラー値であるため、この条件は結果としてのみで対応します。 ところで、このスカラー値だけで、状態が判断しやすいHDD(全単射)については、問題ないと思いますか?
    実は … 答えはノーだ。
    HDDであっても、これだけでは判断できません。 つまり、現在の時代はHDDでさえ判断が難しく、セクタの状況を示すだけでは調査できません。

chapter339, [SORA] draft: renewal Whitepaper 1, introduction

1, introduction

Welcome to SORA Network!
First, we would talk a concept in SORA Network.
SORA ネットワークにお付き合いいただき、誠にありがとうございます。

1-A, About sufficient and necessary conditions for drive scan
1-A, ドライブ検査に対する十分条件ならびに必要条件について

  • Regarding HDD/SSD/NVMe, Let’s consider the logic from α to β below.

α: Confirmation of normality by full scan.
β: There is no problem sequential and random read/write.
α: 完全な検査(完全スキャン)で正常性を確認
β: シーケンシャルおよびランダムの読み書きは問題ありません

  • First, scanning of HDD come to necessary and sufficient condition. Therefore, in the case of HDD, the old scan logic is no problem. Simply, just check the good or bad of a sectors.
  • Next is the case of SSD/NVMe, necessary conditions is OK, but not sufficient conditions. Therefore, must be not only check the quality of a sectors but also a drive benchmark and so on used as other mapping.

1-B, Why is this result?
1-B, どうしてそのような結果に?

  • The reason is that the correspondence from state of sectors to scan results is that HDD is bijection, but SSD/NVMe is monomorphism.
  • In other words, even if you perform a sector scan on SSD/MVMe, they does not mean that they have been checked all target in flash memory due to monomorphism. Therefore, the sufficient conditions are not satisfied.

1-C, So what should?
1-C, では、どうするべきか?

  • First of all, “data protection” is the highest priority for drive scan. Because this aim to scan that are carried out to protect the data.
    まず第一に、「データ保護」はドライブスキャンの最優先事項です。 これは、データを保護するために実行されるスキャンを目的としているためです。
  • If you won’t need to protect data, there is one easy way to make a bijection with SSD/NVMe. That is to write “random numbers” to all sectors, in this case, sectors prediction management is not possible, so bijection is used.
  • However, that doesn’t make sense.
    We need logic to determine when to replace a drive while preserving the data.
  • Therefore, we have adopted a mechanism that collects statistical elements in drive status by the Blockchain and sandwiches a mapping that converts monomorphism to surjection, as if it see object from inner to outer by a lens.
    Building that Blockchain … is one of the purposes of SORA Network.

chapter338, [SORA] Discover a strange phenomenon in diff

Sorry. the update frequency have decreased recently.
About reason, we are busy with recovery work, development(doing my best) and survey the following diff … and we couldn’t handle until this update.

When we have been adding various arithmetic processing, we happened to find a strange phenomenon in the processing process of diff.
Currently, we are mathematically survey the cause of the phenomenon.

chapter337, [FromHDDtoSSD with Blockchain] Sorry for the wait!!

New feature that “freedom from the trouble of drive failure to lose data” …….
“Blockchain integration software [SORA Network]” called “the FromHDDtoSSD with Blockchain ver3.0”, which are being developed separately, we intend to be released this month.

chapter336 [M1], Adding uint256 operator * / %

Supports multiplication, division, and remainder for uint256.

uint256 ui1(12345678);
uint256 ui2("0x00002046b1c7938971a6089c7105fc15907b8f27ac8dfea");

uint256 r = ui2 * ui1;
::fprintf(stdout, "uint256 mul 0x%s\n", r.ToString().c_str());
uint256 r = ui2 / ui1;
::fprintf(stdout, "uint256 div 0x%s\n", u1.ToString().c_str());
uint256 r = ui2 % ui1;
::fprintf(stdout, "uint256 rem 0x%s\n", u1.ToString().c_str());