Even without any extensions, the Bitcoin protocol actually does facilitate a weak version of a concept of "smart contracts". UTXO in Bitcoin can be owned not just by a public key, but also by a more complicated script expressed in a simple stack-based programming language. In this paradigm, a transaction spending that UTXO must provide data that satisfies the script. Indeed, even the basic public key ownership mechanism is implemented via a script: the script takes an elliptic curve signature as input, verifies it against the transaction and the address that owns the UTXO, and returns 1 if the verification is successful and 0 otherwise. Other, more complicated, scripts exist for various additional use cases. For example, one can construct a script that requires signatures from two out of a given three private keys to validate ("multisig"), a setup useful for corporate accounts, secure savings accounts and some merchant escrow situations. Scripts can also be used to pay bounties for solutions to computational problems, and one can even construct a script that says something like "this Bitcoin UTXO is yours if you can provide an SPV proof that you sent a Dogecoin transaction of this denomination to me", essentially allowing decentralized cross-cryptocurrency exchange.
どんな拡張なしでさえ、ビットコインプロトコールは実際に「スマート契約」のコンセプトの弱いバージョンを促進します。 ビットコインでの UTXO は公開キーによってだけではなく、単純なパイルアップベースのプログラム言語でも表現されるいっそう複雑なスクリプトによる所有も可能です。 このパラダイムで、その UTXO を使っている取引きがスクリプトを満たすデータを提供しなくてはなりません。 本当に、基本的な公開キー所有権メカニズムさえスクリプトによって実装されます:入力として、そのスクリプトは省略法のカーブ署名をして、取引きと UTXO を所有するアドレスに対してそれを確認して、そして、もし適合確認が成功したら、1を返します。 さもなければ、0を返します。他の、いっそう複雑な、スクリプトは、種々の追加のユースケースのために存在します。 例えば、あるものは、所定の3の秘密キーのうち2つからの署名が(「多重署名」)法人口座のために有用なセットアップ、確かな貯蓄預金口座と若干の商業エスクロー状況を検証するため必要とするスクリプトを作ることができます。スクリプトは同じく電算の問題に対する解決に対して報奨金を支払うために使うことができます、また、あるものは何かが、本質的に分散した暗号通貨をまたがる交換を可能にして「もしあなたがあなたがこの通貨単位の ドッジコイン取引きを私に送ったという SPV 証明を提供することができるなら、このビットコイン UTXO があなたのです」というようなスクリプトを作りさえすることができます。




posted by 平成アフィリエイトへの挑戦 at 10:30| 千葉 ☁| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



Thus, in general, there are two approaches toward building a consensus protocol: building an independent network, and building a protocol on top of Bitcoin. The former approach, while reasonably successful in the case of applications like Namecoin, is difficult to implement; each individual implementation needs to bootstrap an independent blockchain, as well as building and testing all of the necessary state transition and networking code. Additionally, we predict that the set of applications for decentralized consensus technology will follow a power law distribution where the vast majority of applications would be too small to warrant their own blockchain, and we note that there exist large classes of decentralized applications, particularly decentralized autonomous organizations, that need to interact with each other.
それで、一般に、合意プロトコールを構築するのに、2つのアプローチがあります:独立した回線網を構築することと、 ビットコイン上にプロトコールを構築すること。 前のアプローチは、 ネームコインのようなアプリケーションに関しては合理的に成功している一方で、実装することが難しいです;それぞれの個別の実装は、独立したブロックチェーンを自力で進むことが必要です。同様に、必要な状態遷移とネットワーキングコードのすべてを構築し、テストする必要があり、さらに、我々は分散した合意技術のアプリケーションのセットがアプリケーションの圧倒的多数が彼ら自身のブロックチェーンを正当化するにはあまりにも小さいであろう電力の法則分配に従うと予測し、我々は相互作用する必要がある分散したアプリケーション、特に分散した自治組織の大きいクラスが存在することを特筆します。

The Bitcoin-based approach, on the other hand, has the flaw that it does not inherit the simplified payment verification features of Bitcoin. SPV works for Bitcoin because it can use blockchain depth as a proxy for validity; at some point, once the ancestors of a transaction go far enough back, it is safe to say that they were legitimately part of the state. Blockchain-based meta-protocols, on the other hand, cannot force the blockchain not to include transactions that are not valid within the context of their own protocols. Hence, a fully secure SPV meta-protocol implementation would need to backward scan all the way to the beginning of the Bitcoin blockchain to determine whether or not certain transactions are valid. Currently, all "light" implementations of Bitcoin-based meta-protocols rely on a trusted server to provide the data, arguably a highly suboptimal result especially when one of the primary purposes of a cryptocurrency is to eliminate the need for trust.
ビットコインベースのアプローチは、他方、ビットコインの単純化された支払い適合確認機能を継承しない欠陥があります。 それがブロックチェーンの深さを妥当性の代用として使うことができるから、 SPV はビットコインのために働きます;ある時点で、かつて取引きの先祖がはるかに十分に逆戻れると、それらが合法的にその状態の一部であったと言うことは安全です。 ブロックチェーンベースのメタプロトコルが、他方、ブロックチェーンにそれら自身のプロトコルの文脈の中で妥当でない取引を含まないよう強いることはできません。 それ故、完全に安全な SPV メタプロトコル製品がバックワードにある特定のトランザクションが妥当であるかどうか決定するビットコインブロックチェーンの始まりへのすべての道をさっと見渡す必要があるでしょう。 現在、ビットコインベースのメタプロトコルのすべての「ライト」実装は、暗号通貨の主要な目的の1つが信頼の必要を削除することであるとき、特に、データ、多分大いに次善の結果を提供するために信頼できるサーバーに頼ります。




