暗号通貚を曞いたように

3幎前、私は自分の暗号通貚を䜜成するずいう考えを持っおいたした。 Bitcoinから、ノヌドずブロックチェヌンを䜿甚しおこのアむデアを採甚するこずにしたした。





各ノヌドを人にバむンドするこずにしたした。 鉱倫になりたい人は誰でも、自分の顔のビデオを撮り、写真を撮らなければなりたせん。 チェックするず、写真ずビデオが保存され、顔が同じであるこずを確認したす。 写真がそうであるように、ビデオはそれを停造するこずがほずんど䞍可胜であるずいう理由だけで必芁です。

写真では、デヌタベヌスの怜玢時に比率を比范するために、顔の特定の郚分にドットを配眮する必芁がありたす。

すでにそのようなテストに合栌しおいるすべおの鉱倫はこれをチェックしたす。 その結果、日䞭に10の賛成祚ず10未満の反察祚を集める必芁がありたす。

これはすべお、ノヌド間でトランザクションずブロックを送信するこずで発生し、䞭倮サヌバヌはありたせん。 すべおの写真/ビデオは公開されおいたす。



あなたがあなたに投祚するために10人の鉱山劎働者に賄briを莈っおも、これはあなたが鉱山劎働者になるこずを保蚌したせん。 10マむナスをキャッチするチャンスがありたす。



クロヌンがすでにDCネットワヌクに䟵入しおいる堎合のフォヌルバックオプションもありたす。 この堎合、誰かが苊情を䌎うトランザクションを送信する必芁がありたすParseData-> abuses。 次に、管理者、぀たり 私は、このマむナヌを䞀般ナヌザヌのランクに転送するトランザクションを送信する暩利を取埗したす。

合蚈で、管理者は11皮類のトランザクションを利甚でき、それらはすべおParseDataのメ゜ッドを䜿甚しお凊理されたす

admin_1block-最初のブロックを凊理しおいたす。

admin_add_currency-新しい通貚を远加したす。 珟圚、すべおの囜の通貚ではなく、䞻芁通貚のみが存圚したす。

admin_answer-バグレポヌトぞの返信。

admin_ban_miners-苊情があった堎合、マむナヌをマむナヌからナヌザヌに転送したす。 同時に、䜕ずか誘惑されたものはすべおナヌザヌの自由です。

admin_message-むンタヌフェヌスに衚瀺される短いメッセヌゞ。

admin_blog-将来、突然、短いメッセヌゞに収たらない䜕かを報告するこずが必芁になりたす。

admin_new_version-新しいバヌゞョンを入力したす。

admin_new_version_alert-曎新が必芁なむンタヌフェヌスでアラヌトを提䟛したす。

admin_spots-クロヌンを芋぀けるためのすべお-ポむントのセット、ポむントのバヌゞョンの互換性、そこからセグメントを䜜成するポむント、蚱容される矛盟。

admin_unban_miners-降栌したマむナヌをマむナヌに戻したす。

admin_variables-倉数、デヌタベヌス内の倉数テヌブル。 その埌、定数にする予定です。



誰も質問しないように、すぐにすべおの管理機胜をリストしたした-管理者はお金でアカりントをブロックできたすか いいえ、できたせん。管理者に蚱可されおいる最倧倀は、アカりントの資金に圱響を䞎えずにアカりントの特暩を䞋げるこずですadmin_ban_miners。



指定



マむナヌずいう蚀葉自䜓マむナヌによっお翻蚳されたは、昇栌された特暩を持぀ナヌザヌを指定するのにはおそらくあたり適しおいたせん。 しかし、歎史的に、私は垞にマむナヌを䜿甚しおきたした。



ブロック生成順序



すべおのノヌドは、ヘッダヌの珟圚のハッシュnode_id、block_id、prev_head_hashに応じおレベルに分割されたす。

レベル0のノヌドは、testblock-> get_block_generator_miner_idメ゜ッドによっお決定されたす

たずえば、ノヌドID 12689が珟圚0番目のレベルにある堎合、12690-12691は1番目のレベル、12692-126995は2番目のレベルなどになりたす。

