Bitcoin Forum
May 07, 2024, 11:18:51 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Смарт контракты: Эфир, Биткоин, Биткоин Кэш  (Read 183 times)
bomj (OP)
Sr. Member
****
Offline Offline

Activity: 1337
Merit: 288


0xbt


View Profile WWW
January 14, 2020, 06:47:03 PM
Last edit: January 15, 2020, 11:01:30 PM by bomj
Merited by Symmetrick (2)
 #1

Прелюдия)))
Набрел сегодня на незнакомый мне ресурс TheCoinRepublic, где нашел небольшую обзорную статью
о Смарт контрактах Эфира, Биткоина и Биткоин Кэша.
(конечно же Смарт Контракты есть и у других криптовалют, и там свои тонкости)))
Возможно она пригодится...
И если есть в данной статье какие-то серьезные ошибки при переводе или несогласие с автором,
тем более интересно об этом узнать.



Смарт контракты: Эфириум против Биткоина, против Биткоин Кэша.
(Smart Contracts: Ethereum Vs Bitcoin Vs Bitcoin Cash)  




  • Ethereum намного опередил Биткойн с точки зрения полного интеллектуального контракта по Тьюрингу.
  • Биткойн использует Биткойн-скрипт для создания необходимых соглашений.
  • Bitcoin Cash также работает над улучшением своих умных контрактных функций.

Ethereum значительно опережает Биткойн в том, что касается полного смарт-контракта Тьюринга, хотя Биткойн использует Биткойн-скрипт для создания необходимых соглашений. Bitcoin Cash также работает над улучшением своих умных контрактных функций.

Все эти платформы имеют свои методы и преимущества. Эта статья призвана понять заметные различия между их функционированием и особенностями:

Ethereum:

Ethereum, крупнейшая платформа для интеллектуальных контрактов, реализована с использованием виртуальной машины Ethereum ( EVM ), которая может рассчитывать что угодно, когда доступно достаточно ресурсов. Код быстрого контракта этой полной виртуальной машины Тьюринга выполняется всеми узлами Ethereum, что обеспечивает правильность транзакции.

В качестве награды, все коды операций Ethereum имеют свои затраты на газ, которые оплачиваются в ETH . «Предел блокировки газа» используется для ограничения количества вычислений, которые выполняет каждый узел. Контракт хранится в 3 разных местах данных во время реализации - стек, память контактов и, в конечном итоге, хранилище контактов.

Несколько языков высокого уровня, таких как Solidity, используются для написания умных контрактов. Vyper используется для EVM. Ethereum предоставляет два различных способа взаимодействия со смарт-контрактами: с помощью процесса вызовов «только для чтения» и реальной операции записи транзакций.

Другая особенность заключается в том, что, хотя интеллектуальные контракты могут взаимодействовать друг с другом, им требуется внешняя учетная запись для запуска транзакции. Полный EVM Turing и постоянное хранилище Ethereum помогают в создании децентрализованного приложения, работающего на блокчейне .

Bitcoin

Биткойн использует язык программирования на основе стека ScriptScript для поддержки всех своих транзакций. Эти стеки используются для хранения значений и выполнения вычислений.

Здесь есть только одно расположение данных по сравнению с тремя в Ethereum, что затрудняет хранение нескольких значений и их изменение во время исполнения контракта. Это самая значительная разница между умными контрактами двух платформ. Эфириум с состоянием, а Биткойн без гражданства.

Кроме того, скрипт Биткойн не может поддерживать определенные функции и имеет максимальный предел размера 520 байт и может содержать максимум 2091 opcodes(не понятно, что имел в виду автор под цифрой - 2091 опкодов). Умные контракты в Биткойне относятся к нескольким простым типам контрактов, таким как HTLC или мульти-подпись.

Каждая транзакция осуществляется через «вывод транзакции». Когда они доступны в учетной записи, они называются неиспользуемыми выходными данными транзакции (UTXO), которые блокируются скриптом блокировки или scriptPubKey. Умный контракт написан с использованием модели P2H.

Биткойн уделяет меньше внимания использованию языков высокого уровня, и хотя сам ScriptScript сложен, язык, на котором они написаны, прост. Плющ(Ivy) - это самый изысканный «высокий уровень языка».
(ранее на толке обсуждался еще один язык - Miniscript)
Биткойн в настоящее время работает над созданием абстрактной сложности.      

Биткойн Кэш

Денежные средства в биткойнах направлены на то, чтобы сделать умные контракты более полезными, сохраняя при этом основные атрибуты биткойнов и позволяя выполнять проверку без сохранения состояния. Bitcoin Cash выпускает двухгодичные обновления, которые обычно выпускаются в мае и ноябре.

Благодаря этому появилось много улучшений, таких как подписи Шнорра. Разработчики Bitcoin Cash решили проблемы небезопасных кодов операций и сделали возможным кодирование и декодирование структурированных данных.

Другое обновление, OP_CHECKDATASIG, помогло пользователям проверить подпись любого сообщения в Биткойн-скрипте. В настоящее время он работает над двумя крупными проектами Spedn и CashScript. Эти инструменты находятся в стадии разработки и упрощают обработку умных контрактов.


Автор: Steve Anderrson
Оригинал статьи:
https://www.thecoinrepublic.com/smart-contracts-ethereum-vs-bitcoin-vs-bitcoin-cash/






1715123931
Hero Member
*
Offline Offline

Posts: 1715123931