posted by 平成アフィリエイトへの挑戦 at 11:46| 千葉 🌁| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



  •  Metacoins- the idea behind a metacoin is to have a protocol that lives on top of Bitcoin, using Bitcoin transactions to store metacoin transactions but having a different state transition function,  APPLY'  . Because the metacoin protocol cannot prevent invalid metacoin transactions from appearing in the Bitcoin blockchain, a rule is added that if  APPLY'(S,TX)   returns an error, the protocol defaults to  APPLY'(S,TX)  =  S  . This provides an easy mechanism for creating an arbitrary cryptocurrency protocol, potentially with advanced features that cannot be implemented inside of Bitcoin itself, but with a very low development cost since the complexities of mining and networking are already handled by the Bitcoin protocol. Metacoins have been used to implement some classes of financial contracts, name registration and decentralized exchange.
  • メタコイン− メタコインの背後にある考えは、ビットコイン取引を メタコイン取引を蓄積するために使うが、しかし異なった状態遷移関数APPLY'を持って、ビットコインの上に生きているプロトコールを持つことです」。それは、メタコインのプロトコールは、ビットコインブロックチェーンで、現れる無効な メタコイントランザクションを防ぐことができないから、もしAPPLY'(S,TX)なら、APPLY'(S,TX)  =  Sへエラー、プロトコルデフォルトを返すという規則が加えられます。 これは、任意の暗号通貨プロトコールを作成することに対して、容易なメカニズムを供給し、潜在的に ビットコイン自身 の内部で実装することができない先進機能を持つが、採掘そしてネットワークの複雑さがすでにビットコインプロトコールによって処理されますから、非常に低い開発費です。メタコインは金融契約、名前登録と分散交換の若干のクラスを実装するために使われてきています。



posted by 平成アフィリエイトへの挑戦 at 10:29| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



•     Colored coins - the purpose of colored coins is to serve as a protocol to allow people to create their own digital currencies - or, in the important trivial case of a currency with one unit, digital tokens, on the Bitcoin blockchain. In the colored coins protocol, one "issues" a new currency by publicly assigning a color to a specific Bitcoin UTXO, and the protocol recursively defines the color of other UTXO to be the same as the color of the inputs that the transaction creating them spent (some special rules apply in the case of mixed-color inputs). This allows users to maintain wallets containing only UTXO of a specific color and send them around much like regular bitcoins, backtracking through the blockchain to determine the color of any UTXO that they receive.
カラードコイン −カラードコインの目的は人々に彼ら自身のデジタル通貨を作成することを可能にするためにプロトコールとしての役をすることです − あるいは、そしてビットコインブロックチェーンについての1つの単位を持った通貨、デジタルトークン、の重要な取るに足りないケースでです。 着色されたコインプロトコールで、1つは、公的に特定のビットコイン UTXO に色を割り当てることによって、新通貨を「発行します」、そしてそのプロトコールはそれらを作成している取引きが使ったインプット(若干の特殊な規則が混ぜられた色のインプットのケースに適用します)の色と同じであるために回帰的に他の UTXO の色を定義にします。 これはユーザーがただ特定の色の UTXO だけを含んでいるウオレットを維持・管理して、そしてそれらをブロックチェーンを通して同じ道を引き返している通常のビットコインとほとんど同じようにそれらがとるどんな UTXO の色でも決定するために近くにいるようにすることを可能にします。




posted by 平成アフィリエイトへの挑戦 at 11:14| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



