「Agent」の版間の差分

提供: tezos-wiki
移動先: 案内検索
(1版 をインポートしました)
(トラステッドコンピューティング/ TPMチップの使用)
(タグ: モバイル編集モバイルウェブ編集)
 
(6人の利用者による、間の6版が非表示)
1行目: 1行目:
An '''agent''' is an autonomous program that is able to survive by selling services for Bitcoins, and using the proceeds to rent server capacity. Agents that are profitable enough may replicate themselves by spawning additional instances on other servers.
+
''エージェント ''は、Bitcoinsのサービスを販売し、その収益をサーバーの容量を使うことによって稼働できる自律型プログラムです。十分な収益を上げているエージェントは、他のサーバー上のインスタンスを追加して複製することができます。
  
Bitcoin-using autonomous agents were first described in a forum post by julz in 2011 and further elaborated on in that same discussion by Gregory Maxwell, who used a file storage system called StorJ as an illustrative example[https://bitcointalk.org/index.php?topic=53855.msg642768#msg642768]. Mike Hearn gave a talk on the topic at the Turing Festival 2013 ([https://www.youtube.com/watch?v=Pu4PAMFPo5Y video] and [http://www.slideshare.net/mikehearn/future-of-money-26663148 slides]). The concept has also been referred to as a "decentralised autonomous corporation" or DAC in a series of articles by Vitalik Buterin called [http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/ "Bootstrapping a decentralised autonomous corporation"].
+
Bitcoinを使用する自律エージェントは、2011年にjulzのフォーラムポストで最初に記述され、StorJと呼ばれるファイルストレージシステムを使用したGregory Maxwellの同じ議論をさらに詳しく説明しました[https://bitcointalk.org/index .php?topic = 53855.msg642768#msg642768]Mike Hearnは、Turing Festival 2013([https://www.youtube.com/watch?v=Pu4PAMFPo5Yビデオ])と[http://www.slideshare.net/mikehearn/future-of- money-26663148スライド])。この概念は、Vitalik Buterinの一連の記事(「http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/」)の「分散型自律型企業」またはDACとも呼ばれています"分散型自治法人のブートストラップ"]
  
==Core concepts==
+
==コアの概念==
  
Agents interact with the world via the following mechanisms:
+
エージェントは、次のメカニズムを介して世界と対話します。
  
# The Bitcoin network
+
#Bitcoinネットワーク
# APIs that allow for renting server capacity, and then remotely controlling that server (ie, ssh)
+
#サーバの容量をレンタルし、そのサーバをリモートで制御できるAPI(つまりssh)
# Human readable contracts posted to freelancer forums or the Mechanical Turk
+
#フリーランサーフォーラムやMechanical Turkに投稿された人間が読める契約
# Their own application protocols, for example, by serving HTTP
 
  
By maintaining their own balance, for the first time it becomes possible for software to exist on a level playing field to humans. It may even be that people find themselves working for the programs because they need the money, rather than programs working for the people. Being a peer rather than a tool is what distinguishes a program that uses Bitcoin from an agent.
+
#(例)HTTPを提供する。
 +
独自のアプリケーションプロトコル独自のバランスを維持することで、初めてソフトウェアが人間との平等な競技場に存在することが可能になります。人々のために働くプログラムではなく、お金が必要となります。また、ツールではなくピアであることは、エージェントからBitcoinを使用するプログラムを区別するものです。
  
Because server capacity is sold in well defined, standardized units (CPU seconds, gigabytes of RAM/disk, megabits of bandwidth) it becomes possible for software to automatically find and negotiate with providers who accept Bitcoin.
+
サーバー容量は、明確に定義された標準化された単位(CPU秒、RAM /ディスクのギガバイト、メガビットの帯域幅)で販売されている。そのため、ソフトウェアはBitcoinを受け入れるプロバイダと自動的に検索してネゴ​​シエートできます。
  
If a better deal is found, the agent can move itself. An agent that is profitable can be programmed to use some of those profits to bring up a child instance and fund it with a starter pack of coins. If the child instance is able to break even or better, it will survive, otherwise when its bank balance expires the server provider will delete the account and the agent along with it.
+
より良い取引が見つかると、エージェントは自分自身を動かすことができます。有益なエージェントは、その利益の一部を使って子供のインスタンスを立ち上げ、コインのスターターパックで資金を調達するようにプログラムすることができます。子インスタンスが壊れる可能性がある場合でも、子インスタンスは存続します。しかし、銀行残高が期限切れになると、サーバープロバイダはアカウントとエージェントを削除します。
  
Agents can expose their services to humans (or other agents) by selecting a name and then registering it with [[Namecoin]]. If the agent has only Bitcoins it can use peer to peer exchanges to atomically trade Bitcoins for Namecoins or vice-versa. Using DNS hierarchies and Namecoin together allows interested parties to monitor for new agents coming online: the agent of registering a name under a particular part of the tree automatically advertises its existence.
+
エージェントは、名前を選択して[Namecoin]に登録することによりサービス(または他のエージェント)をサービスに公開することができる。エージェントにBitcoinのみがある場合、ピアコア交換を使用してBitcoinsをNamecoinsにアトミックに交換することができます。 DNS階層とNamecoinを併用することで、利害関係者はオンラインになる新しいエージェントを監視できます。ツリーの特定の部分に名前を登録するエージェントは、その存在を自動的に宣言します。
  
Agents can improve themselves by purchasing the services of humans and using dispute mediators to give the humans some assurance the coins will be paid upon completion of the contract. A/B testing can be used to determine if the delivered work is really better than the old one or not, with the dispute mediator only releasing the coins if the results of the test are positive. For example, a redesigned user interface can be tested on 10% of all users, to see if they are more or less likely to upload/download a file. Alternatively, a quorum of dispute mediators can be specified, and they decide if the contract was met or not. New code can also be bought to increase the agents abilities.
+
代理人は、サービスを購入し、仲介者を使用して、契約の完了時にコインが支払われるという保証を人に与えることによって、自分自身を改善することができます。 A / Bテストは、納品された作業が古いものよりも実際に優れているかどうかを判断するために使用でき、調停者はテストの結果が肯定的である場合にのみコインをリリースします。たとえば、再設計されたユーザーインターフェイスは、すべてのユーザーの10%でテストして、ファイルをアップロード/ダウンロードする可能性があるかどうかを確認できます。あるいは、仲介者の定数を特定し、契約が満たされたかどうかを決定することができます。エージェントの能力を高めるために新しいコードを購入することもできます。
  
==Reliance on low trust protocols==
+
==信頼性の低いプロトコルへの依存==
  
Low trust protocols are important for agents to protect themselves against being scammed by humans. Being merely dumb programs, they cannot make nuanced trust judgements and are potentially easy to scam, for example, by offering to sell something then not actually providing it. Humans can spread the word, use courts of law and so on to try and reclaim losses when scammed, but agents cannot.
+
低信頼プロトコルは、エージェントが人間に詐欺から身を守るために重要です。単なる愚かなプログラムであるため、微妙な信用判断を下すことはできず、例えば実際に提供していないものを販売するなど、詐欺につながる可能性があります。人間は詐欺の時には言葉を広げ、法律などの裁判所を使って損害を試みたり取り返したりすることができますが、代理人はそうすることはできません。
  
The most basic agent protocol is buying server time. By resigning transactions that are not broadcast, an agent can buy server capacity by the minute or even by the second. A very simple protocol can suffice, for instance, a ~/.account-billing-details file in the home directory of the new account that contains a Bitcoin address and the prices as negotiated. The agent can read the billing details from this standardized file and proceed to pay the server operator.
+
最も基本的なエージェントプロトコルは、サーバー時間を購入することです。ブロードキャストされていないトランザクションを辞任することで、エージェントは分単位または秒単位でサーバ容量を購入することができます。たとえば、Bitcoinアドレスと価格が交渉された新しいアカウントのホームディレクトリにある〜/ .account-billing-detailsファイルであれば、非常に簡単なプロトコルで十分です。エージェントは、この標準化されたファイルから課金の詳細を読み取り、サーバオペレータに支払うことができます。
  
To evolve the agent, new code is needed, which must be written by people. To avoid humans scamming the agent and providing code that steals its wallet, the agent can use sandboxing technologies like Java or NativeClient to ensure the newly developed code only has access to what it needs. This would impose a small amount of rigidity on the agents design, but would allow truly autonomous bargaining. The agent can be programmed to trust the judgement of long-term customers: if enough of those customers review and sign the new code, it could be released from the sandbox and allowed to modify the agent in arbitrary ways. If the agent is sufficiently improved, it will outcompete its peers and reproduce more.
+
エージェントを進化させるためには、新しいコードが必要であり、これは人々が書き込む必要があります。人が代理店に詐欺やウォレットを盗むコードを提供するのを避けるため、エージェントはJavaやNativeClientなどのサンドボックス技術を使用して、新しく開発されたコードが必要なものだけにアクセスできるようにします。これは代理店の設計にわずかな剛性を課すが、本当に自律的な交渉を可能にするだろう。エージェントは、長期的な顧客の判断を信頼するようにプログラムすることができます。十分な数の顧客が新しいコードをレビューし署名すると、サンドボックスから解放され、エージェントを任意の方法で変更することができます。エージェントが十分に改善されていれば、同輩と競争し、より多くを再現するでしょう。
  
==Examples==
+
====
  
Consider the original example of a file storage agent.
+
ファイルストレージエージェントの元の例を考えてみましょう。
  
# It rents its disk and bandwidth in return for coins. Anyone who wants a file to stay online can send coins to the files Bitcoin address.
+
#コインの代わりにディスクと帯域幅を借りる。ファイルをオンラインにしたいと思っている人はBitcoinのアドレスにコインを送ることができます。
# If it starts to run out of capacity, it can use some of its profits to spawn children on other hosting services. If a service has unknown reputation, the child can be monitored for a while until the parent is convinced it's operating correctly.
+
容量が足りなくなったら、利益の一部を使って他のホスティングサービスで子供を産むことができます。サービスの評判が不明な場合、親が正しく動作していると確信するまで、しばらくの間、子供を監視することができます。
# Nodes can register their existence with names like "x536ma.storj.bit". Any name registered under storj.bit is assumed to offer the same services.
+
#ノードは "x536ma.storj.bit"のような名前でそれらの存在を登録できます。 storj.bitで登録された名前はすべて同じサービスを提供するものとみなされます。
# The agents can compete on the quality of their user interfaces.
+
#エージェントは、ユーザーインターフェイスの品質を競うことができます。
# Users could pledge for incorporation of a simple file viewer interface, to supplement download ability.
+
#ユーザーはダウンロード機能を補うために、シンプルなファイルビューアーインターフェイスを組み込むことを約束できます。
  
Whilst there are companies that provide shell accounts for Bitcoins, most don't. Server brokers are agents that simply re-sell computing capacity to other agents:
+
Bitcoinsのシェルアカウントを提供する企業がある一方で、ほとんどの企業はそうではありません。サーバーブローカーは、コンピューティングキャパシティを他のエージェントに単に再販売するエージェントです。
  
# By handling the details of how to interact with providers they offer a useful service, for which agents should be willing to pay.
+
#プロバイダーとのやり取りの詳細を処理することにより、代理店が支払うべき有益なサービスを提供します。
# Brokers can purchase from humans scripts that handle signing up for accounts at new services. They can interact with exchanges to sell Bitcoin for the currencies and payment mechanisms the providers accept.
+
#ブローカーは、新しいサービスでアカウントを登録するスクリプトを人間のスクリプトから購入することができます。彼らは取引所と交流して、プロバイダが受け入れる通貨と支払いの仕組みのためにBitcoinを売ることができます。
# Colo providers can run a modified sshd that understands how to treat SSH keys as [[Smart Property]]. By pre-creating shell accounts with resource quotas, and then selling the access keys to brokers, brokers can easily re-sell accounts automatically in a zero trust manner using the lock time and transaction input/output features of the Bitcoin protocol. The brokers would automatically handle recruitment of customers and matching agents with servers.
+
#ColoのプロバイダはSSH鍵を[[Smart Property]]として扱う方法を理解している変更されたsshdを実行できます。ブローカーはリソースクォータでシェルアカウントを事前に作成し、アクセスキーをブローカーに販売することで、Bitcoinプロトコルのロック時間とトランザクションの入出力機能を使用してアカウントを自動的にゼロ信頼の方法で自動的に再販売することができます。ブローカーは、顧客の採用とサーバーとの照合エージェントを自動的に処理します。
  
==Use of trusted computing/TPM chips==
+
==トラステッドコンピューティング/ TPMチップの使用==
  
To be truly autonomous, an agent should need to trust nobody (and nothing). But to make a trade you often need some assurance that the other side will behave as expected. People rely on the law to enforce contracts, but agents have no such recourse. Whilst clever protocols can configure incentives to ensure co-operation in some cases, trusted computing can be used to provide this assurance in the general case.
+
本当に自律的であるためには、エージェントは誰にも(そして何も)信頼する必要がありません。しかし、貿易を行うには、しばしば相手側が期待どおりに行動するという確信が必要です。人々は契約を執行するために法律に頼っているが、エージェントにはそのような手段はない。巧妙なプロトコルは、場合によっては協力を確実にするためのインセンティブを構成することができますが、一般的なケースでは信頼できるコンピューティングを使用してこの保証を提供することができます。
  
For example, agents may need some assurance that the provider of computing time will not attempt to steal the agents profits. Whilst it may be uneconomic in the long term to steal vs revenue share, it's quick and easy to make bogus offers to whatever agents are out there and wait for the money to roll in.
+
例えば、エージェントは、コンピューティング時間のプロバイダがエージェントの利益を盗もうとしないという何らかの保証を必要とするかもしれません。収益のシェアを奪うのは長期的には経済的ではないかもしれませんが、エージェントがいても偽のオファーをしてお金が入るのを待つのは素早く簡単です。
  
Modern CPUs have the ability to remotely prove what code they are running, and encrypt keys such that they are only available when the hardware is in the same configuration as before. The [http://sparrow.ece.cmu.edu/group/flicker.html Flicker] project demonstrates how to achieve this on AMD and Intel CPUs running Linux for short term computations (interrupts must be disabled in their simple implementation). Breaking the security requires modification of the TPM chip, which is designed to be tamper resistant. If it is protecting sums of money that are not extremely large, this should be a sufficiently high level of difficulty to discourage fraud.
+
最新のCPUには、実行中のコードをリモートから証明する機能と、ハードウェアが以前と同じ設定になっている場合にのみ使用できるようにキーを暗号化する機能があります。 [http://sparrow.ece.cmu.edu/group/flicker.html Flicker]プロジェクトは、短期間の計算のためにLinuxを実行しているAMDとIntelのCPUでこれを達成する方法を示しています(割り込みは単純な実装では無効にする必要があります)。セキュリティを破るには、耐タンパー性があるように設計されたTPMチップを修正する必要があります。極端に大きくない金額の金額を保護している場合、これは詐欺行為を阻止するのに十分高いレベルでなければなりません。
  
To use these facilities, a child agent (that is in the process of being created by its parent) would copy its code to the remote server. At this point it has no wallet. It would then enter the protected domain, where it is isolated from the regular operating system, and execute a PAL (piece of application logic) which creates itself a private key, which is then "sealed" to the state of the CPU at that time. Upon leaving the protected domain, it is left with encrypted data that cannot be read by the (possibly malicious) host operating system. The host OS is treated as an untrusted proxy and provider of resources.
+
これらの機能を使用するには、子エージェント(親プロセスによって作成されているプロセス)がコードをリモートサーバーにコピーします。この時点では財布はありません。その後、通常のオペレーティングシステムから分離された保護ドメインに入り、その時点でCPUの状態に「密封」された秘密鍵を作成するPAL(アプリケーションロジックの一部)を実行します。保護されたドメインを離れると、暗号化されたデータが残されますが、これは悪意のある(おそらく悪意のある)ホストオペレーティングシステムによって読み取られません。ホストOSは、信頼されていないプロキシおよびリソースのプロバイダとして扱われます。
  
The parent needs to provide its child with a small amount of money to let it get started, but how does it know its sending money truly to the child it just created and not a greedy imposter? The child can use the TPM to remotely prove it was in total control of the CPU at the time it created the private key corresponding to the provided address. The parent can verify that remote attestation and be assured it's sending money to the program it thinks it is.
+
親は子どもに少額のお金を提供して、それを始めさせる必要がありますが、送ったお金は、ちょうど作成したばかりの子供に本当に伝えられています。子はTPMを使用して、提供されたアドレスに対応する秘密鍵を作成した時点で、それがCPUを完全に制御していることをリモートで証明できます。親は、そのリモートアテステーションを確認し、自分が思っているプログラムに送金していることを確認することができます。
  
If the services of an agent are purchased, for example, a file is uploaded to StorJ, the accompanying payment is presented to the secure PAL, along with the merkle branch linking it into the block chain. The PAL then updates its bookkeeping so it knows it needs to pay the host more, and when the host invoices the agent, the secure PAL verifies the bill is as expected and then creates/signs a transaction that pays the bill. The transaction is passed back to the untrusted host which broadcasts it.
+
たとえば、ファイルがStorJにアップロードされた場合、付随する支払いはセキュアPALに送信され、Merkleブランチがブロックチェーンにリンクされます。その後、PALは、ホストにさらに支払いをする必要があることを知るようにその簿記を更新し、ホストがエージェントに請求書を請求すると、PALは請求書が期待どおりであることを確認し、請求書を支払う取引を作成/トランザクションは、それをブロードキャストする信頼できないホストに戻されます。
  
Not all hardware supports trusted computing facilities. However, various laptops and server/desktop class PCs can be purchased that have the relevant chips. Renting such hardware to brokers might prove a profitable way to reduce the cost of a new computer purchase.
+
すべてのハードウェアが信頼できるコンピューティング機能をサポートするとは限りません。しかし、関連するチップを有する様々なラップトップ及びサーバ/デスクトップクラスのPCを購入することができる。そのようなハードウェアをブローカーに借りることは、新しいコンピューター購入のコストを削減する有益な方法であると証明するかもしれない。
  
[[Category:Technical]]
+
[[Category:技術]]

2018年4月28日 (土) 12:23時点における最新版

エージェント は、Bitcoinsのサービスを販売し、その収益をサーバーの容量を使うことによって稼働できる自律型プログラムです。十分な収益を上げているエージェントは、他のサーバー上のインスタンスを追加して複製することができます。

Bitcoinを使用する自律エージェントは、2011年にjulzのフォーラムポストで最初に記述され、StorJと呼ばれるファイルストレージシステムを使用したGregory Maxwellの同じ議論をさらに詳しく説明しました.php?topic = 53855.msg642768#msg642768。 Mike Hearnは、Turing Festival 2013([1])とmoney-26663148スライド)。この概念は、Vitalik Buterinの一連の記事(「http://bitcoinmagazine.com/7050/bootstrapping-a-decentralized-autonomous-corporation-part-i/」)の「分散型自律型企業」またはDACとも呼ばれています"分散型自治法人のブートストラップ"]。

コアの概念[編集]

エージェントは、次のメカニズムを介して世界と対話します。

#Bitcoinネットワーク #サーバの容量をレンタルし、そのサーバをリモートで制御できるAPI(つまりssh) #フリーランサーフォーラムやMechanical Turkに投稿された人間が読める契約

#(例)HTTPを提供する。 独自のアプリケーションプロトコル独自のバランスを維持することで、初めてソフトウェアが人間との平等な競技場に存在することが可能になります。人々のために働くプログラムではなく、お金が必要となります。また、ツールではなくピアであることは、エージェントからBitcoinを使用するプログラムを区別するものです。

サーバー容量は、明確に定義された標準化された単位(CPU秒、RAM /ディスクのギガバイト、メガビットの帯域幅)で販売されている。そのため、ソフトウェアはBitcoinを受け入れるプロバイダと自動的に検索してネゴ​​シエートできます。

より良い取引が見つかると、エージェントは自分自身を動かすことができます。有益なエージェントは、その利益の一部を使って子供のインスタンスを立ち上げ、コインのスターターパックで資金を調達するようにプログラムすることができます。子インスタンスが壊れる可能性がある場合でも、子インスタンスは存続します。しかし、銀行残高が期限切れになると、サーバープロバイダはアカウントとエージェントを削除します。

エージェントは、名前を選択して[Namecoin]に登録することによりサービス(または他のエージェント)をサービスに公開することができる。エージェントにBitcoinのみがある場合、ピアコア交換を使用してBitcoinsをNamecoinsにアトミックに交換することができます。 DNS階層とNamecoinを併用することで、利害関係者はオンラインになる新しいエージェントを監視できます。ツリーの特定の部分に名前を登録するエージェントは、その存在を自動的に宣言します。

代理人は、サービスを購入し、仲介者を使用して、契約の完了時にコインが支払われるという保証を人に与えることによって、自分自身を改善することができます。 A / Bテストは、納品された作業が古いものよりも実際に優れているかどうかを判断するために使用でき、調停者はテストの結果が肯定的である場合にのみコインをリリースします。たとえば、再設計されたユーザーインターフェイスは、すべてのユーザーの10%でテストして、ファイルをアップロード/ダウンロードする可能性があるかどうかを確認できます。あるいは、仲介者の定数を特定し、契約が満たされたかどうかを決定することができます。エージェントの能力を高めるために新しいコードを購入することもできます。

信頼性の低いプロトコルへの依存[編集]

低信頼プロトコルは、エージェントが人間に詐欺から身を守るために重要です。単なる愚かなプログラムであるため、微妙な信用判断を下すことはできず、例えば実際に提供していないものを販売するなど、詐欺につながる可能性があります。人間は詐欺の時には言葉を広げ、法律などの裁判所を使って損害を試みたり取り返したりすることができますが、代理人はそうすることはできません。

最も基本的なエージェントプロトコルは、サーバー時間を購入することです。ブロードキャストされていないトランザクションを辞任することで、エージェントは分単位または秒単位でサーバ容量を購入することができます。たとえば、Bitcoinアドレスと価格が交渉された新しいアカウントのホームディレクトリにある〜/ .account-billing-detailsファイルであれば、非常に簡単なプロトコルで十分です。エージェントは、この標準化されたファイルから課金の詳細を読み取り、サーバオペレータに支払うことができます。

エージェントを進化させるためには、新しいコードが必要であり、これは人々が書き込む必要があります。人が代理店に詐欺やウォレットを盗むコードを提供するのを避けるため、エージェントはJavaやNativeClientなどのサンドボックス技術を使用して、新しく開発されたコードが必要なものだけにアクセスできるようにします。これは代理店の設計にわずかな剛性を課すが、本当に自律的な交渉を可能にするだろう。エージェントは、長期的な顧客の判断を信頼するようにプログラムすることができます。十分な数の顧客が新しいコードをレビューし署名すると、サンドボックスから解放され、エージェントを任意の方法で変更することができます。エージェントが十分に改善されていれば、同輩と競争し、より多くを再現するでしょう。

[編集]

ファイルストレージエージェントの元の例を考えてみましょう。

#コインの代わりにディスクと帯域幅を借りる。ファイルをオンラインにしたいと思っている人はBitcoinのアドレスにコインを送ることができます。 容量が足りなくなったら、利益の一部を使って他のホスティングサービスで子供を産むことができます。サービスの評判が不明な場合、親が正しく動作していると確信するまで、しばらくの間、子供を監視することができます。 #ノードは "x536ma.storj.bit"のような名前でそれらの存在を登録できます。 storj.bitで登録された名前はすべて同じサービスを提供するものとみなされます。 #エージェントは、ユーザーインターフェイスの品質を競うことができます。 #ユーザーはダウンロード機能を補うために、シンプルなファイルビューアーインターフェイスを組み込むことを約束できます。

Bitcoinsのシェルアカウントを提供する企業がある一方で、ほとんどの企業はそうではありません。サーバーブローカーは、コンピューティングキャパシティを他のエージェントに単に再販売するエージェントです。

#プロバイダーとのやり取りの詳細を処理することにより、代理店が支払うべき有益なサービスを提供します。 #ブローカーは、新しいサービスでアカウントを登録するスクリプトを人間のスクリプトから購入することができます。彼らは取引所と交流して、プロバイダが受け入れる通貨と支払いの仕組みのためにBitcoinを売ることができます。 #ColoのプロバイダはSSH鍵をSmart Propertyとして扱う方法を理解している変更されたsshdを実行できます。ブローカーはリソースクォータでシェルアカウントを事前に作成し、アクセスキーをブローカーに販売することで、Bitcoinプロトコルのロック時間とトランザクションの入出力機能を使用してアカウントを自動的にゼロ信頼の方法で自動的に再販売することができます。ブローカーは、顧客の採用とサーバーとの照合エージェントを自動的に処理します。

トラステッドコンピューティング/ TPMチップの使用[編集]

本当に自律的であるためには、エージェントは誰にも(そして何も)信頼する必要がありません。しかし、貿易を行うには、しばしば相手側が期待どおりに行動するという確信が必要です。人々は契約を執行するために法律に頼っているが、エージェントにはそのような手段はない。巧妙なプロトコルは、場合によっては協力を確実にするためのインセンティブを構成することができますが、一般的なケースでは信頼できるコンピューティングを使用してこの保証を提供することができます。

例えば、エージェントは、コンピューティング時間のプロバイダがエージェントの利益を盗もうとしないという何らかの保証を必要とするかもしれません。収益のシェアを奪うのは長期的には経済的ではないかもしれませんが、エージェントがいても偽のオファーをしてお金が入るのを待つのは素早く簡単です。

最新のCPUには、実行中のコードをリモートから証明する機能と、ハードウェアが以前と同じ設定になっている場合にのみ使用できるようにキーを暗号化する機能があります。 Flickerプロジェクトは、短期間の計算のためにLinuxを実行しているAMDとIntelのCPUでこれを達成する方法を示しています(割り込みは単純な実装では無効にする必要があります)。セキュリティを破るには、耐タンパー性があるように設計されたTPMチップを修正する必要があります。極端に大きくない金額の金額を保護している場合、これは詐欺行為を阻止するのに十分高いレベルでなければなりません。

これらの機能を使用するには、子エージェント(親プロセスによって作成されているプロセス)がコードをリモートサーバーにコピーします。この時点では財布はありません。その後、通常のオペレーティングシステムから分離された保護ドメインに入り、その時点でCPUの状態に「密封」された秘密鍵を作成するPAL(アプリケーションロジックの一部)を実行します。保護されたドメインを離れると、暗号化されたデータが残されますが、これは悪意のある(おそらく悪意のある)ホストオペレーティングシステムによって読み取られません。ホストOSは、信頼されていないプロキシおよびリソースのプロバイダとして扱われます。

親は子どもに少額のお金を提供して、それを始めさせる必要がありますが、送ったお金は、ちょうど作成したばかりの子供に本当に伝えられています。子はTPMを使用して、提供されたアドレスに対応する秘密鍵を作成した時点で、それがCPUを完全に制御していることをリモートで証明できます。親は、そのリモートアテステーションを確認し、自分が思っているプログラムに送金していることを確認することができます。

たとえば、ファイルがStorJにアップロードされた場合、付随する支払いはセキュアPALに送信され、Merkleブランチがブロックチェーンにリンクされます。その後、PALは、ホストにさらに支払いをする必要があることを知るようにその簿記を更新し、ホストがエージェントに請求書を請求すると、PALは請求書が期待どおりであることを確認し、請求書を支払う取引を作成/トランザクションは、それをブロードキャストする信頼できないホストに戻されます。

すべてのハードウェアが信頼できるコンピューティング機能をサポートするとは限りません。しかし、関連するチップを有する様々なラップトップ及びサーバ/デスクトップクラスのPCを購入することができる。そのようなハードウェアをブローカーに借りることは、新しいコンピューター購入のコストを削減する有益な方法であると証明するかもしれない。

Category:技術