0番目のレベルのノヌドがブロックを生成できなかった堎合、1番目のレベルのノヌドが䜜品に含たれ、そうでない堎合は2番目のノヌドなどが䜜品に含たれたす。

぀たり 攻撃者はブロックにノヌドを正確に生成させるこずはできたせん。



コむン生成



ノヌドがあり、それぞれに1人の生きおいる人が割り圓おられおいたす。 Xコむンを各鉱倫に簡単に配垃できたす。 しかし、䜕らかの理由で、このアむデアがすぐに気に入らなくなりたした。 発生する可胜性がある䟋-habrahabr.ru/post/217111以降-coinmarketcap.com/aur_90.html

私はただDcoinが人気になるず、圓局は取匕所に察しお制裁を課すこずでそれを戊うこずができるずいう考えをただ埗おいたせんでした。 必芁なのは、取匕所、銀行、その他の仲介者なしでDcoinが存圚できるようにするメカニズムでした。

はい、ちなみに、DcoinはDemocratic Coinの略で、DCです。



゜リュヌションは非垞にシンプルであるこずが刀明したした。 コむンの分垃ず、Dcoinを珟金に亀換する機胜を組み合わせる必芁がありたす。 これを行うには、䞻芁通貚をDcoinにコピヌする必芁がありたした。 3文字の通貚コヌドに文字Dを远加したした。 DUSD、DEUR、DRUBなどが刀明したした。

たずえば、鉱山劎働者が1000 DUSDを賌入する堎合、DCネットワヌクにトランザクションを送信したす。これは、1000 DUSDで1000 DUSDを賌入するこずを瀺しおいたす。 しかし、DUSDを売りたい人はいないかもしれたせん。 鉱倫は、DUSD売り手が珟れるたで無期限に埅機する準備ができおいる必芁がありたす。



珟圚、たずえば、分散デヌタベヌスに10䞇件のレコヌドがあり、鉱倫は1億ドルでDUSDを賌入する準備ができおいたす。 DUSDを䜜成したす。 誰もがおそらく予掘を考えた。 しかし、誰かが私にそこのDUSDに$を払っおくれるずは思わないので、すぐに。 はい、そしお事前に掘り䞋げるのではなく、単にコむンを配る方が論理的です。



鉱山劎働者は誰かが圌にDUSDを売りたいず思うたで埅぀ので、鉱山劎働者の口座にDUSDを請求するこずにしたした。

DUSDは次の匏に埓っお蚈算されたす。

nDUSD = bDUSD *1 + K^ T-bDUSD

ここで、nDUSDは新しく䜜成されたDUSD、bDUSDはマむナヌが賌入する準備ができおいるDUSDの量、Kは以䞋で蚘述する係数、Tは秒単䜍の時間です。

぀たり より倚くのDUSDを賌入する準備ができおおり、誰かがそれらを販売するのをより長く埅぀ず、より倚くの新しいDUSDが䜜成され、圌のアカりントに入金されたす。

゜ヌスでは、この匏はParseData- > calc_profitメ゜ッドにありたす。 calc_profitにはさらにいく぀かのパラメヌタヌが含たれおいたすが、それらのパラメヌタヌを説明し始めるず、退屈で長すぎたす。 しかし、誰かが興味を持っおいるなら、私は曞きたす。



係数K



これは非垞に重芁な芁玠です 攟出はそれに䟝存したす。 私は長い間、どのようにそれを䜜るか、どのパラメヌタヌにアタッチするかを考えたした。 結局のずころ、圌はラップに屈するべきではありたせん。 最も民䞻的な遞択肢は、採掘者自身が投祚によっおこの係数を決定するものでした。 䟿宜䞊、むンタヌフェヌス郚分では、係数Kは/幎ずしお衚瀺されたす。 有効な倀は0〜1000/幎です。 ゜ヌスコヌドでParseData-> votes_complex。 マむナヌは、['min_hold_time_promise_amount']秒前に$倉数を超えお远加された通貚にのみ投祚できたす。 クロヌン攻撃から保護し、音声でネットワヌクを䞍安定にできないようにしたす。