In 1998, Nick Szabo came out with the concept of secure property titles with owner authority, a document describing how "new advances in replicated database technology" will allow for a blockchain-based system for storing a registry of who owns what land, creating an elaborate framework including concepts such as homesteading, adverse possession and Georgian land tax. However, there was unfortunately no effective replicated database system available at the time, and so the protocol was never implemented in practice. After 2009, however, once Bitcoin's decentralized consensus was developed a number of alternative applications rapidly began to emerge.
1998年に、ニック・サボは所有者オーソリティで安全な不動産タイトルのコンセプトを公表しました。それは「複製データベース技術での新しい進歩」がブロックチェーンベースのシステムをどのように、家屋敷や他人の財産所有とグルジアの土地税のようなコンセプトを含む精巧な構想を作って、誰がどの土地を所有するかの登録を蓄積するための考慮に入れるであろうか記述する文書です。しかしながら、当時、不幸にも利用可能な効果的な複製データベース・システムがありませんでした、そしてそれでそのプロトコールは決して実際は実装されませんでした。 しかしながら、2009年の後に、 ビットコインの分散コンセンサスが開発された途端に、多くの代替アプリケーションが急速に出現し始めました。

•     Namecoin - created in 2010, Namecoin is best described as a decentralized name registration database. In decentralized protocols like Tor, Bitcoin and BitMessage, there needs to be some way  of  identifying  accounts  so  that other people can interact with them, but in all existing solutions the only     kind of identifier available is a pseudorandom hash like 1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy  . Ideally, one would like to be able to have an account with a name like "george". However, the problem is that if  one person can create an account named  "george"  then  someone  else  can use the same process to register "george" for themselves as well and impersonate them. The only solution is a first-to-file  paradigm,  where  the first registerer succeeds and the second fails - a problem perfectly suited for  the Bitcoin consensus protocol.  Namecoin  is  the  oldest,  and  most successful, implementation of a name  registration  system  using  such  an idea.
ネームコイン− 2010年に作成されて、 ネームコインは分散名前登録データベースだとして、最も良く記述されます。 Torや、ビットコインや ビットメッセージのような分散プロトコルで、他の人々がそれらと相互に作用することができるように、アカウントを特定するいずれかの方法である必要があります。しかしすべての既存のソリューションで唯一の利用可能な識別子の種類は 1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy のような擬似ランダムハッシュです。 理想的には、人は「george」のような名前における口座を持っていることが可能であることを望みます。 しかしながら、問題は、もし1人の人が「george」という名前のアカウントを作ることができるなら、ほかの誰かが同様に彼ら自身のために「george」を登録する同じプロセスを使って、そしてそれらに成りすますことができるということです。 唯一の解決はファイルへの最初パラダイムです、そこでは最初の登録は成功し、二番目は失敗します − それは完全にビットコイン合意プロトコールに適している問題です。  Namecoin はこのような考えを使う最も古い、そして最も成功した、名前登録制度の実装です。




posted by 平成アフィリエイトへの挑戦 at 15:00| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



The Merkle tree protocol is arguably essential to long-term sustainability. A "full node" in the Bitcoin network, one that stores and processes the entirety of every block, takes up about 15 GB of disk space in the Bitcoin network as of April 2014, and is growing by over a gigabyte per month. Currently, this is viable for some desktop computers and not phones, and later on in  the  future  only businesses and hobbyists will be able to participate. A protocol known as "simplified payment verification" (SPV) allows for another class of nodes to exist, called "light nodes", which download the block headers, verify the proof of work  on the block headers, and then download only the "branches" associated with transactions that are relevant to them. This allows light nodes to determine with a strong guarantee of security what the status  of  any  Bitcoin  transaction,  and their current balance, is while downloading only a very  small  portion  of  the entire blockchain.
マークル ツリープロトコルは多分長期の持続可能性に間違いなく必須です。 ビットコイン回線網の中の「全ノード」、各ブロックの全部を蓄積し、処理するものが2014年4月の時点でビットコイン回線網でのおよそ15GBのディスク・スペースを取って、そして1カ月に1ギガバイト以上大きくなっています。 現在、これは電話ではなく、若干のデスクトップコンピュータのために実行可能で、そして後で将来単にビジネスと趣味に熱中する人だけが参加することが可能でしょう。 「単純化された支払い検証」として知られているプロトコール(SPV)が「ライトノード」と呼ばれて、ブロックヘッダをダウンロードするもう1つ別のノードのクラスが、ブロックヘッダの仕事の証明を検証して、そして次にただそれらに適切なトランザクションと結び付けられる「ブランチ」だけをダウンロードすることを可能にします。 これはライトノードがビットコイン取引きの状と現在の差し引き残高況が、ただブロックチェーン全体の非常に少しの部分だけをダウンロードしている間に、どうであるかセキュリテイの強い保証で決定することを可能にします。

Alternative Blockchain Applications

The idea of taking the underlying blockchain idea and applying it to other concepts also has a long history.




posted by 平成アフィリエイトへの挑戦 at 10:57| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