View Profile Personal Message (Offline)

Ignore
1715123931
Reply with quote  #2

1715123931
Report to moderator
The Bitcoin network protocol was designed to be extremely flexible. It can be used to create timed transactions, escrow transactions, multi-signature transactions, etc. The current features of the client only hint at what will be possible in the future.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715123931
Hero Member
*
Offline Offline

Posts: 1715123931

View Profile Personal Message (Offline)

Ignore
1715123931
Reply with quote  #2

1715123931
Report to moderator
1715123931
Hero Member
*
Offline Offline

Posts: 1715123931

View Profile Personal Message (Offline)

Ignore
1715123931
Reply with quote  #2

1715123931
Report to moderator
igor72
Legendary
*
Offline Offline

Activity: 1834
Merit: 2018


Crypto Swap Exchange


View Profile
January 15, 2020, 09:25:44 PM
 #2

Кроме того, скрипт Биткойн не может поддерживать определенные функции и имеет максимальный предел размера 520 байт и может содержать максимум 2091 opcodes(OP_коды).
Насколько я знаю, 520 байт - это для старых P2SH-транзакций, для сегвит этот предел больше - то ли 3600, то ли 10000 байт.

А вот что это за 2091 опкод, первый раз слышу, кто-нибудь может пояснить?

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
SS31337
Full Member
***
Offline Offline

Activity: 314
Merit: 108


View Profile
January 15, 2020, 10:18:06 PM
Last edit: January 15, 2020, 10:31:48 PM by SS31337
Merited by suchmoon (7), igor72 (1), Symmetrick (1)
 #3

Кроме того, скрипт Биткойн не может поддерживать определенные функции и имеет максимальный предел размера 520 байт и может содержать максимум 2091 opcodes(OP_коды).
Насколько я знаю, 520 байт - это для старых P2SH-транзакций, для сегвит этот предел больше - то ли 3600, то ли 10000 байт.

А вот что это за 2091 опкод, первый раз слышу, кто-нибудь может пояснить?
ну статья какая-то страннаяSmiley
думаю воспринимать ее серьезно не стоит

нет такого опкода как "2091", скорее всего имеется ввиду их максимальное количество если исключить "9"? Smiley
тут квест по тексту еще тот..

да там лимит в 10000, но на стек элемент должен быть меньше 520

там что-то типа такого:

Code:
// Maximum number of bytes pushable to the stack
static const unsigned int MAX_SCRIPT_ELEMENT_SIZE = 520;

// Maximum number of non-push operations per script
static const int MAX_OPS_PER_SCRIPT = 201;

// Maximum number of public keys per multisig
static const int MAX_PUBKEYS_PER_MULTISIG = 20;

// Maximum script length in bytes
static const int MAX_SCRIPT_SIZE = 10000;

// Maximum number of values on script interpreter stack
static const int MAX_STACK_SIZE = 1000;
bomj (OP)
Sr. Member
****
Offline Offline

Activity: 1337
Merit: 288


0xbt


View Profile WWW
January 15, 2020, 11:14:46 PM
 #4

максимум 2091 opcodes
Так же не знаю, что подразумевал автор, поэтому оставил, как есть и внес дополнение об этом в его статью.
Об авторе написано, что он трейдер и является редактором сего ресурса.
Так что редактируйте ее дальше)), чтобы иметь свой реальный ознакомительный обзор.


igor72
Legendary
*
Offline Offline

Activity: 1834
Merit: 2018


Crypto Swap Exchange


View Profile
January 16, 2020, 06:44:36 AM
 #5

нет такого опкода как "2091", скорее всего имеется ввиду их максимальное количество если исключить "9"? Smiley
тут квест по тексту еще тот..
Точно, скорее всего там опечатка с девяткой.
Quote
да там лимит в 10000, но на стек элемент должен быть меньше 520
Не совсем понимаю, что это значит. Нашел, например, вот такой текст, выделено мной:
Quote
There is a default policy limit for the witnessScript at 3600 bytes. Except the witnessScript, there could be at most 100 witness stack items, with at most 80 bytes each. Transactions excessing these limits may not be relayed nor included in a block
Many of the original scripts consensus limitations, such as 10000 bytes script size, 201 nOpCount, are still applied to P2SH-P2WSH
The 520 bytes script size limit for P2SH is not applicable to P2SH-P2WSH. It is replaced by the 3600 bytes policy limit and 10000 bytes consensus limit.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
SS31337
Full Member
***
Offline Offline

Activity: 314
Merit: 108


View Profile
January 16, 2020, 11:55:51 AM
Merited by bomj (1), Symmetrick (1)
 #6

да, все правильно вы пишите, я выше не полную инфу указал
ну как старых) сегвит на половину где-то только работает https://www.segwit.space/
https://github.com/bitcoin/bitcoin/blob/0.19/src/script/script.h
для сегвита полиси тут - https://github.com/bitcoin/bitcoin/blob/0.19/src/policy/policy.h

там как раз указаны эти дефайны:
Code:
static const unsigned int MAX_STANDARD_P2WSH_STACK_ITEMS = 100;
/** The maximum size of each witness stack item in a standard P2WSH script */
static const unsigned int MAX_STANDARD_P2WSH_STACK_ITEM_SIZE = 80;
/** The maximum size of a standard witnessScript */
static const unsigned int MAX_STANDARD_P2WSH_SCRIPT_SIZE = 3600;
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!