係数の再カりントず曎新は、$倉数['new_pct_period']秒ごずに行われたす。 今は2週間です。



珟圚、分散デヌタベヌスには、鉱倫が1億DUSDを賌入するずいう玄束だけでなく、排出率に察する投祚もありたす。 係数Kに぀いお。そしおしばらくするず、最初のDUSDが鉱倫の口座に衚瀺され始めたす。



通垞の鉱山劎働者は、1000 DUSDに察しお$ 1000を䞎える準備ができおいるこずを単に瀺す必芁があり、たずえば、投祚の結果によっお900/幎が遞択された堎合、月に+200 DUSDになり、幎に+9000 DUSDになる9000ドルに盞圓したす。

ただし、係数の䞊限をいじるこずはお勧めしたせん。 結果に぀いおは以䞋に蚘茉されおいたす。



りォック



ru.wikipedia.org/wiki/Wocuず同様に、WOCを䜜成したした。 各鉱山劎働者に請求され、他の鉱山劎働者からの珟金ず亀換するこずはできたせん。 りォレットからりォレットに転送できたす。 理論的には、WOCは䞖界通貚の台座䞊のドルを眮き換える必芁がありたす。



取匕所



圌らがそうであれば、それは良いこずですが、圌らが犁止されおいれば、それは怖くありたせん。 倧郜垂では、Dcoin通貚を即座に珟金に倉換するため、マむナヌの優先は組み蟌みの亀換メカニズムに䞎えられるず思いたす。



地理的および囜の制限



おそらく、鉱山劎働者のほずんどは、自囜たたは通貚同盟倖のどこかで自囜通貚を採掘するこずに反察するか、鉱倫を倧郜垂にのみ配眮するこずを望むでしょう。 したがっお、通貚を远加する堎合、鉱倫は自分の母囜語を話すビデオを録画する必芁がありたす。「100 DNOKに察しお100 NOKを䞎えるこずを玄束したす。」 次に、囜を指定し、地図䞊のポむントをマヌクする必芁がありたす。 たた、ノルりェヌクロヌネを採掘しおいる10人の鉱倫が芁求を承認する必芁がありたす。 おそらくDNOK鉱山劎働者は、新しいDNOK鉱山劎働者がノルりェヌの䞻芁郜垂にある有名な蚘念碑の背景でビデオを撮圱しなければならないずいうルヌルを導入するでしょう。



むンフレヌション



鉱山劎働者がどのように振る舞うか、どの係数で投祚するかはわかりたせん。 しかし、たずえば、DUSDが垂堎のニヌズを超えお䜜成される堎合、そのようなシナリオは陀倖されたせん。 DUSDが取匕所で取匕されおいる堎合、レヌトは11を䞋回りたす。 たずえば、1 DUSDは0.9 USDになりたす。 この堎合、鉱倫は意識を持ち、DUSDの総質量を枛らす必芁がありたす。 同じ投祚で。 たずえば、> 50が10の削枛に投祚し、デヌタベヌスの1億DUSDの代わりに、党員が9,000侇DUSDParseData-> reductionを持ち、11のレヌトを返したす。

鉱倫は、最倧玄束金額の倉曎ず䞀緒にマむニングできる通貚の数に投祚するこずもできたすParseData-> votes_complex。



曎新したした。 玄束された金額の合蚈が䜜成された通貚のコむンの量よりも少なくなるず、問題の通貚のコむンの量が10自動的に枛少し始めたす。



シンプルなナヌザヌ



マむナヌに加えお、単玔なナヌザヌがただいたす。 写真やビデオは必芁なく、完党に匿名です。 Dcoinコむンのみを受け入れお送信できたす。 ナヌザヌはノヌドを保持する必芁はありたせん。 DC-Network内の任意のノヌドにトランザクションを送信するだけです。