An important scalability feature of Bitcoin is that the block is stored in a multi- level data structure. The "hash" of a block is actually only the hash of the block header, a roughly 200-byte piece of data that contains the timestamp, nonce, previous block hash and the root hash of a data structure called the Merkle tree storing all transactions in the block. A Merkle tree is a type of binary tree, composed of a set of nodes with a large number of leaf nodes at the bottom of the tree containing the underlying data, a set of intermediate nodes where each node is the hash of its two children, and finally a single root node, also formed from the hash of its two children, representing the "top" of the tree.
ビットコインの重要な拡大縮小可能性機能はそのブロックがマルチレベルのデータ構造に蓄積されるということです。ブロックの「ハッシュ」は実際はただブロックヘッダのハッシュで、タイムスタンプ、乱数、前のブロックハッシュとブロックのすべてのトランザクションをしまっている マークルツリーと呼ばれるデータ構造のルートハッシュを含むざっと言って200バイトの一片のデータに過ぎません。 マークルツリーはツリーの一番下のタイプの多数の枝葉のノードを持っている1セットのノードで構成された 2進ツリーで、基礎をなすデータや各ノードが、その2つの子ハッシュで、最終的にその2つの子ハッシュから同じく構成される一つのルートノードのハッシュで、ノードツリーの「トップ」を表す1セットの中間ノードを含んでいます。

 The purpose of the Merkle tree is to allow the data in a block to be delivered piecemeal: a node can download only the header of a block from one source, the small part of the tree relevant to them from another source, and still be assured that all of the data is correct. The reason why this works is that hashes propagate upward: if a malicious user attempts to swap in a fake transaction into the bottom of a Merkle tree, this change will cause a change in the node above, and then a change in the node above that, finally changing the root of the tree and therefore the hash of the block, causing the protocol to register it as a completely different block (almost certainly with an invalid proof of work).
マークルツリーの目的はブロックのデータが少しずつ届けられることを可能にすることです: ノードがただ1つの源からのブロックのヘッダーを、別の源から、それらに適切なツリーの小さい部分だけをダウンロードでき、そしてまだデータのすべてが正しいことを確認することが可能です。 これがなぜうまくいくかの理由はハッシュが上方に伝搬するということです: もし悪意がある利用者が マークルツリーの底への偽りの取引きを交換することを試みるなら、この変更は、それの上のノードの変更の原因となり、そして次にその上のノードの変更を起こす原因となり、最終的にツリールートを変え、そのためにブロックのハッシュも変え、完全に異なったブロックとして(ほとんど確かに無効な仕事の証明で)通信プロトコールにそれを記録させるでしょう。




posted by 平成アフィリエイトへの挑戦 at 15:21| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



Because the block data is different, this requires redoing the proof of work. Furthermore, the attacker's new version of block 270 has a different hash, so the original blocks 271 to 275 do not "point" to it; thus, the original chain and the attacker's new chain are completely separate. The rule is that in a fork the longest blockchain is taken to be the truth, and so legitimate miners will work on the 275 chain while the attacker alone is working on the 270 chain. In order for the attacker to make his blockchain the longest, he would need to have more computational power than the rest of the network combined in order to catch up (hence, "51% attack").
そのブロックデータが異なっているから、これは仕事の証明をやり直すことを必要とします。 さらに、攻撃者の新しいバージョンブロック270は異なったハッシュを持ち、それで最初のブロック271から275がそれを「ポイント」しません;それで、オリジナルのブロックチェーンと攻撃者の新しいブロックチェーンは完全に別個です。その規則は分岐でフォークで最も長いブロックチェーンが真であると思われるということで、それで、攻撃者が単独で270のブロックチェーンで働いている一方で、正当な鉱夫が275のブロックチェーンで働いているでしょう。 攻撃者が彼のブロックチェーンを最も長くするために、彼は結束した回線網の残りが追いつくためにより多くの電算力を持つ必要があるでしょう。(それ故、「51%が攻撃します」)

Merkle Trees
Merkle のツリー

Left: it suffices to present only a small number of nodes in a Merkle tree to give a proof of the validity of a branch.
左:分岐のの妥当性の証明を与えるために Merkle トリーでは単にノードの少数だけを提出することはすれば十分です。




posted by 平成アフィリエイトへの挑戦 at 10:12| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



1.  Send 100 BTC to a merchant in exchange for some product (preferably a rapid-delivery digital good)
  若干の製品(なるべく急配信のデジタル商品)と引き換えに商人に100 BTCを送くる

2.  Wait for the delivery of the product

3. Produce another transaction sending the same 100 BTC to himself
  彼自身に同じ100 BTCを送って別の取引きを生産する

4. Try to convince the network that his transaction to himself was the one that came first.

