> For the complete documentation index, see [llms.txt](https://doc.cryptostone.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.cryptostone.org/crypto-stone/crypto-stone-wp-jp/gems-shu-xing/30torandamuno.md).

# 30. 属性生成とランダム性

宝石属性は運営者が手入力するものではない。採掘時点で、マイニングコントラクトがランダム値に基づいてWeight、Color、Clarity、Cutを決定する。

重要なのは、ランダム生成方式が検証可能であることだ。運営者が高等級NFTを任意に生成できるなら、CryptoStoneの分散性と希少性は損なわれる。

CryptoStoneは、ユーザー提供エントロピー、直近の複数ブロックエントロピー、Ethereum `prevrandao`、Claim状態値、コントラクト固有値を組み合わせることで、単一のランダム要素への依存を下げる。

この構造は次のように表現できる。

$$
S = H(userEntropy, user, positionId, claimNonce, prevrandao, chainId, contract)
$$

$$
B\_i = blockhash(blockNumber - 1 - (H(S,i) \bmod 30)) \quad \text{for } i \in {0..4}
$$

$$
R = H(userEntropy, B\_0, B\_1, B\_2, B\_3, B\_4, prevrandao, claimState, contractState)
$$

このモデルは、単一のブロック値や単一のユーザー値だけに依存しない。ユーザーエントロピー、複数の直近ブロック参照、Ethereumのコンセンサスエントロピー、claim固有の状態を混合し、予測可能性や運営者依存性を下げる。

CryptoStoneのランダム生成方式は次の原則に従う。

| 原則              | 説明                                    |
| --------------- | ------------------------------------- |
| 予測不可能性          | 運営者もユーザーも結果を事前に知ることができない              |
| 結果選択不可          | 運営者が有利な結果を選択したり不利な結果を拒否したりできない        |
| 再試行防止           | ランダム要求後、結果確定前にユーザーがキャンセルまたは再試行できない    |
| No Admin Reroll | 運営者が特定結果を再抽選または差し替えできない               |
| 公開検証            | 結果生成過程はオンチェーンまたは公開検証可能である             |
| 固定確率表           | 属性確率表はデプロイ前に公開され、finalization後に変更できない |
| 発行後不変性          | 発行後に属性を変更できない                         |

ランダム結果が要求された後、ユーザーは結果が不利だからといってclaimをキャンセルまたは再試行できてはならない。運営者も特定ユーザーへ有利な結果を割り当てたり、特定属性を生むseedを選択したりできてはならない。これは、希少宝石が運営者裁量ではなく検証可能なランダム構造によって生成されるための核心条件である。

発行後、Gem NFTの核心属性は固定されるべきである。Weight、Color、Clarity、Cut、stoneType、minedAt、minedFromPoolなどの核心メタデータは、運営者によって変更できてはならない。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.cryptostone.org/crypto-stone/crypto-stone-wp-jp/gems-shu-xing/30torandamuno.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