マむナヌは、普通のナヌザヌのコむンをりォレットで成長させるために投祚できたす。 たずえば、30/幎。 ぀たり 単玔なナヌザヌは、取匕所で䞀郚のDUSD、たずえば10kを賌入でき、1幎埌には13,000 DUSDになりたす。 そのような機胜が必芁かどうかはわかりたせんが、必芁ない堎合は、マむナヌはナヌザヌのをれロに保぀こずができ、䜕も成長したせん。



新芏ナヌザヌ



私もこれに苊しめなければなりたせんでした。 結局、新しいナヌザヌの登録を䌎うトランザクションを党員に送信する機䌚を䞎えるず、誰かが10億のトランザクションを取埗しお生成し、DCネットワヌク党䜓を圧倒したす。 最初は招埅でそれをやったが、問題が刀明した-招埅が瀺されおいる登録を䌎うトランザクション、あなたは自分で招埅を傍受しお䜿甚するこずができたす。 したがっお、マむナヌず$倉数['limit_new_user_period']秒あたり$倉数['limit_new_user']のみが、新しいナヌザヌを登録しおトランザクションを送信できたす。 珟圚、月に2぀ありたす。



䞻キヌの盗難防止



アカりントには最倧3぀の䞻キヌを添付できたす。 これは、DCネットワヌクがトランザクションのいずれかを受け入れるために、3぀の眲名が必芁であるこずを意味したす。 たずえば、SMSコヌドを入力した堎合にのみトランザクションに眲名する䞀郚のサヌドパヌティサヌビスで、1぀のキヌを自宅に、他の2぀のキヌを保存できたす。



開発プロセスに぀いお䞀蚀



それには3幎かかるず、最悪の悪倢でも想像できたせんでした。 数ヶ月で管理しようず思った。 同じ理由で、圌は倚かれ少なかれ蚱容できるレベルで知っおいるこずを蚀語で曞きたした。 3幎前たで遡るず、おそらくC ++を䜿甚するこずになりたす。

最初の2幎半、圌は倕方ず週末に働いおいたしたが、それはひどく迷惑でしたが、半幎前に圌は仕事を取り陀いお、Dcoinにすべおの時間を捧げ始めたした。 1日10〜16時間の最埌の3か月間、バグを怜玢しお修正したした。 せいぜい1か月だず思っおいたしたが、バグはありたせんが、3はなくなっおいたす。

私はDcoinの仕事の耇雑さの倚くを説明したせんでした、なぜなら そうしないず、蚘事が長すぎお読みにくくなりたす。 Dcoin 41では、トランザクションのタむプ、それらを凊理するメ゜ッドはParseDataクラスにありたす。 質問を曞いお、すべおを説明したす。

゜ヌスコヌド内のコメントには倚くの゚ラヌずタむプミスが含たれおいるので、間違いなくそれらをクリヌンアップしたす。 コヌドはおそらくあたりうたく曞かれおいたせんが、䞻なこずはすべおが機胜するこずです。



蚭眮



むンストヌル䞭に、秘密鍵が必芁です。 ここか、鉱山劎働者から入手できたす。

むンストヌルは簡単で、玄2〜3分かかりたす。 他の誰かがアカりントを取埗しないように、すぐにキヌを倉曎する必芁がありたす。

これたでのずころ、32ビットOSでのみ䜿甚できたす。 いく぀かの関数、特にpowを曞き換える必芁があり、64ビットず互換性がありたす。

テストでは、512個のRAMず700Mhz CPUを備えたシンプルなVPSを䜿甚したしたが、このような容量で初めお十分です。

apacheたたはnginx、PHP> 5.2.4、Mysql> 5.0が必芁です。

勝぀こずに賭けおいる堎合は、nginxを䜿甚する方が良いず、winginxでテストしたした。



曎新した

コメントのリク゚ストで、むンストヌルの説明を曞きたした

勝぀ために
1. winginx.com/en/downloadをむンストヌルしたす

2. Winginx Workbenchでプロゞェクトを䜜成したす

3. github.com/c-darwin/dcoin/archive/master.zipをダりンロヌドしたす

4.サむトディレクトリに解凍したす

5. pmaにデヌタベヌスを䜜成したす localhost 81 /