Once step (1) has taken place, after a few minutes some miner will include the transaction in a block, say block number 270. After about one hour, five more blocks will have been added to the chain after that block, with each of those blocks indirectly pointing to the transaction and thus "confirming" it. At this point, the merchant will accept the payment as finalized and deliver the product; since we are assuming this is a digital good, delivery is instant. Now, the attacker creates another transaction sending the 100 BTC to himself. If the attacker simply releases it into the wild, the transaction will not be processed; miners will attempt to run  APPLY(S,TX)   and notice that  TX   consumes a UTXO which is no longer in the state. So instead, the attacker creates a "fork" of the blockchain, starting by mining another version of block 270 pointing to the same block 269 as a parent but with the new transaction in place of the old one.
ひとたびステップ(1)が起きたならば、数分の後に、いずれかの鉱夫がブロックに取引きを含めるでしょう、つまりブロック番号270と。 およそ1時間後、さらに5ブロックがそのブロック後にブロックチェーンに加えられてしまっているでしょう。それらのブロックのそれぞれが間接的に取引きを示して、そしてそれでそれを「確認する」ことになります。 この時点で、完結したとして、商人は支払いを受け入れて、商品を配信するでしょう;我々がこれがデジタル商品であると想定していますから、配信は即座です。 今、攻撃者は彼自身に100 BTCを送ってもう1つの取引きを作り出しします。 もし攻撃者がただそれを荒野に放すなら、取引きは処理されないでしょう;鉱夫がAPPLY(S,TX)の実行を試みて、そして TX がもう状態にない UTXO を消費することに気が付くでしょう。 それでその代わりに、攻撃者は、ブロックチェーンについて「フォーク」を作ります。親として同じブロック269を指し示しているブロック270のもう1つのバージョンを採鉱することによって、始めます。




posted by 平成アフィリエイトへの挑戦 at 12:38| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



The one validity condition present in the above list that is not found in other systems is the requirement for "proof of work". The precise condition is that the double-SHA256 hash of every block, treated as a 256-bit number, must be less than a dynamically adjusted target, which as of the time of this writing is approximately 2187. The purpose of this is to make block creation computationally "hard", thereby preventing sybil attackers from remaking the entire blockchain in their favor. Because SHA256 is designed to be a completely unpredictable pseudorandom function, the only way to create a valid block is simply trial and error, repeatedly incrementing the nonce and seeing if the new hash matches.
他のシステムに見いだされない上記リストが上存在している1つの妥当性条件は「仕事の証明」ための必要条件である。その 正確な条件はすべてのブロックのダブル - SHA256 ハッシュが、256ビットの数として扱われて、ダイナミックに調整されたターゲット未満でなければならず、それはこの執筆の時点でがおよそ2187です。 これの目的は、それによって sybil 攻撃者が(彼・それ)らの是認でブロックチェーン全体を作り直すのを阻止して、ブロック創出を計算上「難しくする」ことです。 SHA256 が完全に予想できない擬似ランダム関数であるよう設計されるから、妥当なブロックを作る唯一の方法は、ただ試行錯誤で、繰り返し乱数を増加させて、そして新しいハッシュがマッチするかどうか見ています。

At the current target of ~2187, the network must make an average of ~269 tries before a valid block is found; in general, the target is recalibrated by the network every 2016 blocks so that on average a new block is produced by some node in the network every ten minutes. In order to compensate miners for this computational work, the miner of every block is entitled to include a transaction giving themselves 12.5 BTC out of nowhere. Additionally, if any transaction has a higher total denomination in its inputs than in its outputs, the difference also goes to the miner as a "transaction fee". Incidentally, this is also the only mechanism by which BTC are issued; the genesis state contained no coins at all.
~2187の現在のターゲットで、その回線網は、正当なブロックが見いだされる前に、平均~269の試みをしなくてはなりません; 一般的に、平均して新しいブロックが10分ごとに回線網の若干のノードによって生産されるように、ターゲットは2016ブロックごとに回線網によって再調整されます。 この計算作業に対して鉱夫に補償するために、すべてのブロックの鉱夫はどこからともなく彼ら自身に12.5BTC を与える取引きを含む権利を与えられています。 さらに、もしいかなる取引きもそのアウトプットよりそのインプットでより高い貨幣単位の合計を持っているなら、その相違は「取引手数料」として同じく鉱夫に行きます。 ついでに、これは同じく(それによって)BTCが発行される唯一のメカニズムです。;起源状態はまったくコインを含みませんでした。

In order to better understand the purpose of mining, let us examine what happens in the event of a malicious attacker. Since Bitcoin's underlying cryptography is known to be secure, the attacker will target the one part of the Bitcoin system that is not protected by cryptography directly: the order of transactions. The attacker's strategy is simple:
もっと良く採鉱の目的を理解するために、悪意がある攻撃者のイベントでは何が起きるか吟味しましょう。 ビットコインの基礎をなす暗号が安全であることが知られていますから、攻撃者は直接暗号によって保護されていないビットコインシステムの1つの部分に目標を定めるでしょう:それはトランザクションのオーダーです。 攻撃者の戦略は下記の通り単純です:




posted by 平成アフィリエイトへの挑戦 at 10:30| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



The algorithm for checking if a block is valid, expressed in this paradigm, is as follows:

1.      Check if the previous block referenced by the block exists and is valid.

2.      Check that the timestamp of the block is greater than that of the previous blockfn. 2 and less than 2 hours into the future
ブロックのタイムスタンプが前のブロックfn. 2のそれより大きいことと将来に向けて2時間未満であるか調べること。

3.      Check that the proof of work on the block is valid.

4.      Let S[0] be the state at the end of the previous block.

5.      Suppose TX is the block's transaction list with n transactions. For all i in   , set  S[i+1]  =  APPLY(S[i],TX[i])   If any application returns an error, exit and return false.
TX がn個の取引を持つブロックの取引きリストであるとしよう。0...n-1の すべてのiために、S[i+1]  =  APPLY(S[i],TX[i])で、もしアプリケーションがエラーを返すなら、終了して、そして偽を返すこと。

6.      Return true, and register S[n] as the state at the end of this block.

Essentially, each transaction in the block must provide a valid state transition from what was the canonical state before the transaction was executed to some new state. Note that the state is not encoded in the block in any way; it is purely an abstraction to be remembered by the validating node and can only be (securely) computed for any block by starting from the genesis state and sequentially applying every transaction in every block. Additionally, note that the order in which the miner includes transactions into the block matters; if there are two transactions A and B in a block such that B spends a UTXO created by A, then the block will be valid if A comes before B but not otherwise.
本質的に、ブロックでのそれぞれの取引きが、取引きが実行される前に、規準的な状態であったものから若干の新しい状態まで妥当な状態遷移を提供しなくてはなりません。 状態がどんな面にしてもブロックにコード化されないことに注意を払ってください; それは純粋に妥当性を検査しているノードによって覚えていられる抽象概念であって、そしてただ、起源状態から始めて、そしてすべてのブロックで連続的にすべての取引きに応用することによって、どんなブロックででも(安全に)計算することができるだけです。 さらに、鉱夫がブロックに取引を含む順番が重要であることに注意を払ってください; もし、ブロックにBがAによって作成された UTXO を費やすような2つの取引AとBがあるなら、ブロックは妥当でしょう。もしAがBの前に来るなら、そうではないでしょう。




posted by 平成アフィリエイトへの挑戦 at 11:51| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



If we had access to a trustworthy centralized service, this system would be trivial to implement; it could simply be coded exactly as described, using a centralized server's hard drive to keep track of the state. However, with Bitcoin we are trying to build a decentralized currency system, so we will need to combine the state transition system with a consensus system in order to ensure that everyone agrees on the order of transactions.

Bitcoin's decentralized consensus process requires nodes in the network to continuously attempt to produce packages of transactions called "blocks". The network is intended to produce roughly one block every ten minutes, with each block containing a timestamp, a nonce, a reference to (ie. hash of) the previous block and a list of all of the transactions that have taken place since the previous block. Over time, this creates a persistent, ever-growing, "blockchain" that constantly updates to represent the latest state of the Bitcoin ledger.
ビットコインの分散合意プロセスは連続的に「ブロック」と呼ばれる取引のパッケージを生産しようと試みるため回線網でノードを必要とします。 回線網は前のものがふさぐおよそ10分ごと1つのブロック作るが、意図され、それぞれと一緒にタイムスタンプ、乱数、前のブロックへの参照基準(例えばハッシュ)と前のブロックから起きているトランザクションのすべてのリストを各ブロックは含んでいます。 長い間に、これはビットコイン元帳の最近の状態を表すためにいつも更新する絶え間なく、常に拡大する、「ブロックチェーン」を作ります。




posted by 平成アフィリエイトへの挑戦 at 10:42| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



The first half of the first step prevents transaction senders from spending coins    that do  not exist, the second half of the first step prevents transaction senders    from spending other people's coins,  and  the  second  step  enforces  conservation of value. In order to  use this for payment, the protocol is as follows. Suppose    Alice wants to send 11.7 BTC to Bob. First, Alice will look for a set of available UTXO that she owns that totals up to at least 11.7 BTC. Realistically, Alice will not be able to get exactly 11.7 BTC; say that the smallest she can get is 6+4+2=12.
第一ステップの前半は取引き送信者が存在しないコインを使うのを阻止し、第一ステップの後半は取引き送信者が他の人々のコインを使うのを阻止します。そして第二ののステップは価値の保護を実施します。 支払いのためにこれを使うために、通信プロトコールは次の通りです。 アリスがボブに11.7BTCを送ることを望むと考えてください。 最初に、アリスは最高少なくとも11.7BTCを合計する彼女が所有する利用可能な UTXO のセットを探すでしょう。 現実的に、アリスは正確に11.7BTCを手に入れることが可能ではないでしょう;彼女が受けとることができる最も小さいものが6 + 4 + 2 = 12であるとしよう。