6. localhost / dcoin-master / index.phpに移動したす

7. php_pathは次のようになりたす-C\ Winginx \ php5 \ php.exe

8.むンストヌル手順に埓いたす



アカりントをマむナヌにアップグレヌドするには、着信接続甚に80番目のポヌトを開く必芁がありたす。



nixの堎合
1.むンストヌルされおいない堎合、nginx、PHP> 5.2.4、Mysql> 5.0をむンストヌルし、デヌタベヌスを䜜成したす

2. github.com/c-darwin/dcoin/archive/master.zipをダりンロヌドしたす

3.サむトディレクトリに展開する

4. ip_server / dcoin-master / index.phpに移動したす

5.むンストヌル手順に埓いたす



アカりントをマむナヌにアップグレヌドするには、着信接続甚に80番目のポヌトを開く必芁がありたす。



upd1

゜ヌスにメゞャヌアップデヌトがありたした-Dcoinのボリュヌムが自動的に枛少したした。



upd2

コメントで尋ねられた質問に察する詳现な回答



停の動画



しかし、それを取り蟌んでいく぀かの゜フトりェアでビデオクリップを生成し、100,500のマむナヌアカりントを登録しお、芜のDcoinを砎壊したらどうでしょうか。 たたは、1日に数千の新しい顔を䜜成するメむクアップアヌティストを雇いたすか

少しのお金で、これは空想科孊小説でのみ可胜です。 根拠がないように、蚌明リンクを匕甚したす。



コンピュヌタヌの停物



このようなビデオを䜜成するための最䜎䟡栌は2000ドルからですが、䞀郚の専門家によるず、倚少珟実的なレベルのリアリズムを実珟するには、各ビデオに100䞇ドル必芁です。 蚌明



プロのメむクアップ



たずえば、1人の人を連れお、50回のメむクアップずメむクアップをするずしたら

それはかなり単玔に聞こえたすが、実際には、そのような喜びは50メむクアップのために$ 100kから$ 285kからかかるでしょう。 蚌明

Peter Gorsheninのスタゞオで、私は$ 285kの金額を衚明したしたが、プロセスは次のように説明されおいたした。

「人からフォヌムを削陀し、顔のモデルをキャストする必芁がありたす。 次に、顔の郚分のモデルを䜜成したす。異なる郚分、玄5個額、錻、あご、2぀の頬骚を䜜成したす。 次に、塑像甚粘土からの倉化の圫刻がそれらに行われたす。 その埌、金型を再び取り倖し、シリコン郚品自䜓が鋳造されたす。 そしお、このすべおの50回は、人からのフォヌムの最初の削陀を陀きたす。」



「蟲堎」の出珟の可胜性に぀いお





ほずんどの堎合、遅かれ早かれ、「ファヌム」があり、cなビゞネスマンは玄束された金額ずオフラむンチェックを远加したアカりントの完党登録に10〜20ドルを支払いたす。 しかし、そのようなトリックが珟れるず、そのようなアカりントから受け取る利益は少なくずも数癟ドルになりたす。 誰かがそのような灰色のアカりントに瀺された玄束金額ずDcoinを亀換するリク゚ストを送信した堎合、そのような蟲堎の所有者が圌の玄束金額に埓っおコむンの成長の凍結を受けるこずは完党に䞍採算になりたす。 結局、受け取ったDcoinは取匕所で簡単に販売できたす。 そしお、圌は同じ量のDcoinず匕き換えに玄束された量を䞎えなければなりたせん。 ぀たり 実際、そのような蟲堎は単玔な鉱倫のグルヌプず倉わらないでしょう、唯䞀のこずは䞀人がすべおのクリヌムを受け取るずいうこずです。

しかし、そのような蟲堎には倧きなボリュヌムはありたせん。 なぜなら 最初のそのようなスキヌムを明らかにするずき、最初のビデオを蚘録するためのルヌルが远加されたす。これは、カメラに「demcratic-coin.comのルヌルに同意したす」ずいう玙を衚瀺する必芁があるこずを瀺したす。 奜奇心のほずんどは、圌らが同意するものを芋぀けるためにサむトに行きたす。 たた、サむトでは、アカりントを10〜20ドルで販売するこずは非垞に䞍採算であり、このアカりントを自分で䜿甚する方がはるかに有益であるず曞かれおいたす。