She then creates a transaction with those three inputs and two outputs. The first output will be 11.7 BTC with Bob's address as its owner, and the second output will be the remaining 0.3 BTC "change", with the owner being Alice herself.
彼女はそれから、それらの3つのインプットと2つのアウトプットで取引きを創造します。 最初の出力はボブのアドレスでその所有者として11.7BTCでしょう、そして2番目の出力は、所有者がアリス自身であるという状態で、残っている0.3 BTCの「お釣り」となるでしょう。





posted by 平成アフィリエイトへの挑戦 at 10:33| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



Bitcoin As A State Transition System

From a technical standpoint, the ledger of a cryptocurrency such as Bitcoin can be thought of as a state transition system, where there is a "state" consisting of the ownership status of all existing bitcoins and a "state transition function" that takes a state and a transaction and outputs a new state which is the result. In a standard banking system, for example, the state is a balance sheet, a transaction is a request to move $X from A to B, and the state transition function reduces the value in A's account by $X and increases the value in B's account by $X. If A's account has less than $X in the first place, the state transition function returns an error. Hence, one can formally define:
技術的見地から、 ビットコインのような暗号通貨の元帳は状態遷移システムとして、考えられ、そこにはすべての既存のビットコインの所有権状況と状態や遷移を取り、その結果である新しい状態を出力する「状態遷移関数」から成る「状態」があります。 標準的な銀行システムで、例えば、その状態は貸借対照表で、取引きは $X をAからBに動かすために要求で、そして状態遷移関数は A の口座における価値をXドル減らして、そしてXドルだけBの口座における価値を増やします。 もし A の口座が最初にXドル以下しかないなら、状態遷移関数はエラーを返します。それ故、それは公式に下記のように定義することができます:

APPLY(S,TX)  ->  S'  or  ERROR

In the banking system defined above:

APPLY({  Alice:  $50,  Bob:  $50  },"send  $20  from  Alice  to  Bob")  =  {  Alice:

$30,  Bob:  $70  }


APPLY({  Alice:  $50,  Bob:  $50  },"send  $70  from  Alice  to  Bob")  =  ERROR




posted by 平成アフィリエイトへの挑戦 at 09:34| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



Introduction to Bitcoin and Existing Concepts


The concept of decentralized digital currency, as well as alternative applications like property registries, has been around for decades. The anonymous e-cash protocols of the 1980s and the 1990s, mostly reliant on a cryptographic  primitive known as Chaumian blinding, provided a currency with a high degree of privacy, but the protocols largely failed to gain traction because of their reliance on a centralized intermediary.
分散デジタル通貨のコンセプトは、財産レジストリのような代わりのアプリケーションと同様、何十年間もあり今に至ります。1980年代と1990年代の匿名の電子通貨プロトコル、主として Chaumian盲検化として知られている暗号の根源に依存し、高度のプライバシイを通貨に提供しましたが、しかしプロトコルは主として中央集権仲裁人に対する彼らの信頼故に牽引力を獲得し損ねました。

In 1998, Wei Dai's b-money became the first proposal to introduce the idea of creating money through solving computational puzzles as well as decentralized consensus, but the proposal was scant on details as to how decentralized consensus could actually be implemented.
1998年に、ウェイ ダイのb金銭は、分散コンセンサスと同様、コンピュータパズルを解くことを通じて、金銭を作成するという考えを紹介する最初のプロポーザルになりましたが、しかし、分散コンセンサスがどのように実際に実装できるだろうかについて、そのプロポーザルは詳細が不十分でした。

In 2005, Hal Finney introduced a concept of reusable proofs of work, a system which uses ideas from b-money together with Adam Back's computationally difficult Hashcash puzzles to create a concept for a cryptocurrency, but once again fell short of the ideal by relying on trusted computing as a backend.
2005年に、ハル・フィニーは再利用可能な仕事の証明の概念、アダムバックの計算上難しい Hashcash パズルと共に暗号通貨の概念を作るために、b金銭からアイデアを使うシステムを紹介するが、バックエンドとして信頼できる演算に依存することによって、もう一度理想に及びませんでした。

In 2009, a decentralized currency was for the first time implemented in practice by Satoshi Nakamoto, combining established primitives for managing ownership through public key cryptography with a consensus algorithm for keeping track of who owns coins, known as "proof of work".




posted by 平成アフィリエイトへの挑戦 at 11:52| 千葉 ☔| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする




  •  Financial derivatives and Stable-Value Currencies
  • Identity and Reputation Systems
  • Decentralized File Storage
  •  Decentralized Autonomous Organizations
  • Further Applications
  • •Miscellanea And Concerns
  • Modified GHOST Implementation
  • Fees
  • Computation And Turing-Completeness
  •  Currency And Issuance
  • Mining Centralization
  • Scalability
  • Conclusion
  •  Notes and Further Reading
  •  Notes
  •  Further Reading