しかし、人口の85がむンタヌネットを持っおいないむンドの遠隔地に行っお、スタゞオで人々を撮圱するずどうなりたすか

繰り返したすが、深刻な負の圱響を受けない蟲堎を手に入れたす。 蟲堎の所有者が玄束された金額の芁求を無芖するこずは䞍利益です。

しかし、そのような蟲堎を燃やさないこずははるかに難しいでしょう、なぜなら 倧郜垂でオフラむンチェックに合栌しお道に迷うこずはできたせん。぀たり、25人の鉱山劎働者がただ集たっおいない小郜垂の䜏人になりすたす必芁がありたす。 そしお、そのような郜垂はすべお管理者によっお慎重にチェックされたす。 動画内の同様の芁玠を芋぀け、新しい動画を削陀するリク゚ストを送信するこずは残っおいたす。



蟲堎の存圚そのものが、Dcoinがすでに進化しおおり、各マむニングアカりントが恒垞的な利益の源であるこずを瀺唆しおいたす。 そしお、そのような蟲堎の所有者は、䜏民の無知を利甚しお、超利益を受け取りたす。 この事実は長い間気付かれるこずはなく、遅かれ早かれメディアに行きたす。 そしお、これらすべおの知識のない人々は、自分自身が鉱山劎働者になるこずがより有益であるこずをすぐに認識したす、これにより、その時たでに、あなたはコンピュヌタヌさえ必芁ずせず、むンタヌネットカフェに䞀床登録しお、あなたの携垯電話を䜿い続けたす37コむン 。



新しい鉱倫のためのサンドボックス



新しいマむナヌは1か月以内に新しいナヌザヌを登録できるため、DCネットワヌクをボットマむナヌで占めおボットマむナヌで埋めるこずは䞍可胜です。 たた、1か月に登録できるナヌザヌは2人たでです。 新しい鉱山劎働者の投祚ず珟金亀換も1か月埌にのみ利甚可胜になりたす。



怜蚌の日



しかし、どこかで10個のアカりントを取埗し、ボットに10個のプラスを远加するずどうなりたすか

䜕もありたせん。 なぜならDCネットワヌクにトランザクションが衚瀺されおから24時間以内に投祚を完了するこずはできたせん。そしお、この期間䞭に申請者が10マむナスを集めた堎合、圌は鉱倫になりたせん。そしお、すべおの鉱倫が他の鉱倫をチェックする動機を持っおいるように、ポむントがあり、その䞍足は玄束された金額の成長の枛少に぀ながりたす。



オフラむンチェック



実装䞭

マむナヌになりたいナヌザヌから半埄25 km以内に少なくずも25人のマむナヌがいる堎合、それらから1぀の疑䌌ランダムが遞択されたす。

コヌド
/** * @param int $user_id - user_id   . * @param int $size - -    ,     25. * @return int */ function get_checking_miner_id ($user_id, $size) { $hi = $user_id / 127773; $lo = $user_id % 127773; $x = 16807 * $lo - 2836 * $hi; if ($x <= 0) $x += 0x7fffffff; $key = ( ($user_id = $x) % ($size + 1)); return $key; }
      
      





アルゎリズムからわかるように、特定のマむナヌチェックを行うこずは䞍可胜です。 鉱倫の候補者の連絡先は、遞択した鉱倫に送信され、圌は圌を呌び出しお、䌚議堎所を指定する必芁がありたす。 圌らが䌚うはずの2日以内に、遞ばれた採掘者は共同写真を撮り、それを自分のノヌドに眮き、トランザクションをDCネットワヌクに送信しなければなりたせん。



このため、圌は1000ポむントを受け取りたす。 たた、小切手を拒吊するトランザクションを送信するこずもできたす。 2日が経過した堎合、たたは取匕が拒吊された堎合、申請者は次のランダムマむナヌに新しいリク゚ストを送信する暩利を受け取りたす。

半埄25kmの範囲内で鉱山劎働者が25人未満の堎合、個人的なミヌティングなしでチェックが行われたす。 半埄50,100,500,1000,10000,100,000kmの範囲内で、25人のマむナヌが怜玢され、擬䌌ランダムが遞択され、リク゚ストが圌に送信されたす。 圌は、Skype経由で申請者に電話し、カメラを通しお圌を芋お、写真を撮り、メモに入れお、DCネットワヌクにトランザクションを送信しなければなりたせん。

写真ずのトランザクションが送信された埌、申請者は、DCネットワヌクにトランザクションを送信する暩利を受け取りたす。DCネットワヌクでは、ビデオぞのリンク、写真のハッシュ、写真䞊のポむントを瀺したす。 次は鉱倫によるチェックず投祚です。



したがっお、「蟲堎」は倧郜垂の矀衆の䞭に迷子になるこずはできず、他に25人の鉱倫がいない堎所に珟れるすべおの鉱倫は、管理者によっおさらにチェックされたす。



ポむントに぀いお



マむナヌを取埗するには、毎月ポむントを獲埗する必芁がありたす。

月ごずのすべおのマむナヌのポむントの合蚈/マむナヌの数*係数。

係数は珟圚0.3です

ポむントが少ない堎合、来月はナヌザヌの割合がありたす。



DCネットワヌクにデヌタを送信し、ノヌドで確認する



オフラむンチェックを正垞に完了した埌、マむナヌになりたいナヌザヌは、2枚の写真を自分のノヌドにアップロヌドし、それらをポむントし、ビデオURLをポむントしお、DCネットワヌクにトランザクションを送信したす。 同じトランザクションで、写真からのハッシュが瀺されたす。

ノヌドはブロックの1぀でこのトランザクションを受け取り、これらの写真を自分自身にダりンロヌドする必芁がある人の䞭にいる堎合、自動的にダりンロヌドしたす。

写真を独自に保持する必芁があるノヌドは、このアルゎリズムによっお決定されたす。

コヌド
 /** * @param int $block_id  ,     . * @param int $max_miner_id -  id   ,  -   . * @param int $miners_keepers -       .   10. * @return array */ function get_miners_keepers ($block_id, $max_miner_id, $miners_keepers) { for ($i=0; $i < $miners_keepers; $i++) { $hi = $block_id / 127773; $lo = $block_id % 127773; $x = 16807 * $lo - 2836 * $hi; if ($x <= 0) $x += 0x7fffffff; $miner_id = ( ($block_id = $x) % ($max_miner_id + 1)); $miner_id = ($miner_id==0)?1:$miner_id; $array[] = $miner_id; } return $array; }
      
      





぀たり 写真に特定のノヌドを保存するこずはできたせん。

写真を保存した各ノヌドは、ハッシュをトランザクションで指定されたハッシュず比范したす。 それらが収束するず、トランザクションがDCネットワヌクに送信され、怜蚌に合栌したこずがレポヌトされたす。 ノヌドの50が写真を自分自身に正垞にダりンロヌドしたこずを確認した堎合、チェックは鉱倫から始たりたす。 ノヌドによる怜蚌は、マむナヌの参加なしで自動的に行われたす。



マむナヌチェック



最初のステップでは、写真のドットが正しく適甚されおいるかどうかを確認する必芁がありたす。

次に、写真ずビデオを比范する必芁がありたす。本圓に同じ顔がありたすか。 オフラむンチェックを行った鉱倫から受け取った写真も。

その埌、類䌌した人々の写真を瀺すペヌゞが衚瀺されたす。 疑わしいほど類䌌した人物がいるかどうかを芖芚的に確認する必芁がありたす。 人皮の遞択がありたす ペヌロッパ人にずっお、すべおのアゞア人は同じ顔をしおおり、アゞア人にずっお、すべおのペヌロッパ人は同じです。



この䟋では、正確なクロヌンが申請者で芋぀かったこずがわかりたす。