posted by 平成アフィリエイトへの挑戦 at 09:50| 千葉 ☔| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする




•     Introduction to Bitcoin and Existing Concepts

◦     History

◦     Bitcoin As A State Transition System

◦     Mining

◦     Merkle Trees

◦     Alternative Blockchain Applications

◦     Scripting

•     Ethereum

◦     Philosophy

◦     Ethereum Accounts

◦     Messages and Transactions

◦     Messages

◦     Ethereum State Transition Function

◦     Code Execution

◦     Blockchain and Mining

•     Applications




posted by 平成アフィリエイトへの挑戦 at 09:08| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする



Commonly cited alternative applications of blockchain technology include using on-blockchain digital assets to represent custom currencies and financial instruments (colored coins), the ownership of an underlying physical device (smart property), non-fungible assets such as domain names (Namecoin), as well as more complex applications involving having digital assets being directly controlled by a piece of code implementing arbitrary rules (smart contracts) or even blockchain-based decentralized autonomous organizations (DAOs).

 What Ethereum intends to provide is a blockchain with a built-in fully fledged Turing-complete programming language that can be used to create "contracts" that can be used to encode arbitrary state transition functions, allowing users to create any of the systems described above, as well as many others that we have not yet imagined, simply by writing up the logic in a few lines of code.
 イーサリアムが供給するつもりであるものは、ユーザーがただ、少数のコード行でロジックを書き上げることによって、我々がまだ想像しなかった多くの他のものと同様、上記のシステムのいずれでも作ることを可能にする任意の公式の推移関数をコード化するために使うことができる「契約」を作るために使われることができる組み込みの完全なチューリング - 完全なプログラム言語があるブロックチェーンです。

usly has no backing or intrinsic value and no centralized issuer or controller. However, another - arguably more important - part of the Bitcoin experiment is the underlying blockchain technology as a tool of distributed consensus, and attention is rapidly starting to shift to this other aspect of Bitcoin.
2009年のサトシ・ナカモトのビットコインの開発は貨幣における急進的な開発としてしばしば歓迎されてきていますが、同時に裏打ちのない、あるいは本質的な価値を持たないデジタル資産の最初の例であり、中央集権の発行者や管理者はありません。 しかしながら、もう1つのビットコイン実験の − 多分いっそう重要 − 部分は、分散合意のツールとして基礎をなしているブロックチェーン技術です。そして関心は急速に Bitcoin のこの他の局面に移行し始めています。




posted by 平成アフィリエイトへの挑戦 at 09:08| 千葉 ☀| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする






Jump to bottom

James Ray edited this page 20 days ago ・ 174 revisions

A Next-Generation Smart Contract and Decentralized Application Platform

An introductory paper to Ethereum, introduced before launch, which is maintained.

Satoshi Nakamoto's development of Bitcoin in 2009 has often been hailed as a radical development in money and currency, being the first example of a digital asset which simultaneously has no backing or intrinsic value and no centralized issuer or controller. However, another - arguably more important - part of the Bitcoin experiment is the underlying blockchain technology as a tool of distributed consensus, and attention is rapidly starting to shift to this other aspect of Bitcoin.
2009年のサトシ・ナカモトのビットコインの開発は貨幣における急進的な開発としてしばしば歓迎されてきていますが、同時に裏打ちのない、あるいは本質的な価値を持たないデジタル資産の最初の例であり、中央集権の発行者や管理者はありません。 しかしながら、もう1つのビットコイン実験の − 多分いっそう重要 − 部分は、分散合意のツールとして基礎をなしているブロックチェーン技術です。そして関心は急速に Bitcoin のこの他の局面に移行し始めています。

posted by 平成アフィリエイトへの挑戦 at 09:33| 千葉 🌁| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする


Infuraが イーサリアムインフラストラクチャー秘密の武器である理由(1)

Why Infura is the Secret Weapon of Ethereum Infrastructure
Infuraが イーサリアムインフラストラクチャー秘密の武器である理由


A blockchain venture production studio building decentralized applications on Ethereum. Go to www.consensys.net and subscribe to our newsletter.イーサリアムの分散アプリケーションを分散構築ブロックチェーンベンチャー製造スタジオ。 www.consensys.net に行って、我々のニューズレターを購読してください。

Apr 28

Find out how platforms like Metamask, CryptoKitties, Status, and UJO all utilize Infura for scalable blockchain solutions

Metamask 、 CryptoKitties、Status及びUJO のようなプラットホームが、すべて拡大縮小可能なブロックチェーン解決のために Infura をどのように利用するか見つけだしてください




posted by 平成アフィリエイトへの挑戦 at 08:56| 千葉 ☔| Comment(0) | イーサリアム | このブログの読者になる | 更新情報をチェックする