写真が衚瀺されおいない堎合は、「リロヌド」ボタンをクリックする必芁がありたす。この写真は別のノヌドからロヌドされたす。 10個のノヌドのいずれかから写真をアップロヌドできない堎合、鉱倫の候補者は、前のアカりントからの写真がある10個のノヌドを単玔に絞殺した可胜性がありたす。 したがっお、そのような鉱倫を拒吊する必芁がありたす。 申請者を確認するタスクを完了するず、鉱倫に50ポむントが䞎えられたす



鉱倫はタスクを完了する責任がありたすか



珟時点でbtcを持っおいる堎合、ビットコむンに察するメディアのネガは䞍快になりたす。 このマむナスはbtcレヌトに圱響を䞎える可胜性があるため、btcで賌入できる特兞の数に圱響を䞎えたす。 同時に、btcがなかった堎合、ビットコむンニュヌスに察するあなたの態床はより䞭立的でした。 そう

Dcoinをある皋床賌入したか、䞀定の利益をもたらす玄束額を远加したず想像しおください。 この堎合にのみ、Dcoinの運呜は本圓にあなたを気にしたす。 そしお、他の誰かのクロヌンが䞍圓なコむンを受け取るこずができるDCネットワヌクに枡るかどうかに䟝存しおいる堎合、それらをチェックする手順に責任を持っお察応したすか 同時に、Dcoinが倧衆に䟵入しおコむンを簡単にフィアットず亀換できるようにするため、党員を連続しお犁止するこずはできたせん。



内郚からクロヌンを怜玢する





2枚の写真のそれぞれに1぀のセグメントが必芁になり、他のすべおのセグメントを比范したす。

これが、写真の顔党䜓の目ず目からプロフィヌル写真の耳の端たでの距離です。



spots_compatibilityテヌブルには以䞋が保存されたす。

1.珟圚のバヌゞョン。

2. 2぀のサンプル写真に適甚されるポむント。

3.互換性のあるバヌゞョン。

4.セグメントを取埗するために接続するポむント。

5.クロヌンを怜玢する際に蚱容される矛盟。



facesテヌブルには以䞋が保存されたす。

1. f1、f2 ... f20-顔党䜓のセグメントず目の間の距離の比率。

2. p1、p2 ... p20-目から耳の端たでの距離に察するプロファむルの顔のセグメントの比率。

3.圓時のspots_compatibilityのバヌゞョン。



クロヌンの怜玢でより効率的なポむントのセットが芋぀かった堎合、spots_compatibilityテヌブルのデヌタが曎新され、新しいポむントのセットに基づいおセグメントがFacesテヌブルに入力されたす。



鉱倫の申請者を確認する最初のステップでは、写真䞊のポむントが正しくプロットされおいるこずを確認したした。぀たり、セグメントも正しく取埗されたす。 spots_compatibilityずの蚱容差を考慮しお、f1、f2 ... f20およびp1、p2 ... p20ずの比范が行われるデヌタベヌスに芁求するだけです。 その結果、鉱倫のIDを取埗したす。これは、申請者に䌌おいたす。

テスト 

i7-2600k / CentOS i386 /暙準mysqlおよびphp蚭定

泚釈 秒単䜍の時間
100侇 0.12
300侇 0.39
500侇 0.8


管理者チェック



おそらくspots_compatibilityの倀が䞍完党なため、クロヌンはスキップできたす。 したがっお、管理者は既にテスト枈みのマむナヌにナヌザヌに挑戊する機䌚がありたす実際、これにはDcoinの管理者が必芁ですが、1日に1000人以䞋です。 この転送の結果、鉱倫の口座の資金はどこにも行かず、ナヌザヌに応じお増加するだけで、玄束された金額は新しいコむンの持ち蟌みを停止したす。



管理遞挙



管理者のアクションが倧倚数に合わない堎合、鉱倫は管理機胜を任意のナヌザヌに移すこずに投祚できたす。 投祚の50以䞊が入力された堎合、管理者のすべおの機胜は遞択されたナヌザヌに完党に枡されたす。




All Articles